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.