[Magic-dev] Re: magic-7.3 extraction ...
R. Timothy Edwards
tim at multigig.com
Wed Jun 29 14:10:48 EDT 2005
Dear Alan,
> I have been using the latest version of magic7.3 and I have been
> extracting (using :ext & :exttospice) with the :exttospice format set to
> hspice. When it extracts I get geometries scaled in lambda (which is
> what I really want).
>
> Today I attempted to extract and just happened to notice that the scale
> factor was set to 0.01u ?? The device geometries were very large and
> this was the correct scale factor. I could not figure out what was
> happening or what to change so I exited magic, restarted it, reset the
> extraction parameters and it was back to scaling by 0.3 ...
There is a line in the .ext file "scale <a> <b> <c>", where <c> is the
item of interest. The <c> value is interpreted as "units per lambda"
linear scaling for all lengths in the extract file.
The ".option scale" line in the hspice deck is effectively this number
divided by 100.
The original number comes from the techfile, section "extract", for
lines "lambda <c>". For my 0.18um tech files, I have in the extract
section "lambda 9", corresponding to a scale factor of 0.09u in the
hspice deck.
I looked at the code and determined that if you read a .ext file that
has a different scale factor from the current technology file, the
internal scale factor gets set to 1, which would cause the hspice
output to show a scale factor of 0.01u. So, for example, if you
ran magic on your subm.30 techfile, extracted a circuit, quit magic,
brought up magic again with the default techfile, then ran ext2spice,
you would get what you saw.
I did this because previously, ext2spice ran independently of magic.
It could not make use of any information in the technology file, only
what was saved in the .ext file. It became the responsibility of
the end-user to pass all sorts of cryptic information about the
technology to the ext2spice command line. By keeping ext2spice
internal to the magic executable, ext2spice can use everything it
knows about the technology file. But, if it reads a .ext file and
discovers that the values don't match the current technology, then
it reverts to a sort of "safe" mode where it assumes nothing about
the technology that isn't in the .ext file itself. Part of this
process is what causes it to change the scale from lambda to
centimicrons.
And yes, this behavior isn't documented. Some day I'm going to have
to take a sabbatical to get the documentation up to date with the
code. . .
Regards,
Tim
+--------------------------------+-------------------------------------+
| Dr. R. Timothy Edwards (Tim) | email: tim.edwards at multigig.com |
| MultiGiG, Inc. | web: http://www.multigig.com |
| 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 |
| Scotts Valley, CA 95066 | cell: (240) 401-0616 |
+--------------------------------+-------------------------------------+
More information about the magic-dev
mailing list