MAGIC Magic Mailing List
 
 

From: Jeff Sondeen (sondeen AT ISI DOT EDU)
Date: Mon Mar 24 2003 - 16:12:17 EST

  • Next message: R. Timothy Edwards: "Re: Euclidean DRC in magic"

    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
    


  •  
     
    Questions? Contact Rajit Manohar
    cornell logo