From d473e8b1abff7cf082da63f07316a53f4d0fa2e2 Mon Sep 17 00:00:00 2001 From: Stefan Frederik Date: Thu, 22 Sep 2022 13:45:55 +0200 Subject: [PATCH] updated docs with additional video on graphs and Xyce sim --- doc/xschem_man/xschem_man.html | 1 + src/save.c | 10 ++++++---- src/xschem.tcl | 3 +++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/doc/xschem_man/xschem_man.html b/doc/xschem_man/xschem_man.html index 2f7ace3c..549865ab 100644 --- a/doc/xschem_man/xschem_man.html +++ b/doc/xschem_man/xschem_man.html @@ -78,6 +78,7 @@
  • [Video] See logic propagation of nets live in xschem without using a backend simulator
  • [Video] View Ngspice/Xyce simulation data inside XSCHEM
  • [Video] Live annotation of simulation values into the schematic
  • +
  • [Video] Setting up a Xyce simulation, viewing results and doing math on graphs
  • [Video] Probe xschem nets into the GAW waveform viewer
  • [Video] Probe xschem nets into the BESPICE waveform viewer
  • [Video] Creating a symbol
  • diff --git a/src/save.c b/src/save.c index 94760efb..6b1c8667 100644 --- a/src/save.c +++ b/src/save.c @@ -761,20 +761,22 @@ int plot_raw_custom_data(int sweep_idx, int first, int last, const char *expr) if(stackptr2 > 1) { /* 2 argument operators */ switch(stack1[i].i) { case PLUS: - stack2[stackptr2 - 2] = stack2[stackptr2 - 2] + stack2[stackptr2 - 1]; + stack2[stackptr2 - 2] = stack2[stackptr2 - 2] + stack2[stackptr2 - 1]; stackptr2--; break; case MINUS: - stack2[stackptr2 - 2] = stack2[stackptr2 - 2] - stack2[stackptr2 - 1]; + stack2[stackptr2 - 2] = stack2[stackptr2 - 2] - stack2[stackptr2 - 1]; stackptr2--; break; case MULT: - stack2[stackptr2 - 2] = stack2[stackptr2 - 2] * stack2[stackptr2 - 1]; + stack2[stackptr2 - 2] = stack2[stackptr2 - 2] * stack2[stackptr2 - 1]; stackptr2--; break; case DIVIS: if(stack2[stackptr2 - 1]) { - stack2[stackptr2 - 2] = stack2[stackptr2 - 2] / stack2[stackptr2 - 1]; + stack2[stackptr2 - 2] = stack2[stackptr2 - 2] / stack2[stackptr2 - 1]; + } else if(stack2[stackptr2 - 2] == 0.0) { + stack2[stackptr2 - 2] = 0; } else { stack2[stackptr2 - 2] = y[p - 1]; } diff --git a/src/xschem.tcl b/src/xschem.tcl index c68a53b5..e3983950 100644 --- a/src/xschem.tcl +++ b/src/xschem.tcl @@ -657,6 +657,9 @@ proc sim_is_ngspice {} { return 0 } +proc sim_is_Xyce {} { + return [sim_is_xyce] +} proc sim_is_xyce {} { global sim