@Stefan Schippers: Thank you for the webinar with Matt Venn! One point I'd like to make related to one of your last comments in the Q&A: It
is possible to do co-simulation with iverilog, both in Xyce and in ngspice. Xyce has this written up here:
https://xyce.sandia.gov/files/xyce/AppNote-MixedSignal.pdf (except this is a very technical and software-oriented application note, and I'm pretty sure there's one that is more user-oriented). The cosimulation between ngspice and iverilog is buried in an obscure branch and I need to bring it back out into the sunshine. Both are done in the same way, using one simulator as the primary one and setting up the other as a sub-process and communicating with it via a pipe. The ngspice version uses iverilog as the primary simulator, which then launches ngspice as a sub-process. Xyce does it the other way around, which makes more sense. At one time a few years ago, I started looking into the idea of writing a module for xspice which would read a compiled vvp file from iverilog and use it to generate xspice events. I never had the time to work on it but I think it is feasible and mainly involves ripping the vvp parser out of iverilog and rewriting it to use the xspice event queue.