Hello,
I am making a hierarchical schematic, where at the lowest layer I have an inverter, with the multiplier set to pPar("M") so I can scale the gm of the inverter. From 6 of these inverters, I made a differential inverter cell, where in the property editor I have set M=pPar("multi"), just to differentiate the names in the error messages. Then with these inverters I made test benches where I just set these parameters to a constant.
The inverter testbench works like a charm, no problem, but I can't get the differential inverter test bench to work at all. First I am getting the following error:
ERROR (SFE-1997): "input.scs" 85: I0.I2: parameter `M': Cannot run the simulation because an unknown parameter `multi' has been specified in expression `pPar("multi")'. Correct the expression and rerun the simulation.
To debug this issue, I went into the differential inverter, and changed all inverter M to a constant, then I added a capacitor with C=pPar("multi")/1e12. This works like a charm! So the differential inverter can parse the multi parameter, and the inverter can accept M parameters, but OH BOY if you put the multi parameter in the M parameter. It gets weirder. If I now add back M=pPar("multi") to the inverter cells, it gives me the following error:
ERROR (SFE-1997): "input.scs" 86: I0.I2: parameter `M': Function `pPar' is not defined. Update the netlist to define the function.
EXCUSE ME?? I have no idea what's going on. Yesterday it worked for a while, after some arbitrary fiddling with the CDF editor. But this morning I came back and it's broken again. I have absolutely no clue what sequence of events makes it go from "multi does not exist" to "pPar does not exist" to "everything is fine" and back to step 1. Help?