Magic Mailing List |
|
From: Jeff W. Sondeen (sondeen AT rcf-fs DOT usc.edu) Date: Wed Apr 05 2000 - 11:15:00 EDT
> >When we (Tim and I) incorporate all the current changes to magic, test > >it on a few platforms, grab the new tech files, make a release (I'm > >going to try and automate most of this), ask for help/input :), etc > >etc. we plan to send e-mail to <magic-dev AT csl DOT cornell.edu>. The people > >listed above are currently members of magic-dev AT csl DOT cornell.edu. > > Just a couple of caveats regarding the mosis supplied tech files: > 1) These tech files use a plane per metal and via. Although this eases > the job of the tech file developer is probably not the best thing to do > since it uses a lot of memory. well, i believe that each metal layer *must* be on it's own plane, so the issue is contacts to metal. the new techfiles have both traditional contacts, where each resides on the same plane as the metal it connects to (eg. layer 'm2c' resides on the metal2 plane), as well as new (named "generic") contacts and vias (gc, gv1, gv2, etc.), which do reside on their own plane. the main need for these is to read cif/cal files that contain contacts (in subcells) which aren't covered by upper and lower metals: traditional magic misses these (as it has no way to represent them). they also allow the ability to check your chip prior to submission by reading in the cif in a manner more like mosis would read it (cif input style lambda=*(cps)), so you can see if the generated cif contains any contact errors (but this is sort of limited since magic still snaps the layout onto a lambda grid, while mosis only snaps to a half-lambda grid). anyway, it isn't the number of *planes* that slows down magic, it's the number of *types*. in tsmc's 6-metal process with an additional metal layer called MiM (metal-insulator-metal), there are about 180 magic layers (types) plus the 20 or so built-in ones; so magic has to allow 225 types, while many layer operations go as #types**2 and even some go as #types**3. it would be nice if magic didn't use macros to implement its type operations (see database/database.h), rather use function calls (and let gcc optimize them), so that you would only "pay" for the number of types that the techfile uses (so magic would be much faster with techfiles that use few types, while still being able the handle the big ones). by the way, i updated the set of "header" files (see ftp://ftp.isi.edu/pub/sondeen/magic/new/README ) placed on ftp://ftp.isi.edu/pub/sondeen/magic/new/beta/examples/*.h or just get ftp://ftp.isi.edu/pub/sondeen/magic/new/beta/examples/headerfiles.tar.gz they now have the 225-type limit needed for SCN6M_*.tech27 > 2) There is a bug in the files which they never fixed: nnd connects to pdiff > and ppd connects to ndiff. In real silicon this is a zener diode but > given > these techfiles magic treats it as a perfect short. believe me, since i learned this first hand (read that, chip failure), the "diode" between ohmic and diffusion *is* a short in all *silicided* processes; silicide is metal put into the diffusions to lower the resistance. it does it so well that in some of HP's standard library cells, there're no actual contacts to ohmics which abut diffusion (rather the contact to diffusion is enough for both). > I don't know if you guys have time to fix issue #1 above but if you plan on > releasing the techfiles along with magic you should at least fix #2. > > > > -- Stefanos
|
|