<@U01SBMJT5BP> Do you know what the status of Xyce...
# xyce
m
@User Do you know what the status of Xyce with the sky130 pdk models is? I'm now trying to use it in sky130 instead of my other technologies but get issues just reading the libraries.
Netlist error: syntax error in expression {9.8286e-01$Units:farad/meter^2}
...
Netlist warning in file
/software/PDKs/skywater-pdk/libraries/sky130_fd_pr/latest/models/all.spice at
or near line 2
Unrecognized dot line will be ignored
Netlist error in file
/software/PDKs/skywater-pdk/libraries/sky130_fd_pr/latest/models/parasitics/sky130_fd_pr__model__parasitic__diode_ps2nw.model.spice
at or near line 16
Parameter $ not formatted correctly in .model
SKY130_FD_PR__MODEL__PARASITIC__DIODE_PS2NW
...
etc.
@Eric Keiter Pinging you again to make it fresh on Monday. 🙂
e
@Matthew Guthaus here I am. I was on vacation last week and deliberately was avoiding electronic communication. So, just seeing this now. The short answer is that I think the Sky130 files can be made to work, but the native Xyce syntax still isn’t 100% the same. I’ll check these specific files ….
One of the things it is complaining about is the line “.option scale=1.0u”
Currently, Xyce’s syntax for that same command is: “.options parser scale=1.0u”
That is something XDM would translate. XDM is kind of overkill and imperfect for ngspice format files, however. We’ve never directly implemented an ngspice grammar in XDM. The 3 grammars in XDM are Pspice, Hspice and Spectre. The Hspice-to-Xyce translation would handle translating the “scale” option; not sure about the other two.
The other thing it is complaining about (in the parasitics diode file) is the use of the dollar sign for comments. In other words, this line 16:
+ cj = '9.155e-005*1e-12*sky130_fd_pr__model__parasitic__diode_ps2nw__ajunction_mult' $ Units: farad/meter^2
If the dollar sign is changed to a
;
it will probably work.
The dollar sign is another thing from Hspice. So, the XDM translation of Hspice-to-Xyce would handle that.
I will mention that a lot of things did get fixed and/or added to Xyce 7.3 that were (arguably) blockers to using Skywater with Xyce. One such issue was the use of relative paths in library files.
m
I am using 7.3... The main issue is that these are the library files so I can't really change them unless we work with Skywater/eFabless
e
Ah …
m
Or I would need to distribute my own version of them
e
OK. So, I’ll have to dig into this a little bit. If the only issues are the “$” comment character, and the syntax for “scale” it may be possible to just handle that directly in Xyce without XDM. The main worry about doing that is if they conflict with something else, in an unresolvable way.
But I will look into this. Ultimately, longer term, XDM is supposed to become Xyce’s new parser anyway.