[Xcircuit-dev] Cadence DFII to XCircuit translator
Satya Mishra
snmishra at hotpop.com
Wed Jul 19 06:20:09 PDT 2006
Dear Tim,
R. Timothy Edwards wrote:
> I made a great deal of headway with an EDIF-to-XCircuit translator, which
> I can now use to port Cadence schematics to XCircuit (I don't have the
> process going the other way, yet). The newest version (3.6.42) has the
> Tcl script for EDIF reads in the "File" menu. From Cadence ICFB, I just
> need to do "File->Export->EDIF 200...", choose the schematic view of the
> cell I want, and otherwise accept the defaults.
>
> I did a Skill dump with dbWriteSkill() that looks something like the
> following:
>
> dbWriteSkill(dbOpenCellView("lib" "cell" "schematic") "filename" "a"
> "4.4.3")
>
> but the output is inscrutable with references to database hex addresses,
> stuff like:
>
> dbD_0xd51b9e0 = dbCreateNet(dbD_0xca17c2c "downn" nil)
>
The hex names are just variable names. The Skill file is fairly simple
actually and most operations in it map to XCircuit concepts.
> The EDIF output seems to be much more thorough (e.g., it produces all
> of the information necessary to draw each of the library components).
I think dbWriteSkill is at least as thorough as EDIF (I haven't done any
tests to prove this) as the program generated by it can reproduce the
schematic (or any other database) exactly.
> Am I missing something in the Skill output? I get the feeling I would
> have to separately dump each library with a dbWriteSkill() call. I did
Actually, you would have to do dbWriteSkill for each cell view. But
Skill is a decent enough programming language. So a short program will
do that for you.
> notice that not everything in Cadence translates perfectly through EDIF;
> for example, the voltage and current sources are drawn with ellipses,
> which EDIF (at least not EDIF 2.0.0) doesn't support. I also couldn't
> figure out how the instance properties relate to the text that shows
> up in the Cadence schematic---it dumps a bunch of text lines with
> text values like "cdsParam(1)", where it is clear from looking at the
> schematic that the device width (for example) gets substituted there,
> but this cannot be derived from anything in the EDIF output.
cdsParam is a skill function that translates to the parameters defined
for display in the CDF (component description format) of the cell at
runtime.
It is interesting how two people can find different things to be
inscrutable. I found the EDIF format rather complicated for my taste.
Lisp is far more straight forward for me.
On my end, I have been working on the Skill to TCL converter off and on
for a few weeks. Right now, I am stuck with trying to find mapping
between the concepts of libraries in Cadence and XCircuit. DFII has the
Cells in Libraries and Views within Cells. Correct me if I am wrong, but
XCircuit only has objects in numbered library pages. I haven't yet
figured out how to make an instance of an object in a library known only
by name using XCircuit TCL. If you can give me some pointers in that
regard, I think I can get further along in the translation process.
Satya
More information about the Xcircuit-dev
mailing list