MAGIC Magic Mailing List
 
 

From: Mikael Sahrling (sahrling AT pacbell DOT net)
Date: Wed Mar 28 2001 - 16:16:16 EST

  • Next message: R. Timothy Edwards: "A whole slew of magic enhancements"

    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
    


  •  
     
    Questions? Contact Rajit Manohar
    cornell logo