[comp.lsi] Magic extraction

loinaz@dsl.cis.upenn.edu (Marc J. Loinaz) (02/20/88)

Does anyone know of any post-processing software available to correct the
problems with Magic's extractor?  In particular, the extractor will
occasionally flip the source and drain of a transistor.  We are currently
using the 1986 Berkeley VLSI Design Tools.  Thanks in advance.

loinaz@dsl.cis.upenn.edu
devetzis@moses.bellcore.com

spp@zabriskie.uucp (Steve Pope) (02/21/88)

>Does anyone know of any post-processing software available to correct the
>problems with Magic's extractor?  In particular, the extractor will
>occasionally flip the source and drain of a transistor.

Excuse my ignorance, but why is this considered a problem?
MOSFET's were symmetrical devices last I checked...

steve

devetzis@dsl.cis.upenn.edu (Taso N. Devetzis) (02/23/88)

>>Does anyone know of any post-processing software available to correct the
>>problems with Magic's extractor?  In particular, the extractor will
>>occasionally flip the source and drain of a transistor.

>Excuse my ignorance, but why is this considered a problem?
>MOSFET's were symmetrical devices last I checked...


We are well aware that MOS transistors are symmetrical devices.  The problem
lies in the connection of the bulk contacts.  The magic extractor will connect
all NMOS bulks to one node and all PMOS bulks to one node (as specified by the
'defs' file for sim2spice -- for scmos the nodes are named 'NMOS' and 'PMOS'
for 'n' transistors and 'p' transistors respectively).  Given an extracted
SPICE deck, our procedure is to make all bulk connections as specified by our
layout.  If no drain-source swaps have occured, this is simply a matter of
going through the SPICE deck and connecting each transistor's bulk to its
source or to a power rail as the case may be to minimize body effect, prevent
latchup, etc..  This may not be a problem for digital circuits in which all
NMOS transistor bulks are connected to GND and all PMOS bulks are connected to
Vdd.

But in an analog circuit, for example, when you want a transistor which is in
it's very own p-well to have its source connected to this well (i.e. Vsb = 0), 
the extractor's arbitrary flipping of sources and drains could result in this
well being connected to the wrong node.  You cannot not be sure whether you are
connecting the bulk to the source or to the drain.  If you were sure that the
extracted SPICE deck did not contain any flipped transistors, the bulk could
simply be connected to the source as specified in the transistor card making
Vsb = 0, and the final deck would be an accurate representation of your layout.
If you didn't know if the transistor was flipped, you wouldn't know whether to
connect the bulk to the drain as specified in the SPICE transistor card or to
the source as specified in the SPICE transistor card in order to make Vsb = 0.
To be sure where to connect the bulk, you would have to reconstruct the circuit
from the extracted SPICE deck and then see which is the node you really want to
connect the bulk to.

The bottom line is this then:  It would be absolutely smashing if software
existed that would just unflip all flipped transistors in the SPICE deck such
that if you reconstructed the circuit from the SPICE deck, it would look
exactly like our schematic.  This software would then guarantee a SPICE deck
with no flipped transistors and it would be simple to make a Vsb = 0
connection.

We have come up with an algorithm that we believe will determine whether a
transistor in a SPICE deck is upsidedown (flipped) or not, and  we will code
it if nothing else is available.

Marc J. Loinaz     
Taso N. Devetzis   
Moore School of Electrical Engineering
University of Pennsylvania		
Philadelphia, PA  19104

ARPA:  {loinaz,devetzis}@dsl.cis.upenn.edu
       devetzis@moses.bellcore.com

spp@zabriskie.uucp (Steve Pope) (02/24/88)

Having read Marc and Taso's explanation of their magic
extraction problem, it seems the root of the problem lies
in the fact that magic does not really treat the mosfet's
as four-terminal devices when it extracts.  The node
of the substrate terminal has to be inferred from side 
information if it is needed for verification.  In some cases, 
this side information is dependent on "correct" assignment 
of source and drain.

Any other analog magic designers out there?

steve

floyd@sol.PRC.Unisys.COM (Floyd Miller) (02/24/88)

Magic's extractor, like Mextra, supports transitor attributes
which are labels with special syntax attached to the drain source or
gate of the device.  These attributes are also passed from the .ext
file to the .sim file by ext2sim (at least my version does this).

Using these attributes and modifications to Esim I have been able to
have the simulator attach specified transitor nodes other than as it
appears in the layout or ignore a transitor completely (as may be
needed to get around simulation problems).  

The same technique could be used in a pre spice processor to recognize
certain attributes that could specify which transistor node should really
be the drain and even where the substrate node should be connected in the
spice model.