From defd2a92a7b45baec10385cec2846b345af5bb24 Mon Sep 17 00:00:00 2001 From: Stefan Frederik Date: Sat, 12 Feb 2022 04:55:02 +0100 Subject: [PATCH] rpn expressions in graphs --- src/callback.c | 38 ++++- src/draw.c | 26 +-- src/save.c | 167 +++++++++++++++++--- src/token.c | 41 +---- src/xschem.h | 4 +- xschem_library/examples/mos_power_ampli.sch | 37 +++-- xschem_library/examples/poweramp.sch | 121 +++++++------- xschem_library/ngspice/autozero_comp.sch | 18 +-- 8 files changed, 298 insertions(+), 154 deletions(-) diff --git a/src/callback.c b/src/callback.c index 03145ca6..ddcd2fa8 100644 --- a/src/callback.c +++ b/src/callback.c @@ -629,23 +629,46 @@ static int waves_callback(int event, int mx, int my, KeySym key, int button, int if(!gr->digital) { int dset; int i, j; - double v; + const char *bus_msb = NULL; + int sweep_idx = 0; + double v, start, end; double min=0.0, max=0.0; int first = 1; - char *saven, *nptr, *ntok, *node = NULL;; + char *saves, *sptr, *stok, *sweep = NULL, *saven, *nptr, *ntok, *node = NULL; my_strdup2(1426, &node, get_tok_value(r->prop_ptr,"node",0)); + my_strdup2(542, &sweep, get_tok_value(r->prop_ptr,"sweep",0)); nptr = node; - while( (ntok = my_strtok_r(nptr, "\n\t ", "", &saven)) ) { - nptr = NULL; - j = get_raw_index(ntok); + sptr = sweep; + start = (gr->gx1 <= gr->gx2) ? gr->gx1 : gr->gx2; + end = (gr->gx1 <= gr->gx2) ? gr->gx2 : gr->gx1; + + while( (ntok = my_strtok_r(nptr, "\n\t ", "\"", &saven)) ) { + stok = my_strtok_r(sptr, " ", "", &saves); + nptr = sptr = NULL; + if(stok && stok[0]) { + sweep_idx = get_raw_index(stok); + if( sweep_idx == -1) sweep_idx = 0; + } + + bus_msb = strstr(ntok, ","); + j = -1; + if(!bus_msb && strstr(ntok, " ")) { + j = xctx->graph_nvars; + plot_raw_custom_data(sweep_idx, ntok); + } else { + j = get_raw_index(ntok); + } if(j >= 0) { int ofs = 0; for(dset = 0 ; dset < xctx->graph_datasets; dset++) { for(i = ofs; i < ofs + xctx->graph_npoints[dset]; i++) { if(dataset >= 0 && dataset != dset) continue; + if( xctx->graph_values[sweep_idx][i] < start || + xctx->graph_values[sweep_idx][i] > end) continue; v = xctx->graph_values[j][i]; - if(first || v < min) {min = v; first = 0;} - if(first || v > max) {max = v; first = 0;} + if(first || v < min) min = v; + if(first || v > max) max = v; + first = 0; } ofs += xctx->graph_npoints[dset]; } @@ -655,6 +678,7 @@ static int waves_callback(int event, int mx, int my, KeySym key, int button, int min = floor_to_n_digits(min, 2); max = ceil_to_n_digits(max, 2); my_free(1427, &node); + my_free(573, &sweep); my_strdup(1422, &r->prop_ptr, subst_token(r->prop_ptr, "y1", dtoa(min))); my_strdup(1423, &r->prop_ptr, subst_token(r->prop_ptr, "y2", dtoa(max))); need_redraw = 1; diff --git a/src/draw.c b/src/draw.c index b7e12640..ac4f90eb 100644 --- a/src/draw.c +++ b/src/draw.c @@ -1654,7 +1654,7 @@ static SPICE_DATA **get_bus_idx_array(const char *ntok, int *n_bits) int p; char *ntok_savep, *ntok_ptr, *ntok_copy = NULL; const char *bit_name; - *n_bits = count_items(ntok, ",") - 1; + *n_bits = count_items(ntok, ",", "") - 1; idx_arr = my_malloc(1454, (*n_bits) * sizeof(SPICE_DATA *)); p = 0; my_strdup2(1402, &ntok_copy, ntok); @@ -1750,8 +1750,8 @@ static void draw_graph_bus_points(const char *ntok, int n_bits, SPICE_DATA **idx } } -/* wcnt is the nth wave in graph, v is the index in spice raw file */ -static void draw_graph_points(int v, int first, int last, +/* wcnt is the nth wave in graph, idx is the index in spice raw file */ +static void draw_graph_points(int idx, int first, int last, XPoint *point, int wave_col, int wcnt, int n_nodes, Graph_ctx *gr) { int p; @@ -1761,9 +1761,9 @@ static void draw_graph_points(int v, int first, int last, double s1; double s2; double c, c1; - register SPICE_DATA *gv = xctx->graph_values[v]; + register SPICE_DATA *gv = xctx->graph_values[idx]; - dbg(1, "draw_graph_points: v=%d, first=%d, last=%d, wcnt=%d\n", v, first, last, wcnt); + dbg(1, "draw_graph_points: idx=%d, first=%d, last=%d, wcnt=%d\n", idx, first, last, wcnt); digital = gr->digital; if(digital) { s1 = DIG_NWAVES; /* 1/DIG_NWAVES waveforms fit in graph if unscaled vertically */ @@ -1792,7 +1792,7 @@ static void draw_graph_points(int v, int first, int last, XDrawLines(display, xctx->save_pixmap, xctx->gc[wave_col], point, poly_npoints, CoordModeOrigin); } set_thick_waves(0, wcnt, wave_col, gr); - } else dbg(1, "skipping wave: %s\n", xctx->graph_names[v]); + } else dbg(1, "skipping wave: %s\n", xctx->graph_names[idx]); } static void draw_graph_grid(Graph_ctx *gr) @@ -2280,7 +2280,7 @@ int edit_wave_attributes(int what, int i, Graph_ctx *gr) nptr = node; cptr = color; sptr = sweep; - n_nodes = count_items(node, " \t\n"); + n_nodes = count_items(node, " \t\n", "\""); /* process each node given in "node" attribute, get also associated color/sweep var if any */ while( (ntok = my_strtok_r(nptr, "\n\t ", "\"", &saven)) ) { ctok = my_strtok_r(cptr, " ", "", &savec); @@ -2400,7 +2400,7 @@ void draw_graph(int i, const int flags, Graph_ctx *gr) nptr = node; cptr = color; sptr = sweep; - n_nodes = count_items(node, " \t\n"); + n_nodes = count_items(node, " \t\n", "\""); /* process each node given in "node" attribute, get also associated color/sweep var if any*/ while( (ntok = my_strtok_r(nptr, "\n\t ", "\"", &saven)) ) { if(strstr(ntok, ",")) { @@ -2420,8 +2420,14 @@ void draw_graph(int i, const int flags, Graph_ctx *gr) } } draw_graph_variables(wcnt, wave_color, n_nodes, sweep_idx, flags, ntok, stok, bus_msb, gr); + /* custom data plot */ + idx = -1; + if(xctx->graph_values && !bus_msb && strstr(ntok, " ")) { + idx = xctx->graph_nvars; + plot_raw_custom_data(sweep_idx, ntok); + } /* quickly find index number of ntok variable to be plotted */ - if( (idx = get_raw_index(bus_msb ? bus_msb : ntok)) != -1 ) { + if( idx == xctx->graph_nvars || (idx = get_raw_index(bus_msb ? bus_msb : ntok)) != -1 ) { int p, dset, ofs; int poly_npoints; int first, last; @@ -2434,8 +2440,6 @@ void draw_graph(int i, const int flags, Graph_ctx *gr) XPoint *point = NULL; int dataset = gr->dataset; int digital = gr->digital; - /* <<<< */ - /* if(idx == xctx->graph_nvars -1) plot_raw_custom_data(sweep_idx); */ ofs = 0; start = (gr->gx1 <= gr->gx2) ? gr->gx1 : gr->gx2; end = (gr->gx1 <= gr->gx2) ? gr->gx2 : gr->gx1; diff --git a/src/save.c b/src/save.c index f240f4e8..09726b6f 100644 --- a/src/save.c +++ b/src/save.c @@ -237,9 +237,9 @@ static void read_binary_block(FILE *fd) /* read buffer */ tmp = my_calloc(1405, xctx->graph_nvars, (sizeof(double *) )); - /* allocate storage for binary block */ - if(!xctx->graph_values) xctx->graph_values = my_calloc(118, xctx->graph_nvars, sizeof(SPICE_DATA *)); - for(p = 0 ; p < xctx->graph_nvars; p++) { + /* allocate storage for binary block, add one data column for custom data plots */ + if(!xctx->graph_values) xctx->graph_values = my_calloc(118, xctx->graph_nvars + 1, sizeof(SPICE_DATA *)); + for(p = 0 ; p <= xctx->graph_nvars; p++) { my_realloc(372, &xctx->graph_values[p], (offset + xctx->graph_npoints[xctx->graph_datasets]) * sizeof(SPICE_DATA)); } @@ -389,7 +389,8 @@ void free_rawfile(int dr) } if(xctx->graph_values) { deleted = 1; - for(i = 0 ; i < xctx->graph_nvars; i++) { + /* free also extra column for custom data plots */ + for(i = 0 ; i <= xctx->graph_nvars; i++) { my_free(512, &xctx->graph_values[i]); } my_free(528, &xctx->graph_values); @@ -488,12 +489,18 @@ int read_rawfile(const char *f) int get_raw_index(const char *node) { char vnode[300]; + char lnode[300]; Int_hashentry *entry; if(xctx->graph_values) { entry = int_hash_lookup(xctx->raw_table, node, 0, XLOOKUP); if(!entry) { my_snprintf(vnode, S(vnode), "v(%s)", node); entry = int_hash_lookup(xctx->raw_table, vnode, 0, XLOOKUP); + if(!entry) { + my_strncpy(lnode, vnode, S(lnode)); + strtolower(lnode); + entry = int_hash_lookup(xctx->raw_table, lnode, 0, XLOOKUP); + } } if(entry) return entry->value; } @@ -501,35 +508,143 @@ int get_raw_index(const char *node) } /* <<<< */ -void plot_raw_custom_data(int sweep_idx) + +#define PLUS -2 +#define MINUS -3 +#define MULT -4 +#define DIVIS -5 +#define POW -6 +#define SIN -7 +#define COS -8 +#define ABS -9 +#define SGN -10 +#define INTEG -11 +#define DERIV -12 +#define NUMBER -60 +typedef struct { + int i; + double d; + double prev; +} Stack1; + +void plot_raw_custom_data(int sweep_idx, const char *ntok) { - int p, ofs = 0; - /* xctx->graph_datasets */ - int idx = xctx->graph_nvars -1; - int dset; - int ret; - char cmd[100]; + int i, p, idx, ofs = 0; + int dset, nitems; + const char *n; + char *endptr; + Stack1 stack1[200]; + double v, stack2[200]; + int stackptr1 = 0, stackptr2 = 0; + SPICE_DATA *y = xctx->graph_values[xctx->graph_nvars]; /* custom plot data column */ SPICE_DATA *x = xctx->graph_values[sweep_idx]; - SPICE_DATA *y = xctx->graph_values[idx]; - if(!(tcleval("info procs customplot")[0])) return; + + nitems = count_items(ntok, " ", ""); + dbg(1, "plot_raw_custom_data(), ntok=%s nitems = %d\n", ntok, nitems); + for(i = 1; i <= nitems; i++) { + n = find_nth(ntok, ' ', i); + dbg(1, " plot_raw_custom_data(): n = %s i = %d\n", n, i); + if(!strcmp(n, "+")) stack1[stackptr1++].i = PLUS; + else if(!strcmp(n, "-")) stack1[stackptr1++].i = MINUS; + else if(!strcmp(n, "*")) stack1[stackptr1++].i = MULT; + else if(!strcmp(n, "/")) stack1[stackptr1++].i = DIVIS; + else if(!strcmp(n, "**")) stack1[stackptr1++].i = POW; + else if(!strcmp(n, "sin()")) stack1[stackptr1++].i = SIN; + else if(!strcmp(n, "cos()")) stack1[stackptr1++].i = COS; + else if(!strcmp(n, "abs()")) stack1[stackptr1++].i = ABS; + else if(!strcmp(n, "sgn()")) stack1[stackptr1++].i = SGN; + else if(!strcmp(n, "integ()")) stack1[stackptr1++].i = INTEG; + else if(!strcmp(n, "deriv()")) stack1[stackptr1++].i = DERIV; + else if( (v = strtod(n, &endptr)), !*endptr) { + stack1[stackptr1].i = NUMBER; + stack1[stackptr1++].d = v; + } + else { + idx = get_raw_index(n); + if(idx == -1) { + dbg(1, "plot_raw_custom_data(): no data found: %s\n", n); + return; /* no data found in raw file */ + } + stack1[stackptr1].i = idx; + stackptr1++; + } + dbg(1, " plot_raw_custom_data(): stack1= %d\n", stack1[stackptr1 - 1].i); + } for(dset = 0 ; dset < xctx->graph_datasets; dset++) { for(p = ofs ; p < ofs + xctx->graph_npoints[dset]; p++) { - my_snprintf(cmd, S(cmd), "customplot %d %g", p, x[p]); - ret = Tcl_GlobalEval(interp, cmd); - if(ret == TCL_OK) { - const char *r = tclresult(); - if(r[0]) y[p] = atof(r); - } else { - fprintf(errfp, "plot_raw_custom_data(): evaluation of script: %s failed\n", cmd); - fprintf(errfp, " : %s\n", Tcl_GetStringResult(interp)); - Tcl_ResetResult(interp); - y[p] = 0.0; - } - /* y[p] = sin(dset * x[p] * 1e7); */ + stackptr2 = 0; + for(i = 0; i < stackptr1; i++) { /* number */ + if(stack1[i].i == NUMBER) { + stack2[stackptr2++] = stack1[i].d; + } + else if(stack1[i].i >=0 && stack1[i].i < xctx->graph_allpoints) { /* spice node */ + stack2[stackptr2++] = xctx->graph_values[stack1[i].i][p]; + } + + if(stackptr2 > 1) { /* 2 argument operators */ + if(stack1[i].i == PLUS) { + stack2[stackptr2 - 2] = stack2[stackptr2 - 2] + stack2[stackptr2 - 1]; + stackptr2--; + } + else if(stack1[i].i == MINUS) { + stack2[stackptr2 - 2] = stack2[stackptr2 - 2] - stack2[stackptr2 - 1]; + stackptr2--; + } + else if(stack1[i].i == MULT) { + stack2[stackptr2 - 2] = stack2[stackptr2 - 2] * stack2[stackptr2 - 1]; + stackptr2--; + } + else if(stack1[i].i == DIVIS) { + stack2[stackptr2 - 2] = stack2[stackptr2 - 2] / stack2[stackptr2 - 1]; + stackptr2--; + } + else if(stack1[i].i == POW) { + stack2[stackptr2 - 2] = pow(stack2[stackptr2 - 2], stack2[stackptr2 - 1]); + stackptr2--; + } + } + if(stackptr2 > 0) { /* 1 argument operators */ + if(stack1[i].i == SIN) { + stack2[stackptr2 - 1] = sin(stack2[stackptr2 - 1]); + } + else if(stack1[i].i == COS) { + stack2[stackptr2 - 1] = cos(stack2[stackptr2 - 1]); + } + else if(stack1[i].i == ABS) { + stack2[stackptr2 - 1] = fabs(stack2[stackptr2 - 1]); + } + else if(stack1[i].i == SGN) { + stack2[stackptr2 - 1] = stack2[stackptr2 - 1] > 0.0 ? 1 : + stack2[stackptr2 - 1] < 0.0 ? -1 : 0; + } + else if(stack1[i].i == INTEG) { + double integ = 0; + if( p == ofs ) { + integ = 0; + stack1[i].prev = 0; + } else { + integ = stack1[i].prev + (x[p] - x[p - 1]) * stack2[stackptr2 - 1]; + stack1[i].prev = integ; + } + stack2[stackptr2 - 1] = integ; + } + else if(stack1[i].i == DERIV) { + double deriv = 0; + if( p == ofs ) { + deriv = 0; + stack1[i].prev = stack2[stackptr2 - 1]; + } else { + deriv = (stack2[stackptr2 - 1] - stack1[i].prev) / (x[p] - x[p - 1]); + stack1[i].prev = stack2[stackptr2 - 1] ; + } + stack2[stackptr2 - 1] = deriv; + } + } /* else if(stackptr2 > 0) */ + } /* for(i = 0; i < stackptr1; i++) */ + y[p] = stack2[0]; } ofs += xctx->graph_npoints[dset]; } - } double get_raw_value(int dataset, int idx, int point) diff --git a/src/token.c b/src/token.c index 3925435d..fe989953 100644 --- a/src/token.c +++ b/src/token.c @@ -945,52 +945,24 @@ const char *get_cell_w_ext(const char *str, int no_of_dir) /* in a string with tokens separated by characters in 'sep' * count number of tokens. Multiple separators and leading/trailing * separators are allowed. */ -int count_items(const char *s, const char *sep) +int count_items(const char *s, const char *sep, const char *quote) { const char *ptr; int items = 0; int state = 0; /* 1 if item is being processed */ - int c; - int j, nsep = strlen(sep); + int c, q = 0; ptr = s; while( (c = *(unsigned char *)ptr++) ) { - for(j = 0; j < nsep; j++) { - if(c == sep[j]) break; - } - if(j >= nsep) { /* not a separator */ - if(!state) items++; - state = 1; - } else { - state = 0; - } - } - return items; -} - -/* in a string with tokens separated by characters in 'sep' - * count number of tokens. Multiple separators and leading/trailing - * separators are allowed. */ -int xcount_items(const char *s, const char *sep) -{ - const char *ptr; - char table[1 << 8 * sizeof(unsigned char)]; - int items = 0; - int state = 0; /* 1 if item is being processed */ - int c; - - memset(table, 0, sizeof(table)); - ptr = sep; - while( (c = *(unsigned char *)ptr++) ) table[c] = 1; - ptr = s; - while( (c = *(unsigned char *)ptr++) ) { - if(!table[c]) { /* not a separator */ + if(strchr(quote, c)) q = !q; + if(q || !strchr(sep, c)) { /* not a separator */ if(!state) items++; state = 1; } else { state = 0; } } + dbg(1, "count_items: s=%s, items=%d\n", s, items); return items; } @@ -2752,7 +2724,8 @@ const char *find_nth(const char *str, char sep, int n) if(count==n) { return ptr; } - ptr=result+i+1; + while(result[++i] == sep) ; + ptr=result+i; count++; } } diff --git a/src/xschem.h b/src/xschem.h index 19613524..2ec38186 100644 --- a/src/xschem.h +++ b/src/xschem.h @@ -1028,7 +1028,7 @@ extern int get_raw_index(const char *node); extern void free_rawfile(int dr); extern int read_rawfile(const char *f); extern double get_raw_value(int dataset, int idx, int point); -extern void plot_raw_custom_data(int sweep_idx); +extern void plot_raw_custom_data(int sweep_idx, const char *ntok); extern int schematic_waves_loaded(void); extern int edit_wave_attributes(int what, int i, Graph_ctx *gr); extern void draw_graph(int i, int flags, Graph_ctx *gr); @@ -1360,7 +1360,7 @@ extern void select_line(int c, int i, unsigned short select_mode, int fast); extern void select_polygon(int c, int i, unsigned short select_mode, int fast ); extern const char *net_name(int i, int j, int *mult, int hash_prefix_unnamed_net, int erc); extern int record_global_node(int what, FILE *fp, char *node); -extern int count_items(const char *s, const char *sep); +extern int count_items(const char *s, const char *sep, const char *quote); extern int get_unnamed_node(int what, int mult, int node); extern void node_hash_free(void); extern void traverse_node_hash(); diff --git a/xschem_library/examples/mos_power_ampli.sch b/xschem_library/examples/mos_power_ampli.sch index 16907da5..dfaeeb93 100644 --- a/xschem_library/examples/mos_power_ampli.sch +++ b/xschem_library/examples/mos_power_ampli.sch @@ -6,26 +6,45 @@ S {} E {} L 15 270 -460 340 -390 {} L 15 270 -330 340 -390 {} -B 2 1520 -750 2440 -70 {flags=graph -y1=-51.3482 -y2=48.6518 +B 2 1520 -610 2440 -70 {flags=graph +y1=-47 +y2=50 divy=4 subdivy=4 -x1=0.0157468 -x2=0.0164037 +x1=8e-09 +x2=0.07 divx=8 subdivx=1 dataset=0 unitx=m -node="tcleval($\{path\}OUTI -$\{path\}GA -$\{path\}GB)" -color="7 8 9" + + +color=7 +node=tcleval($\{path\}outi) } B 2 960 -890 1094 -803 {flags=image alpha=0.5 image_data=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} +B 2 1520 -1010 2440 -610 {flags=graph +y1=-0.19 +y2=160 +divy=4 +subdivy=9 +x1=8e-09 +x2=0.07 +divx=8 +subdivx=9 +dataset=0 +unitx=m + + + +color="4 7" +node="tcleval(\\"vpp $\{path\}outi - i(v.$\{path\}vu) *\\" +\\"vpp $\{path\}outi - i(v.$\{path\}vu) * integ() time /\\")"} T {ANALOG AUDIO AMPLIFIER N-Channel only power stage} 430 -270 0 0 0.5 0.5 {layer=8} +T {Instant power into xm1} 1530 -1050 0 0 0.4 0.4 {layer=4} +T {Average power into xm1} 1980 -1050 0 0 0.4 0.4 {layer=7} N 180 -500 180 -470 {lab=E9} N 260 -470 340 -470 {lab=E9} N 340 -500 340 -470 {lab=E9} diff --git a/xschem_library/examples/poweramp.sch b/xschem_library/examples/poweramp.sch index 429929a5..8600bf4d 100644 --- a/xschem_library/examples/poweramp.sch +++ b/xschem_library/examples/poweramp.sch @@ -14,21 +14,12 @@ L 18 900 -580 910 -580 {} L 18 880 -530 900 -580 {} L 18 880 -530 880 -450 {} L 18 900 -580 900 -400 {} -B 2 1200 -330 1880 -140 {flags=graph -y1 = 0.0391523 -y2 = 0.0391626 -divy = 5 -x1=0.0143753 -x2=0.015137 -divx=10 -node=i(v.x1.v3) -color=11 unitx=m unity=m} B 2 1200 -530 1880 -340 {flags=graph -y1 = 0 -y2 = 12 +y1 = -0.0059 +y2 = 11 divy = 6 -x1=0.0143753 -x2=0.015137 +x1=0.0688315 +x2=0.0699823 divx=10 node="i(v.x1.vu) i(v.x0.vu) @@ -37,11 +28,11 @@ i(v.x0.vd)" color="11 13 12 7" unitx=m} B 2 1200 -860 1880 -550 {flags=graph -y1 = -60 -y2 = 60 +y1 = -49 +y2 = 59 divy = 12 -x1=0.0143753 -x2=0.015137 +x1=0.0688315 +x2=0.0699823 divx=10 node="outp outm @@ -51,11 +42,24 @@ x1.vboost x0.vboost" color="4 15 6 12 7 4" unitx=m} -B 2 1720 -960 1857 -900 {flags=image +B 2 1770 -1180 1907 -1120 {flags=image alpha=0.6 filter="gm convert png:- -transparent black png:-" image=/home/schippes/sda7/1.png image_data=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kfHI+vTfffbftm3rQuxdACG9ENpIDj44r1CsjYuTx47mZY4oYoitc8pkAuGNS1dndYcqjxilUCjFxz7yMx9877uPHt4IRCglEEAIHKMG1ggUqdB6lBccAwfP3vd1ndqviiI7euRIWZbDcZ/6PLIse+aZZ27holIZKCl7DaF24q4kPkyKa5PHTf54iCJusYb6VAohkrECwGw2e/zxx3/xF3+xqqrUBJigpKQG88lPfvInfuInUvUgHVD0vaqUSUUjpZLJnL70pS/97d/+7aVLl5qmSQBUeiPqQDAnz/Pf+I3f+OxnP3tr/lnqPxwIDukz/NM//dMvf/nLP9zcGUGgUMYwMBPFGLe3th/+ybU67IyrEUsltQEUbd+LdOqgzAtVVdVsb7EvGCGlRCFNsf/c0QsEpSRGxRwRWACE4H20ZZYrLYnZ2z64nhk4+swoZEeBo4XNG5uPf/Of7rvn9iyTQgoSCEBaydtPHDl54kgGkHHg2CspfYguIilcNs21rTlm087F0WRdi+nMhadfPffAww/ddWwiEc3+yDs0EgDgnbedTN8JE7sYu0haKa1k6hjR352ahCSZiCMgA7z0+rnN2ZJ1EYSPLAudH1pfu/fud9x58gTFWBjDAEniWgALYI5RAmgUEkEJVACc5LUQKBLTfvtmKt2nA325XL722msAkJqyB7QEbgpjEoydfifZ9z6E4NxgakOQcHORaEht032TPaU4Z6gArK6uDukmIjrnXnvtta985SvHjh277bbb+IB+mGKY6XR6++23w03dq8ON0r2GRGJ4I0899VSSJOi67vz584vFIvWYJ8NN8fddd91177333sJe05ZOn09CY1Ir7enTp9M5NogpDI3tieW2n6IwE6KQUlEkipGIF8tFWZSZySaTsVKy77rDhw4dPXpUa51pMx6NqrJUUlVlubq2NhqNMpMZbWKMRVGUeVFkuZFSIGfGFFkWPLtASWM6xKClohiFRKUkEEEMiBi84xClELP5/NG//28727sohdJaCpSCtQTnfIzRBe+CSyETMQDC1vbi3BvXNrfnMlvR4/WgSlGtdZi/cvHaN858++q8awPHA46NYBCR2QUOXnIwkgpJFbIOAawFbwV5ijHGsE/MEQKk9DG+cPb8y2ff2K07zMpsvFquHEKhJSY9jwDBGibNlCOUAnIBBkhjNBg1kgKSQBJYQKTg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} +B 2 1200 -1050 1880 -860 {flags=graph +y1 = 1.1e-10 +y2 = 840 +divy = 6 +x1=0.0688315 +x2=0.0699823 +divx=10 + + +unitx=m +color="4 7" +node="\\"i(vcurrvnn) vnn * i(vcurrvpp) vpp * +\\" +\\"i(vcurrvnn) vnn * i(vcurrvpp) vpp * + integ() time /\\""} T {actual value 50u} 400 -820 0 0 0.4 0.4 {} T {actual value @@ -81,26 +85,28 @@ each with different bias points these annotator dinamically show the correct data.} 780 -830 0 0 0.2 0.2 {layer=4} T {Select one or more graphs (and no other objects) -and use arrow keys to zoom / pan waveforms} 1060 -940 0 0 0.3 0.3 {} -N 150 -1220 150 -1200 {lab=#net1} -N 150 -1080 150 -1060 {lab=#net2} -N 360 -1140 370 -1140 {lab=VSS} +and use arrow keys to zoom / pan waveforms} 1100 -1170 0 0 0.3 0.3 {} +T {Power to R1} 1270 -1080 0 0 0.4 0.4 {layer=4} +T {Average Power to R1} 1610 -1080 0 0 0.4 0.4 {layer=7} +N 70 -1220 70 -1200 {lab=#net1} +N 70 -1080 70 -1060 {lab=#net2} +N 300 -1140 310 -1140 {lab=VSS} N 710 -700 860 -700 {lab=OUTM} N 500 -1150 570 -1150 {lab=VSS} N 570 -1150 570 -1140 {lab=VSS} N 570 -1140 610 -1140 {lab=VSS} N 540 -1190 570 -1190 {lab=IN} N 610 -1200 700 -1200 {lab=REFP} -N 260 -1070 260 -1060 {lab=#net3} -N 260 -1140 260 -1130 {lab=#net4} -N 150 -1060 180 -1060 {lab=#net2} -N 360 -1060 370 -1060 {lab=VNN} -N 150 -1220 180 -1220 {lab=#net1} -N 360 -1220 370 -1220 {lab=VPP} -N 260 -1140 270 -1140 {lab=#net4} -N 240 -1220 270 -1220 {lab=#net5} -N 240 -1060 260 -1060 {lab=#net3} -N 150 -1140 260 -1140 {lab=#net4} +N 260 -1070 260 -1060 {lab=VNN} +N 260 -1140 260 -1130 {lab=VSS} +N 70 -1060 100 -1060 {lab=#net2} +N 300 -1060 310 -1060 {lab=VNN} +N 70 -1220 100 -1220 {lab=#net1} +N 300 -1220 310 -1220 {lab=VPP} +N 260 -1140 270 -1140 {lab=VSS} +N 240 -1220 270 -1220 {lab=VPP} +N 240 -1060 260 -1060 {lab=VNN} +N 240 -1140 260 -1140 {lab=VSS} N 550 -950 710 -950 {lab=OUTM} N 400 -890 550 -890 {lab=FBN} N 550 -770 550 -750 {lab=IN} @@ -139,11 +145,11 @@ N 350 -890 400 -890 {lab=FBN} N 350 -430 400 -430 {lab=FB} N 570 -1060 610 -1060 {lab=VSS} N 570 -1070 570 -1060 {lab=VSS} -N 270 -1220 300 -1220 {lab=#net5} -N 260 -1060 300 -1060 {lab=#net3} -N 270 -1140 300 -1140 {lab=#net4} -N 270 -1150 270 -1140 { lab=#net4} -N 270 -1220 270 -1210 { lab=#net5} +N 270 -1220 300 -1220 {lab=VPP} +N 260 -1060 300 -1060 {lab=VNN} +N 270 -1140 300 -1140 {lab=VSS} +N 270 -1150 270 -1140 { lab=VSS} +N 270 -1220 270 -1210 { lab=VPP} N 240 -730 240 -680 { lab=VSSX} N 240 -270 240 -220 { lab=INX} N 400 -920 400 -910 { lab=FBN} @@ -154,6 +160,9 @@ N 240 -780 240 -760 { lab=VSSX} N 240 -760 240 -730 { lab=VSSX} N 240 -320 240 -300 { lab=INX} N 240 -300 240 -270 { lab=INX} +N 160 -1220 180 -1220 {lab=#net3} +N 160 -1060 180 -1060 {lab=#net4} +N 70 -1140 180 -1140 {lab=#net5} C {code.sym} 1020 -210 0 0 {name=STIMULI only_toplevel=true tclcommand="xschem edit_vi_prop" @@ -176,7 +185,7 @@ vvss vss 0 dc 0 op write poweramp.raw set appendwrite -tran 6e-7 0.03 uic +tran 8e-7 0.07 uic * .FOUR 20k v(outm,outp) * .probe i(*) plot outp outm @@ -185,11 +194,11 @@ save p(r*) p(v*) write poweramp.raw .endc "} -C {vsource.sym} 150 -1170 0 0 {name=V1 value="dc 50 pwl 0 0 1m 50"} -C {vsource.sym} 150 -1110 0 0 {name=V0 value="dc 50 pwl 0 0 1m 50"} -C {lab_pin.sym} 370 -1220 0 1 {name=p5 lab=VPP} -C {lab_pin.sym} 370 -1060 0 1 {name=p6 lab=VNN} -C {lab_pin.sym} 370 -1140 0 1 {name=p3 lab=VSS} +C {vsource.sym} 70 -1170 0 0 {name=V1 value="dc 50 pwl 0 0 1m 50"} +C {vsource.sym} 70 -1110 0 0 {name=V0 value="dc 50 pwl 0 0 1m 50"} +C {lab_pin.sym} 310 -1220 0 1 {name=p5 lab=VPP} +C {lab_pin.sym} 310 -1060 0 1 {name=p6 lab=VNN} +C {lab_pin.sym} 310 -1140 0 1 {name=p3 lab=VSS} C {lab_pin.sym} 860 -240 0 1 {name=p14 lab=OUTP} C {res.sym} 860 -490 0 1 {name=R1 m=1 value=8} C {lab_pin.sym} 500 -1150 0 0 {name=p26 lab=VSS} @@ -197,8 +206,8 @@ C {lab_pin.sym} 540 -1190 0 0 {name=p31 lab=IN} C {vcvs.sym} 610 -1170 0 0 {name=E3 value='gain*0.99'} C {lab_pin.sym} 700 -1200 0 1 {name=p32 lab=REFP} C {capa.sym} 260 -1100 0 0 {name=C3 m=1 value="100u"} -C {res.sym} 210 -1220 1 1 {name=R11 m=1 value=0.3} -C {res.sym} 210 -1060 1 1 {name=R9 m=1 value=0.3} +C {res.sym} 130 -1220 1 1 {name=R11 m=1 value=0.3} +C {res.sym} 130 -1060 1 1 {name=R9 m=1 value=0.3} C {res.sym} 550 -920 0 1 {name=R19 m=1 value='100k'} C {res.sym} 550 -860 0 1 {name=R0 m=1 value="'100k/gain'"} C {lab_pin.sym} 550 -750 0 0 {name=p108 lab=IN} @@ -251,9 +260,9 @@ C {lab_pin.sym} 350 -270 0 0 {name=p19 lab=FB} C {lab_pin.sym} 350 -730 0 0 {name=p25 lab=FBN} C {title.sym} 160 -30 0 0 {name=l2 author="Stefan Schippers"} C {lab_pin.sym} 870 -1200 0 0 {name=p27 lab=IN_INT} -C {ammeter.sym} 330 -1220 3 0 {name=vcurrvpp net_name=true current=0.54} -C {ammeter.sym} 330 -1060 3 0 {name=vcurrvnn net_name=true current=-0.4526} -C {ammeter.sym} 330 -1140 3 0 {name=vcurrvss net_name=true current=-0.08742} +C {ammeter.sym} 210 -1220 3 0 {name=vcurrvpp net_name=true current=0.54} +C {ammeter.sym} 210 -1060 3 0 {name=vcurrvnn net_name=true current=-0.4526} +C {ammeter.sym} 210 -1140 3 0 {name=vcurrvss net_name=true current=-0.08742} C {launcher.sym} 780 -120 0 0 {name=h2 descr="Ctrl-Click Clear all probes" @@ -281,11 +290,11 @@ tclcommand=" " } C {ngspice_probe.sym} 350 -810 0 1 {name=p55} -C {ngspice_probe.sym} 230 -1140 0 1 {name=p34} +C {ngspice_probe.sym} 150 -1140 0 1 {name=p34} C {capa.sym} 270 -1180 0 0 {name=C2 m=1 value="100u"} -C {ngspice_probe.sym} 150 -1220 0 1 {name=p35} -C {ngspice_probe.sym} 150 -1060 0 1 {name=p36} -C {ngspice_probe.sym} 370 -1140 0 0 {name=p37} +C {ngspice_probe.sym} 70 -1220 0 1 {name=p35} +C {ngspice_probe.sym} 70 -1060 0 1 {name=p36} +C {ngspice_probe.sym} 310 -1140 0 0 {name=p37} C {ngspice_probe.sym} 840 -700 0 1 {name=p29} C {ngspice_probe.sym} 810 -240 0 1 {name=p38} C {ngspice_probe.sym} 300 -680 0 1 {name=p33} @@ -325,7 +334,7 @@ C {spice_probe.sym} 950 -1200 0 0 {name=p44 analysis=tran voltage=0.0000e+00} C {launcher.sym} 1000 -270 0 0 {name=h1 descr=Backannotate tclcommand="ngspice::annotate"} -C {ngspice_get_expr.sym} 210 -1010 0 0 {name=r19 +C {ngspice_get_expr.sym} 130 -1010 0 0 {name=r19 node="[ngspice::get_current \{r9[i]\}]" descr = current } @@ -333,9 +342,9 @@ C {launcher.sym} 1000 -310 0 0 {name=h4 descr="View Raw file" tclcommand="textwindow $netlist_dir/[file tail [file rootname [ xschem get schname 0 ] ] ].raw" } -C {spice_probe.sym} 360 -1220 0 0 {name=p45 analysis=tran voltage=49.84} -C {spice_probe.sym} 360 -1060 0 0 {name=p46 analysis=tran voltage=-49.86} -C {launcher.sym} 1095 -985 0 0 {name=h5 +C {spice_probe.sym} 300 -1220 0 0 {name=p45 analysis=tran voltage=49.84} +C {spice_probe.sym} 300 -1060 0 0 {name=p46 analysis=tran voltage=-49.86} +C {launcher.sym} 1135 -1215 0 0 {name=h5 descr="Select arrow and Ctrl-Left-Click to load/unload waveforms" tclcommand=" diff --git a/xschem_library/ngspice/autozero_comp.sch b/xschem_library/ngspice/autozero_comp.sch index b7d152ac..3331991f 100644 --- a/xschem_library/ngspice/autozero_comp.sch +++ b/xschem_library/ngspice/autozero_comp.sch @@ -22,8 +22,8 @@ B 2 260 -1080 720 -920 {flags=graph y1 = 0 y2 = 0.93 divy = 5 -x1=1.0603e-07 -x2=4.34086e-07 +x1=1.12193e-07 +x2=4.32192e-07 divx=5 subdivx=4 unitx=n @@ -32,18 +32,18 @@ saout" color="4 5" } B 2 260 -1220 720 -1090 {flags=graph -y1 = 0.647719 -y2 = 0.652802 +y1 = 0.647319 +y2 = 0.652563 divy = 5 -x1=1.0603e-07 -x2=4.34086e-07 +x1=1.12193e-07 +x2=4.32192e-07 unitx=n divx=5 subdivx=4 node="plus -minus -\\"plus minus -\\"" -color="4 5 8"} +minus" +color="4 5" +dataset=3} T {CAL} 140 -180 0 1 0.4 0.4 {} T {EN} 140 -130 0 1 0.4 0.4 {} T {CALIBRATION