doc updates (graphs)

This commit is contained in:
stefan schippers 2023-12-18 23:36:01 +01:00
parent 13b9221a96
commit f50a3b15fa
6 changed files with 2020 additions and 1991 deletions

File diff suppressed because it is too large Load Diff

View File

@ -4843,27 +4843,27 @@
</Directory> </Directory>
</Directory> </Directory>
<Directory Id="dir66E75AF8489D831CEE96A9484F188CC0" Name="inst_sch_select"> <Directory Id="dir66E75AF8489D831CEE96A9484F188CC0" Name="inst_sch_select">
<Component Id="cmp7FA1B8D455F612D245224AC7EAF95A6C" Guid="{451D1C93-06A3-4119-8130-4C8A555766BA}"> <Component Id="cmp021D39700CA8CE4F0746A6EE7BDBB337" Guid="{FA476C82-AE1D-4FC0-A5D7-1F7B6C9BCE59}">
<File Id="filF84E499EC377EDCE3CEC8BD8D987A15D" KeyPath="yes" Source="$(var.xschemLibrarySrcDir)\inst_sch_select\comp_65nm.sch" /> <File Id="filD48DD79FE6698B5FA5E7CB1B1A502D4D" KeyPath="yes" Source="$(var.xschemLibrarySrcDir)\inst_sch_select\comp3.sch" />
</Component> </Component>
<Component Id="cmpA694725AC90906B120BC6ED052B820EC" Guid="{7DB0DC5B-5605-49D5-839A-38AD5C39E087}"> <Component Id="cmp91FEAFB7B7E439A3149432AC75C30483" Guid="{B98A8C30-A87E-403C-8547-22378B93A9A7}">
<File Id="filF3BF35891CD9065B7BAE81514DB651B3" KeyPath="yes" Source="$(var.xschemLibrarySrcDir)\inst_sch_select\comp_65nm.sym" /> <File Id="fil8F88EB494ABEA0D8DE14924878CD8F20" KeyPath="yes" Source="$(var.xschemLibrarySrcDir)\inst_sch_select\comp3.sym" />
</Component> </Component>
<Component Id="cmp9F68EB0D01C258AFF8A160616F017CC6" Guid="{29EF4B4F-220A-4D20-B658-30D434F9F822}"> <Component Id="cmp46876B54A156835169D2D53153CCB721" Guid="{81691335-6298-4403-A8C3-B118444AC8C9}">
<File Id="fil5132E7C32EBFF52214702F73D3936B0E" KeyPath="yes" Source="$(var.xschemLibrarySrcDir)\inst_sch_select\comp_65nm_empty.sch" /> <File Id="fil002A2ACB4DCEECA8E385AC5BCEA3C06E" KeyPath="yes" Source="$(var.xschemLibrarySrcDir)\inst_sch_select\comp3_empty.sch" />
</Component> </Component>
<Component Id="cmpC49759288BFBD4977B75C3C2666BFB1A" Guid="{FF1F79F9-1969-4BEE-A84D-541459AFDD9C}"> <Component Id="cmp076623E243053854E2E7CAB7513C2F12" Guid="{DC134F12-A622-4E97-9B06-8B5B193AB9F7}">
<File Id="filEEC392331868D39BCF38F222B0F0BDE2" KeyPath="yes" Source="$(var.xschemLibrarySrcDir)\inst_sch_select\comp_65nm_file.cir" /> <File Id="fil284ABF35D84049269AFB0B163E9ECF29" KeyPath="yes" Source="$(var.xschemLibrarySrcDir)\inst_sch_select\comp3_file.cir" />
</Component> </Component>
<Component Id="cmp192C74207CA975756F65616672478110" Guid="{3706C5AD-C104-494A-B664-DEB07667A8B3}"> <Component Id="cmp55C89147C2FE0A38848E3A67E4223038" Guid="{A32BB583-AE43-4A9C-8C5C-7D4D3C259164}">
<File Id="filF6591742485594FADE7363F8CB7C10F7" KeyPath="yes" Source="$(var.xschemLibrarySrcDir)\inst_sch_select\comp_65nm_parax.sch" /> <File Id="fil4BFEDD19767B22A37C178444B7E8B0A9" KeyPath="yes" Source="$(var.xschemLibrarySrcDir)\inst_sch_select\comp3_parax.sch" />
</Component> </Component>
<Component Id="cmp2EA52751158DBB689A9A03A9D3094EB3" Guid="{CA754177-CB2B-4639-9DEC-D5F08BCE9052}"> <Component Id="cmpBCFC92A50A3ACD13A1E5D3364E207668" Guid="{549CD6A0-4C49-48D6-83FA-839CD7B2A9F5}">
<File Id="filA6F9E299A8A8FAA10A2F89366D418D56" KeyPath="yes" Source="$(var.xschemLibrarySrcDir)\inst_sch_select\comp_65nm_read.cir" /> <File Id="filA8F6E71AE6F15F66F6223752DEAF3673" KeyPath="yes" Source="$(var.xschemLibrarySrcDir)\inst_sch_select\comp3_read.cir" />
</Component> </Component>
<Component Id="cmp106813C0BB3FE64D6E9D5FC6CDC1FF92" Guid="{7AE49B47-B1C0-4E7C-BB79-B0658CEB5662}"> <Component Id="cmp3140A9EFC6CD4F9F63FDC7282532537C" Guid="{B6A01500-6D3C-46CC-990B-6A0D8B5A75D3}">
<File Id="fil6B1B3D42E84BBF6F3073C22FE296B9B4" KeyPath="yes" Source="$(var.xschemLibrarySrcDir)\inst_sch_select\comp_65nm_read.sym" /> <File Id="filE8958165515D74F17CB8ECCAC4C32A8C" KeyPath="yes" Source="$(var.xschemLibrarySrcDir)\inst_sch_select\comp3_read.sym" />
</Component> </Component>
<Component Id="cmp8907B142997C1E0613C32A1C536C5122" Guid="{955C050B-2D41-42AC-A988-92A33E682F4E}"> <Component Id="cmp8907B142997C1E0613C32A1C536C5122" Guid="{955C050B-2D41-42AC-A988-92A33E682F4E}">
<File Id="fil31820620336E6D619A3D1A05DBB16AB7" KeyPath="yes" Source="$(var.xschemLibrarySrcDir)\inst_sch_select\inst_sch_select.sch" /> <File Id="fil31820620336E6D619A3D1A05DBB16AB7" KeyPath="yes" Source="$(var.xschemLibrarySrcDir)\inst_sch_select\inst_sch_select.sch" />
</Component> </Component>
@ -7158,13 +7158,13 @@
<ComponentRef Id="cmp17B3126A87BE08784E2F6F45E02C384B" /> <ComponentRef Id="cmp17B3126A87BE08784E2F6F45E02C384B" />
<ComponentRef Id="cmpF7EBB80CBCB3911C75082F4AB3A6FBC7" /> <ComponentRef Id="cmpF7EBB80CBCB3911C75082F4AB3A6FBC7" />
<ComponentRef Id="cmpAE952C594E6F45CF215B573DD54FA856" /> <ComponentRef Id="cmpAE952C594E6F45CF215B573DD54FA856" />
<ComponentRef Id="cmp7FA1B8D455F612D245224AC7EAF95A6C" /> <ComponentRef Id="cmp021D39700CA8CE4F0746A6EE7BDBB337" />
<ComponentRef Id="cmpA694725AC90906B120BC6ED052B820EC" /> <ComponentRef Id="cmp91FEAFB7B7E439A3149432AC75C30483" />
<ComponentRef Id="cmp9F68EB0D01C258AFF8A160616F017CC6" /> <ComponentRef Id="cmp46876B54A156835169D2D53153CCB721" />
<ComponentRef Id="cmpC49759288BFBD4977B75C3C2666BFB1A" /> <ComponentRef Id="cmp076623E243053854E2E7CAB7513C2F12" />
<ComponentRef Id="cmp192C74207CA975756F65616672478110" /> <ComponentRef Id="cmp55C89147C2FE0A38848E3A67E4223038" />
<ComponentRef Id="cmp2EA52751158DBB689A9A03A9D3094EB3" /> <ComponentRef Id="cmpBCFC92A50A3ACD13A1E5D3364E207668" />
<ComponentRef Id="cmp106813C0BB3FE64D6E9D5FC6CDC1FF92" /> <ComponentRef Id="cmp3140A9EFC6CD4F9F63FDC7282532537C" />
<ComponentRef Id="cmp8907B142997C1E0613C32A1C536C5122" /> <ComponentRef Id="cmp8907B142997C1E0613C32A1C536C5122" />
<ComponentRef Id="cmp17EC96974E9D7222C8BAD002E8B6A792" /> <ComponentRef Id="cmp17EC96974E9D7222C8BAD002E8B6A792" />
<ComponentRef Id="cmp9B1CE895DCA915D6CEFBA5A5D4D37400" /> <ComponentRef Id="cmp9B1CE895DCA915D6CEFBA5A5D4D37400" />

View File

@ -100,7 +100,10 @@
# set netlist_dir $env(HOME)/.xschem/simulations # set netlist_dir $env(HOME)/.xschem/simulations
#### if this is set to '1' netlists and simulations will go into a simulation/ folder #### if this is set to '1' netlists and simulations will go into a simulation/ folder
#### inside the directory containing the top level schematic. Default: not set (0) #### inside the directory containing the top level schematic.
#### if this is set to '2' netlists and simulations will go into a simulation/[schname]/ folder
#### inside the directory containing the top level schematic.
#### Default: not set (0).
# set local_netlist_dir 1 # set local_netlist_dir 1
########################################################################### ###########################################################################
@ -150,6 +153,9 @@
#### allow color postscript and svg exports. Default: 1, enable color #### allow color postscript and svg exports. Default: 1, enable color
# set color_ps 1 # set color_ps 1
#### add a page title in the top left corner of the ps/pdf page. Default: enabled (1)
# set ps_page_title 1
#### set paper size: name, height, width. Sizes in 1/72 of an inch (typographical points) #### set paper size: name, height, width. Sizes in 1/72 of an inch (typographical points)
#### default: {a4 842 595} #### default: {a4 842 595}
# set ps_paper_size {a4 842 595} # set ps_paper_size {a4 842 595}
@ -159,6 +165,9 @@
#### this is the default: #### this is the default:
# set initial_geometry {900x600} # set initial_geometry {900x600}
#### initial geometry of load /save / insert component file selector
# set file_dialog_default_geometry 800x600
#### if set to 0, when zooming out allow the viewport do drift toward the mouse position, #### if set to 0, when zooming out allow the viewport do drift toward the mouse position,
#### allowing to move away by zooming / unzooming with mouse wheel #### allowing to move away by zooming / unzooming with mouse wheel
#### default setting: 0 #### default setting: 0
@ -182,6 +191,11 @@
#### default: not enabled (0) #### default: not enabled (0)
# set unselect_partial_sel_wires 0 # set unselect_partial_sel_wires 0
#### if set show selected elements while dragging the selection rectangle.
#### once selected these can not be unselected by retracting the selection rectangle
#### if not set show selected items at end of drag. Default: enabled (1)
# set incremental_select 0
#### if set to 1 automatically join/trim wires while editing #### if set to 1 automatically join/trim wires while editing
#### this may slow down on rally big designs. Can be disabled via menu #### this may slow down on rally big designs. Can be disabled via menu
#### default: 0 #### default: 0
@ -219,6 +233,9 @@
#### enable to scale grid point size as done with lines at close zoom, default: 0 #### enable to scale grid point size as done with lines at close zoom, default: 0
# set big_grid_points 0 # set big_grid_points 0
#### enable drawing grid axes. Default: enabled (1)
# set draw_grid_axes 1
#### enable grouping contiguous bits of bus slices in net->pin instance #### enable grouping contiguous bits of bus slices in net->pin instance
#### assignments for verilog netlists. Default: disabled (0) #### assignments for verilog netlists. Default: disabled (0)
# set verilog_bitblast 0 # set verilog_bitblast 0
@ -356,6 +373,7 @@ set to_pdf {gswin64c -sDEVICE=pdfwrite -o}
# set editor {gvim -f -geometry 90x28} # set editor {gvim -f -geometry 90x28}
# set editor { xterm -geometry 100x40 -e nano } # set editor { xterm -geometry 100x40 -e nano }
# set editor { xterm -geometry 100x40 -e pico } # set editor { xterm -geometry 100x40 -e pico }
# set editor {gedit -w}
#### For Windows #### For Windows
set editor {notepad.exe} set editor {notepad.exe}
@ -390,7 +408,9 @@ set editor {notepad.exe}
#### BESPICE WAVE SOCKET CONNECTION #### BESPICE WAVE SOCKET CONNECTION
########################################################################### ###########################################################################
#### set bespice wave listening port; default: not enabled #### set bespice wave listening port; default: not enabled
# set bespice_listen_port 2022 #### set port number to 0 so TCL will automatically and reliably find
#### a free port
# set bespice_listen_port 0
########################################################################### ###########################################################################
#### TCL FILES TO LOAD AT STARTUP #### TCL FILES TO LOAD AT STARTUP
@ -474,4 +494,14 @@ set editor {notepad.exe}
########################################################################### ###########################################################################
#### if you see garbage on screen / graphic artifacts while editing with #### if you see garbage on screen / graphic artifacts while editing with
#### xschem try to set this to 1. Default: not enabled (0) #### xschem try to set this to 1. Default: not enabled (0)
# set fix_broken_tiled_fill 0 # set fix_broken_tiled_fill 0
###########################################################################
#### FIX SOME REMOTE DESKTOP CONNECTION SOFTWARES NOT CORRECTLY REPORTING
#### MOUSE COORDINATES ON KEYPRESS / KEYRELEASE EVENTS
###########################################################################
#### If you see strange behavior while using keybindings to create graphic
#### objects ('w', 'l', 't', 'r', ...) try to set this to 1.
#### Default: not enabled (0)
# set fix_mouse_coord 0

View File

@ -51,7 +51,7 @@ p{padding: 15px 30px 10px;}
<a id="graphs"><h2>Using XSCHEM's internal graph functions</h2></a> <a id="graphs"><h2>Using XSCHEM's internal graph functions</h2></a>
<p> <p>
Xschem can now display waveforms by itself in the drawing area. in the Simulation menu there is an entry to Xschem can now display waveforms by itself in the drawing area. in the Simulation menu there is an entry to
add a graph: <kbd>Add waveform graph</kbd>. When this menu is pressed a box can be placed in the schematic: add a graph: <kbd>Graph -&gt; Add waveform graph</kbd>. When this menu is pressed a box can be placed in the schematic:
</p> </p>
<img src="graphs06.png"> <img src="graphs06.png">
<p class="important"> <p class="important">
@ -63,15 +63,14 @@ p{padding: 15px 30px 10px;}
<img src="graphs16.png"> <img src="graphs16.png">
<p> <p>
The next step is loading the simulation data, This is done by menu The next step is loading the simulation data, This is done by menu
<kbd>Simulation-&gt;Load/Unload ngspice .raw file</kbd>. This command loads a .raw file produced by a ngspice/Xyce <kbd>Waves-&gt;Op | Ac | Dc | Tran | Tran | Noise | Sp </kbd>. This command loads the user selected
simulation. The file name is expected to be <kbd>circuit.raw</kbd> where .raw file produced by a ngspice/Xyce simulation.
<kbd>circuit.sch</kbd> is the name of the schematic opened in the drawing area.
</p> </p>
<p class="important"> <p class="important">
Ensure the <kbd>circuit.raw</kbd> is saved in binary format (no <kbd>set filetype=ascii</kbd> in your testbench) Ensure the <kbd>circuit.raw</kbd> is saved in binary format (no <kbd>set filetype=ascii</kbd> in your testbench)
</p> </p>
<p> <p>
The raw file is searched for in the simulation/netlisting directory The raw file is usually located in the simulation/netlisting directory
<kbd>Simulation -&gt;set netlist dir</kbd>.<br> <kbd>Simulation -&gt;set netlist dir</kbd>.<br>
After placing a graph box and loading simulation data a wave can be added. If you place the mouse on the inside After placing a graph box and loading simulation data a wave can be added. If you place the mouse on the inside
of the box, close to the bottom/left/right edges and click the graph will be selected. of the box, close to the bottom/left/right edges and click the graph will be selected.

View File

@ -417,7 +417,7 @@ void draw_temp_string(GC gctext, int what, const char *str, short rot, short fli
void get_sym_text_size(int inst, int text_n, double *xscale, double *yscale) void get_sym_text_size(int inst, int text_n, double *xscale, double *yscale)
{ {
char attr[50]; char attr[50];
const char *ts; const char *ts=NULL;
double size; double size;
int sym_n = xctx->inst[inst].ptr; int sym_n = xctx->inst[inst].ptr;

View File

@ -1057,7 +1057,7 @@ static void print_vhdl_primitive(FILE *fd, int inst) /* netlist primitives, 200
if(!strcmp( get_tok_value(ptr->rect[PINLAYER][i].prop_ptr,"name",0), token+2)) { if(!strcmp( get_tok_value(ptr->rect[PINLAYER][i].prop_ptr,"name",0), token+2)) {
if(strboolcmp(get_tok_value(ptr->rect[PINLAYER][i].prop_ptr,"vhdl_ignore",0), "true")) { if(strboolcmp(get_tok_value(ptr->rect[PINLAYER][i].prop_ptr,"vhdl_ignore",0), "true")) {
str_ptr = net_name(inst,i, &multip, 0, 1); str_ptr = net_name(inst,i, &multip, 0, 1);
my_mstrcat(_ALLOC_ID_, &result, "----pin(", str_ptr, ")", NULL); my_mstrcat(_ALLOC_ID_, &result, "----pin(", str_ptr, ") ", NULL);
} }
break; break;
} }
@ -1118,7 +1118,7 @@ static void print_vhdl_primitive(FILE *fd, int inst) /* netlist primitives, 200
si = get_tok_value(prop, "verilog_ignore",0); si = get_tok_value(prop, "verilog_ignore",0);
if(strboolcmp(si, "true")) { if(strboolcmp(si, "true")) {
str_ptr = net_name(inst,n, &multip, 0, 1); str_ptr = net_name(inst,n, &multip, 0, 1);
my_mstrcat(_ALLOC_ID_, &result, "----pin(", str_ptr, ")", NULL); my_mstrcat(_ALLOC_ID_, &result, "----pin(", str_ptr, ") ", NULL);
} }
} }
my_free(_ALLOC_ID_, &pin_attr); my_free(_ALLOC_ID_, &pin_attr);
@ -2874,7 +2874,7 @@ static void print_verilog_primitive(FILE *fd, int inst) /* netlist switch level
char *prop = (xctx->inst[inst].ptr + xctx->sym)->rect[PINLAYER][i].prop_ptr; char *prop = (xctx->inst[inst].ptr + xctx->sym)->rect[PINLAYER][i].prop_ptr;
if(!strcmp( get_tok_value(prop,"name",0), token+2)) { if(!strcmp( get_tok_value(prop,"name",0), token+2)) {
str_ptr = net_name(inst,i, &multip, 0, 1); str_ptr = net_name(inst,i, &multip, 0, 1);
my_mstrcat(_ALLOC_ID_, &result, "----pin(", str_ptr, ")", NULL); my_mstrcat(_ALLOC_ID_, &result, "----pin(", str_ptr, ") ", NULL);
break; break;
} }
} }
@ -2934,7 +2934,7 @@ static void print_verilog_primitive(FILE *fd, int inst) /* netlist switch level
si = get_tok_value(prop, "verilog_ignore",0); si = get_tok_value(prop, "verilog_ignore",0);
if(strboolcmp(si, "true")) { if(strboolcmp(si, "true")) {
str_ptr = net_name(inst,n, &multip, 0, 1); str_ptr = net_name(inst,n, &multip, 0, 1);
my_mstrcat(_ALLOC_ID_, &result, "----pin(", str_ptr, ")", NULL); my_mstrcat(_ALLOC_ID_, &result, "----pin(", str_ptr, ") ", NULL);
} }
} }
my_free(_ALLOC_ID_, &pin_attr); my_free(_ALLOC_ID_, &pin_attr);