Magic Mailing List |
|
From: Jeff Sondeen (sondeen AT ISI DOT EDU) Date: Mon Mar 24 2003 - 16:12:17 EST
Philippe Pouliquen writes: > > > On Sun, 23 Mar 2003, Jeff Sondeen wrote: > > > > but this won't address the diagonal spacing drc rule problem, eg. if > > contact spacing is 3 lambda, an array of contacts spaced diagonally > > apart by (2,3) lambda will meet it (since sqrt(9+4) > 3) but magic will > > require (3,3) spacing. > > The case for contacts is a bit confusing because Magic tech files usually > include the metal overlap in the contact tile. So let's stick with normal > layers such as the metal layers. > by the way, in the case of the Tanner files, if i recall correctly, magic cannot create symbolic contacts since there's no metal in any of the Tanner contact/via cell instances, so let's indeed stick with metal. > If the metal spacing is supposed to be 4, then two squares of metal > diagonally apart by (3,3) will satisfy the spacing rule using euclidean > distance, but not Manhattan distance. > > But if the spacing is supposed to be 3 (or less), then it is not possible > to place two squares of metal diagonally apart by (x,y) where either x or > y are integers less than 3, because the euclidean distance will also be > less than 3. > > In principle, the tech file can be re-written to deal with small diagonal > distances of 4 or 5. The idea is to break the spacing rule back down > into its component edge rules, and then make the corner extension > distance (cornerDist) different from the spacing (d) (see pages 27 to 31 > in maint2.ps). > > For a spacing of 4, you would need to special case the position (3,3) as > follows: > > Start with the following rule: > > spacing m2 m2 4 touching_ok \ > "Metal 2 spacing must be at least 4" > > Magic implements this as: > > edge m2 space/metal2 4 space/metal2 space/metal2 4 \ > "Metal 2 spacing must be at least 4" > > In the above rule, cornerDist = d = 4. Change the rule into the > following two rules: > > edge m2 space/metal2 4 space/metal2 space/metal2 3 \ > "Metal 2 spacing must be at least 4" > edge m2 space/metal2 3 space/metal2 space/metal2 4 \ > "Metal 2 spacing must be at least 4" > this is marvelous, but i'm not sure it would work. i think magic will throw away the 4-lambda spacing of the first line when it sees the 3-lambda spacing of the second line (and likewise with the diagonals). i'll keep this in mind tho when i get back to magic techfiles. thanks, /jeff
|
|