Tim Edwards
04/26/2022, 5:09 PMM=
on subcircuits and for use of parameters referencing other parameters on the same line. These were two major issues with sky130 compatibility. I am recompiling now and will report on testing of both issues.Eric Keiter
04/26/2022, 5:16 PMEric Keiter
04/26/2022, 5:30 PMXyce -redefined_params <option>
where option can be: ignore
, uselast
, usefirst
, warn
or error
. At the moment this option isn’t included in the -hspice-ext all
combination of settings so it must be set separately. Anyway, to force Xyce to be compatible with other simulators in this regard, add -redefined_params uselast
to the command line.Tim Edwards
04/26/2022, 8:08 PM.subckt sky130_fd_pr__nfet_01v8_lvt d g s b mult=1
.param l = 1 w = 1 ad = 0 as = 0 pd = 0 ps = 0 nrd = {0.14/w}
+ nrs = {0.14/w} sa = 0 sb = 0 sd = 0 nf = 1
...
and made a testbench with
X1 3 2 0 0 sky130_fd_pr__nfet_01v8_lvt W=3.0 L=0.15 M=1
+ ad = ' int((nf + 1)/2) * W/nf * 0.29 '
+ as = ' int((nf + 2)/2) * W/nf * 0.29 '
+ pd = ' 2 * int((nf + 1)/2) * (W/nf + 0.29) '
+ ps = ' 2 * int((nf + 2)/2) * (W/nf + 0.29) '
...
This fails to parse in Xyce until I add NF=1
to the X1
instance above.
My expectation would be that the instance implicitly defines the default parameter and value nf = 1
, so that if I use nf
in another parameter, but I have not otherwise (re)defined nf
, then it should assume the default value of 1
instead of throwing an error.
This is not necessarily an error, and xschem, for one, always writes out the NF
parameter value in the instance call, it's just that it seems to me that known subcircuit parameters should be recognized within an equation and the default values used if not present in the instance call (I do recognize that there are valid reasons to argue against this).Eric Keiter
04/26/2022, 8:09 PMEric Keiter
04/26/2022, 8:10 PMTim Edwards
04/26/2022, 8:12 PMM
value parsed cleanly and didn't throw the warning message that it used to. I do need to check that the output is properly scaling with the value of M
. I need to do a bit of translation between ngspice and Xyce syntax first.Eric Keiter
04/26/2022, 8:12 PMEric Keiter
04/26/2022, 8:13 PMTim Edwards
04/26/2022, 8:13 PMNF
and the default value that exists in the parent?Eric Keiter
04/26/2022, 8:15 PMEric Keiter
04/26/2022, 8:22 PMEric Keiter
04/26/2022, 8:24 PMTim Edwards
04/26/2022, 8:29 PMEric Keiter
04/26/2022, 8:30 PMHarald Pretl
04/27/2022, 6:56 AMXyce
might be in a state now that you could consider clean integration into xschem
#xschemStefan Schippers
04/27/2022, 8:03 AMEric Keiter
04/28/2022, 10:03 PMTim Edwards
04/28/2022, 10:04 PMStefan Schippers
04/29/2022, 7:59 AM