Magic Mailing List |
|
From: Mikael Sahrling (sahrling AT pacbell DOT net) Date: Wed Mar 28 2001 - 16:16:16 EST
Hello, I recently downloaded and installed 7.1 and although I had some initial problems with scheme, Rajit helped me out greatly. I believe this version of magic is greatly improved over the earlier versions, not least the scheme interpreter!! Very nice. There are a couple of things that still drive me nuts occasionally, no doubt most of them is due to my own misunderstandings: 1) drc-section, seems to need improvement. I've had the misfortune of working with a technology that requires ~300 design rules most of which are of the type: "If layer A touches layer B but do not touch layer C the distance to D needs to be ...". There are other awkward rules too. It appears difficult to implement these rules with magic as it is. It would be useful to have operators on the various magic types that can perform simple things like joining, excluding, etc.. Similar to the way diva does things. Maybe, this is remarkably difficult with magic's architecture. 2) input/output stream. One of the technologies we're working with have a grid-size of 0.025 microns. This will not work with the cifinput/output scale of centimicrons. Instead I changed the cif/calma source code to support millimicrons instead. My suggestion is to change the scale to millimicrons. 3) input from other tools. When you read into magic a stream-file generated by other tools such cadence it works fine except for wires in 45-degrees angle. If such a wire is x microns wide it turns out to be x*sqrt(2) wide in magic. This is, as I recall now, because magic puts down squares with a side of x micron in a staircase. I fixed that in my copy here, and I suggest this is fixed in the (un)official version too. 4) snapping to grid. The problem I have with this section is wire-routing. If the minimum wire size and pitch of metal1 is 0.6 microns and for other metals 0.8 microns, and my grid size is set to 0.8 microns, routing metal1 will leave the metal1 touching either the north side of the grid or the south side of the grid, and as soon as you change routing layer the via ends up off grid. I'd prefer the routed wires to be routed on top of the grid lines, this way metal1 in the case mentioned above will always be centered correctly. This appears to be easy to fix? 5) cell selection. I haven't been able to figure out how to select all cells of a certain kind. If I have 50 cells named, cell_0 ... cell_49 and I'd like to select them all I have to click all of them individually. I'd like to have some kind of wild-card input so you can type: "sel cel 'cell_*'" and get all of them selected. Well this is couple of things that drives me nuts occasionally. Does anyone have any comment? Mikael Sahrling
|
|