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