Hello Luke,
Next question, are netlists shown in tracer lines? And, can nets be assigned to the cells loaded from other magic files, such that when moving the cell about the tracers of unrouted nets will follow? That is standard behaviour from PCB layout and it is unbelievably useful for doing floorplans and placement of cells.
I have never coded anything to draw flylines, but it is easy to do with the "element add line" command; see, e.g., tcltk/tools.tcl which uses the feature to draw measurement rulers on the layout.
However, Magic uses the concept of "paint", not of "objects", so it doesn't have a way to attach, say, a net name to a piece of geometry. But that could be handled by placing labels for the nets and drawing flylines between the labels. There would need to be a systematic way to tell the routine which labels to connect (e.g., "net1_a", "net1_b", or something like that, except better thought-out to avoid colliding with real net names), and a routine to draw the flylines and avoid drawing flylines where the labels are on the same net (only one of the labels can be accepted as "the" name of the net, so a combination of "goto", "select" and "what -list" can be used to check which nets are already connected).
The traces give you a feel for the optimal location of the cell, as once all the traces look like they are equidistant from everything else it is connected to, you probably got the placement just about right :)
oink? then how does anyone know if a net hasn't been connected... or where to route it?? Does Not Compute :)
Ever heard of LVS??
Anyway, unless you think your intuition is better than an algorithmic computation, and can juggle thousands of constraints in your head, then you're better off with automatic placement using timing and/or wire length for optimization.
Regards, ---Tim
+--------------------------------+-------------------------------------+ | R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design | web: http://opencircuitdesign.com | | 19601 Jerusalem Road | phone: (240) 489-3255 | | Poolesville, MD 20837 | cell: (408) 828-8212 | +--------------------------------+-------------------------------------+