dlmiles
04/25/2024, 5:30 AM* Is this option needed, this option causes the ngspice error:
* "Warning from checkvalid: vector @m.xm1.msky130_fd_pr__pfet_01v8[ib] is not available or has zero length."
* .option savecurrents
.save all
When the .option savecurrents
is specified, this causes no new RAW file to be created, but an error to occur, is this usage error or a bug ? When I attempt to "load waves" with code.sym "xschem raw_read $netlist_dir/testbench.raw tran" no error is shown, no indication an action was performed occurs and no update to visual seen.
When I use the menu "Graphs -> Annotate Operating Point ... -> pick RAW file -> OK" the visual updates with question marks "? ?" the only data that is updated are the ammeter.sym and spice_probe.sym I added to the design. None of the transistors show values. I think I need to inject a wave graph into the schematic view, to provide an X axis time reference to show sample for, can''t see an obvious design/*.sym to insert for this, so hunting for a project with that configured.
Also what is the best symbol to be using to inject test points for data collection (I and V for example), ideally with a quick toggle button list to disable/enable (without need to rework the schematic, to remove the injected symbol when you want to disable it). This would then modify the netlist creation and ngspice config accordingly to the disable/enable state of the individual test point.
Also after some time in usage of xschem the application refuses to take any more mouse click input to select items in the main design area. Menu items work ok, a restart always fixes it. Is this is known matter maybe with Tk/X11, using Linux/Xwayland ?
ThanksStefan Schippers
04/25/2024, 8:08 AMremzerovec
instruction before the write
command. All simulation variables like gm, vth, gds and so on need to be saved explicitly:
save @m.x1.xm5.msky130_fd_pr__nfet_01v8[gm]
save @m.x1.xm5.msky130_fd_pr__nfet_01v8[gds]
save @m.x1.xm5.msky130_fd_pr__nfet_01v8[gmbs]
save @m.x1.xm5.msky130_fd_pr__nfet_01v8[vth]
Stefan Schippers
04/25/2024, 8:12 AMop
line followed by a write circuit.raw
instruction.
An OP analysis contains just one single value per circuit node representing the operating point.
You don't need to place a graph for this (there are no graphs to show, OP is just a single point).
You don't need to inject objects to get voltages. Just assign a net name to the voltage you are interested in.
You can use the spice_probe.sym
symbol attached to a net, it will automatically generate the .save v(...) line in the netlist. Alternatively you can use save all
and get all voltages.
You can insert an ammeter, ammeter.sym
in series to a branch where you want to measure the current.
Adding attribute spice_ignore=short
to the ammeter will transform the ammeter into a short, so it is removed from the netlist. Changing to spice_ignore=0
will enable the ammeter again. This spice_ignore attribute can be used on any instance in the schematic:
spice_ignore=0: use the element normally
spice_ignore=1: remove the element from the netlist
spice_ignore=short: short circuit all pins of the element
Ammeter currents are automatically saved in the simulation raw file.dlmiles
04/25/2024, 8:35 AMspice_ignore=0
an implicit default when inserting ammeter (then everyone can see it there), like the savecurrent=true
is, then at least someone reading can lookup docs for it (or guess) at what it does.
Success with .option savecurrents
and then .remzerovec
there is no error now in ngspice wiring out raw file, and see I(current) values next to all transistors.
Just trying things out with your suggestion re voltages, am already using spice_probe
for specific things, but when debugging showing voltage for all nets.
Assigning a net name, means removing the default hash from in front of the default auto-generated name, or specifying your own lab=
value that does not start with a hash.Stefan Schippers
04/25/2024, 8:38 AMlab_pin.sym
or lab_wire.sym
(they only differ in text positioning) to a net:Stefan Schippers
04/25/2024, 8:43 AM.option savecurrents
.control
save all
save @m.x1.xm1.msky130_fd_pr__nfet_01v8_lvt[gm]
...
op
remzerovec
write circuit.raw
set appendwrite
tran 1n 100n
remzerovec
write circuit.raw
.endc
Stefan Schippers
04/25/2024, 8:44 AMdlmiles
04/25/2024, 8:49 AMdevices/launcher.sym
how do you activate the launch function. When I click, double-click it is into 'edit properties', right click menu does not have 'launch' option. I try with modifiers as well Shift/Ctrl etc... I can not observe launch action occuring. Is that Xwayland inter-op issue?dlmiles
04/25/2024, 9:05 AMdlmiles
04/25/2024, 9:09 AMdlmiles
04/25/2024, 9:50 AMname=h1
descr="reload anno"
tclcommand="xschem annotate_op $netlist_dir/testbench.raw"
In case it helps anyone else.
Ctrl-Click is working on the launcher icons (after a bit of debugging π there is no error feedback for an invalid tclcommand, or a successful one if it did nothing, leaving the user with the impression nothing happens.Stefan Schippers
04/25/2024, 10:12 AMdlmiles
04/25/2024, 10:31 AMStefan Schippers
04/25/2024, 10:37 AMDalin E.M
11/27/2024, 12:49 AMStefan Schippers
11/27/2024, 1:39 PM