3

I'm messing around with using Sugiyama's directed graph layout algorithm to generate nice plots of verilog circuits. The problem I'm having is that the layout algorithm assumes that each block (or vertex) has only one input or output edge. But real circuits can have blocks that have multiple input and output connections, which ideally remain in a fixed order.

I was thinking of adding extra vertexes for each input, but somehow treating all the vertices connected to one block as a unit - in Python, something like [ [a.in], [b.in], [c.in1, c.in2] ] where c is a block with 2 inputs. The list would be flattened when building the connection matrices between layers.

Am I on the right track? Is there an easier way to do this? Can you point me to any resources which will help me extend Sugiyama's algorithm to deal with such blocks?

Marty
  • 6,494
  • 3
  • 37
  • 40
  • I vaguely remember using Sugiyama's with more than one input/output, but I could be wrong. Can you write down a pointer to the alg logic you are using to refresh my memory? – Dr. belisarius Jul 17 '10 at 03:45
  • I've been using Sugiyama's paper directly, but this powerpoint [http://www.cs.usyd.edu.au/~visual/comp4048/slides03.ppt here] describes it as well. – Marty Jul 17 '10 at 15:20
  • Thanks for the pointer, but now I am not sure to understand your problem. Could you add a drawing? – Dr. belisarius Jul 19 '10 at 12:29

0 Answers0