Thanks for the replies. I will look into XSPICE and VerilogA. My concern with both is how to debug with them. Andy
Well here is the first piece of the jigsaw that I found on the KiCAD forum: .subckt RPOT 1 2 3 R1 1 2 {value*ratio} R2 2 3 {value*(1-ratio)} * below are default parameters, which are required by some simulators .param value=1k .param ratio=1 .ends So I now need a way of taking the two inputs and converting that to a ramp up or down of the RPOT ratio. Andy
I need to create a spice model of an actuator in order to test a circuit I am reverse engineering. This actuator has two inputs, A and B, and each input can be 0V, NC or 12V, giving nine possible combinations. Only two of the combinations do anything, the others just cause the actuator to hold position. The actuator moves in two directions, up and down and this is represented electrically by a linear change in resistance on an output. I.e. the actuator contains a variable resistor connected to the...
Thanks. I call ngSpice_Circ and pass the netlist witthout a .tran or .control. I then send the command circbyline .tran xxxxx. I then send the command bg_run and nothing happens - simulation doesn't start. Do you have an example sequence for using bg_run? Thanks, Andy
If I call ngSpice_Circ it runs automatically just the same as using the command circbyline - so I don't get a chance to send bg_run. If I miss off '.end' then I get an error from ngSpice_Circ that '.end' is missing. Sending bg_run anyway gives an error that there are no circuits loaded.
There is a return value for the SendData callback - what does that do? I am returning zero. Is there a value that can be returned to stop the simulation cleanly?
Thanks. If I send the command 'quit' from the SendData callback it immediately corrupts memory inside ngspice.dll and crashes the application. I don't want to pause and resume, just stop the simulation.
I am running a simulation using ngspice.dll and I feed in the netlist using circbyline. When I feed in .end then the simulation starts. My simulation could take a couple of minutes to run. If the user chooses to stop the simulation how can I cleanly do this? Thanks, Andy