MAGIC Magic Mailing List
 
 

From: R. Timothy Edwards (tim AT stravinsky DOT jhuapl.edu)
Date: Wed Oct 22 2003 - 17:28:26 EDT

  • Next message: Philippe Pouliquen: "RE: pseudo-resistor layers"

    Dear Steve,
    
    > I have investigated your suggestion and deemed it an ugly kludge. It is
    > only to be surpassed by the horrible, ugly kludge that I would have to
    > put in place to clean it up.
    
       I rewrote the extraction methods in 7.2 mainly to get around the ugliness
    of the pseudo-resistor layer hack and similar things.  To make use of the
    more sensible method requires magic 7.2 plus a statement in the technology
    file extract section "device resistor <name> <resistor_types> <terminal_types>"
    for which magic extracts an appropriate resistor device with length and
    width, or "device resistor None <resistor_types> <terminal_types>", which
    simply calculates the length and width and dumps a resistor with the
    appropriate resistance to the spice deck.  Possibly it's the fact that
    SPICE has two ways of declaring resistors (using a model, with length and
    width, and model-less, with just connections and resistance) that magic
    didn't (originally) use the resistclass information to directly compute
    the resistance.
    
    > Is the pseudo-layer --really-- needed to identify the entire area which
    > needs to be lumped into the pseudo-fet?
    
    No, only because of the way the "fet" records are constructed in the
    technology file.  The "device resistor" requires only a type name for
    the resistor (e.g., "rpoly") and a type name for the supposed ends of the
    resistor (e.g., "poly").
    
    > Is this the reason why a sim file is needed before ;extres works?
    
    No, the reason that a .sim file is required prior to doing extres is that
    magic has no knowledge of the netlist connectivity of a circuit prior to
    extraction, and doesn't maintain any of this information in the database.
    So the extraction generates the netlist, and extresist uses the netlist
    to determine useful things like the direction of current flow, so that
    it can (more) accurately model networks of resistors.
    
    > Idle thoughts on how to accomplish this without breaking the technology
    > file, the ext file format, and everyone's designs...
    
    Note that the above method used in version 7.2 does indeed break both the
    technology file format (which I therefore advanced from version 27 to
    version 28) and also the .ext file format (which is probably safe because
    nobody uses the format other than magic, that I'm aware of).  But I have
    run the version 7.2 extresist on layouts generated under 7.1 without
    everything collapsing.
    
    I don't really like the idea of depending on label tags for things that
    magic ought to figure out by itself;  in particular, it should not be
    necessary to depend on "extresist" to pick out which resistors were
    planned in the design and which weren't.  You seem to be pretty adept
    at using "extresist", though, so you may have motives other than just
    using it to get around the problem of declaring resistors in your
    layouts.
    
    						Regards,
    						Tim
    


  •  
     
    Questions? Contact Rajit Manohar
    cornell logo