Hello All, I was wondering if anyone had any suggestions on where to look for doing Analog Behavioral Simulations with open source tools. I would ideally be running Verilog-A along side spice models however my understanding is that this is not currently possible using open source tools. Another option would be to build what would be the Verilog-A model using only spice with Xschem, in this case does Xschem support creating an equation controlled source and does NGSpice support simulating one? I would also be interested in trying Xyce if NGSpice doesn't support this, but I have not had good luck with Xyce and sky130 in general. Something like the BI and BV functions in LTSpice? Thank you all for any help you can provide!
02/26/2021, 7:59 PM
ngspice supports Verilog-A, but it is very cumbersome, as the Verilog-A model has to be compiled into the ngspice executable. It would be nice if the models could be run-time loadable. But it is doable (in theory---I've never tried it).
02/26/2021, 8:02 PM
@Tim Edwards Excellent! I will look into that. Thank you for the help!
02/26/2021, 8:27 PM
@Bryce Readyhough: If you figure out how to do it, I'd like to know. . .
02/26/2021, 8:50 PM
Is that using the ADMS plugin? If so it probably isn't much good for want you want to use it for. It's pretty sketchy and although technically it's verilog-a it's not really the same as when you use verilog-a in spectre for example. A lot of the useful quasi-digital functions that are useful for behavioural modelling is not supported.
The xyce team are quite clear about its use in xyce: its acceptable for describing differential equation based device models. It's not much use at all for something like a simple behavioural model of a comparator
02/27/2021, 1:44 AM
@Bryce Readyhough ngspice does support B primitives. I use them for modeling the nonlinear behavior of opamps with railed outputs for example with the tanh() function.