doc updates; only hilight connected instances (when doing a net highlight) if symbol (or instance) has highlight=true attribute set.
This commit is contained in:
parent
b272080637
commit
89f32313c3
|
|
@ -35,12 +35,16 @@ p{padding: 15px 30px 10px;}
|
||||||
Tck/Tk versions may vary on different systems, 8.4, 8.5, 8.6 versions are all good.
|
Tck/Tk versions may vary on different systems, 8.4, 8.5, 8.6 versions are all good.
|
||||||
</p>
|
</p>
|
||||||
<pre class="code">
|
<pre class="code">
|
||||||
tcl8.6 libx11-dev
|
libX11-6 libx11-dev
|
||||||
tk8.6 libxpm-dev
|
libxrender1 libxrender-dev
|
||||||
tcl8.6-dev bison
|
libxcb1 libx11-xcb-dev
|
||||||
tk8.6-dev flex
|
libcairo2 libcairo2-dev
|
||||||
gawk or mawk libcairo2-dev
|
tcl8.6 tcl8.6-dev
|
||||||
</pre>
|
tk8.6 tk8.6-dev
|
||||||
|
flex bison
|
||||||
|
libxpm4 libxpm-dev
|
||||||
|
gawk or mawk
|
||||||
|
</pre>
|
||||||
|
|
||||||
<p>If configure ends with no errors we are ready to compile:
|
<p>If configure ends with no errors we are ready to compile:
|
||||||
</p>
|
</p>
|
||||||
|
|
|
||||||
|
|
@ -327,6 +327,24 @@ m5 net1 b net2 VSSPIN nlv w=wn l=ln geomod=0 m=1
|
||||||
can be defined in case of elements with multiple outputs.
|
can be defined in case of elements with multiple outputs.
|
||||||
</p>
|
</p>
|
||||||
<img src="symbol_property_syntax5.png">
|
<img src="symbol_property_syntax5.png">
|
||||||
|
<p>
|
||||||
|
Commands that can appear in functions are:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li> <kbd>n</kbd>: A digit indicates to put on the stack the logic value (0, 1, X) of pin with sequence number <kbd>n</kbd>
|
||||||
|
The sequence number of a pin my be obtained by clicking the red square of the pin and pressing <kbd>Shift-S</kbd>.</li>
|
||||||
|
<li> <kbd>&</kbd>: Does a logical AND operation of the last 2 elements on top of the stack, the result is left on the stack</li>
|
||||||
|
<li> <kbd>|</kbd>: Does a logical OR operation of the last 2 elements on top of the stack, the result is left on the stack</li>
|
||||||
|
<li> <kbd>^</kbd>: Does a logical XOR operation of the last 2 elements on top of the stack, the result is left on the stack</li>
|
||||||
|
<li> <kbd>~</kbd>: Does a logical Negation operation of the last element on top of the stack, the result is left on the stack</li>
|
||||||
|
<li> <kbd>d</kbd>: Duplicates top element on the stack</li>
|
||||||
|
<li> <kbd>x</kbd>: Exhanges the 2 top elements on the stack</li>
|
||||||
|
<li> <kbd>H</kbd>: Puts a Logic '1' on the stack</li>
|
||||||
|
<li> <kbd>L</kbd>: Puts a Logic '0' on the stack</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
The remaining value on the stack is the value that is returned and assigned to the output pin.
|
||||||
|
</p>
|
||||||
<li><kbd>global</kbd></li>
|
<li><kbd>global</kbd></li>
|
||||||
<p>
|
<p>
|
||||||
a <kbd>global=true</kbd> property in a <kbd>label</kbd> type symbol will declare the corresponding net as 'global'.
|
a <kbd>global=true</kbd> property in a <kbd>label</kbd> type symbol will declare the corresponding net as 'global'.
|
||||||
|
|
|
||||||
|
|
@ -661,7 +661,7 @@ int search(const char *tok, const char *val, int sub, int sel)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* "drill" option (pass through resistors or pass gates or whatever elements with */
|
/* "drill" option (pass through resistors or pass gates or whatever elements with */
|
||||||
/* 'goto' properties set on pins) */
|
/* 'propag' properties set on pins) */
|
||||||
void drill_hilight(int mode)
|
void drill_hilight(int mode)
|
||||||
{
|
{
|
||||||
char *netname=NULL, *propagated_net=NULL;
|
char *netname=NULL, *propagated_net=NULL;
|
||||||
|
|
@ -671,7 +671,7 @@ void drill_hilight(int mode)
|
||||||
xRect *rct;
|
xRect *rct;
|
||||||
int i, j, npin;
|
int i, j, npin;
|
||||||
char *propagate_str = NULL;
|
char *propagate_str = NULL;
|
||||||
int propagate;
|
int propagate, hilight_connected_inst;
|
||||||
struct hilight_hashentry *entry, *propag_entry;
|
struct hilight_hashentry *entry, *propag_entry;
|
||||||
|
|
||||||
prepare_netlist_structs(0);
|
prepare_netlist_structs(0);
|
||||||
|
|
@ -681,10 +681,12 @@ void drill_hilight(int mode)
|
||||||
symbol = xctx->inst[i].ptr+xctx->sym;
|
symbol = xctx->inst[i].ptr+xctx->sym;
|
||||||
npin = symbol->rects[PINLAYER];
|
npin = symbol->rects[PINLAYER];
|
||||||
rct=symbol->rect[PINLAYER];
|
rct=symbol->rect[PINLAYER];
|
||||||
|
hilight_connected_inst = en_hilight_conn_inst &&
|
||||||
|
( (xctx->inst[i].flags & 4) || ((xctx->inst[i].ptr+ xctx->sym)->flags & 4) );
|
||||||
for(j=0; j<npin;j++) {
|
for(j=0; j<npin;j++) {
|
||||||
my_strdup(143, &netname, net_name(i, j, &mult, 1, 0));
|
my_strdup(143, &netname, net_name(i, j, &mult, 1, 0));
|
||||||
entry=bus_hilight_lookup(netname, 0, XLOOKUP);
|
entry=bus_hilight_lookup(netname, 0, XLOOKUP);
|
||||||
if(entry && (en_hilight_conn_inst || (symbol->type && IS_LABEL_SH_OR_PIN(symbol->type))) ) {
|
if(entry && (hilight_connected_inst || (symbol->type && IS_LABEL_SH_OR_PIN(symbol->type))) ) {
|
||||||
xctx->inst[i].color = entry->value;
|
xctx->inst[i].color = entry->value;
|
||||||
}
|
}
|
||||||
my_strdup(1225, &propagate_str, get_tok_value(rct[j].prop_ptr, "propag", 0));
|
my_strdup(1225, &propagate_str, get_tok_value(rct[j].prop_ptr, "propag", 0));
|
||||||
|
|
@ -813,7 +815,7 @@ static void send_current_to_gaw(int simtype, const char *node)
|
||||||
my_free(1182, &t);
|
my_free(1182, &t);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* hilight_instances: if set to 1 hilight non pin/label symbols with "highlight=true" attribute set */
|
/* hilight_instances: if set == 1 hilight non pin/label symbols with "highlight=true" attribute set */
|
||||||
void propagate_hilights(int set, int clear, int mode)
|
void propagate_hilights(int set, int clear, int mode)
|
||||||
{
|
{
|
||||||
int i, hilight_connected_inst;
|
int i, hilight_connected_inst;
|
||||||
|
|
|
||||||
|
|
@ -106,5 +106,5 @@ C {ngspice_probe.sym} 500 -390 0 0 {name=r1}
|
||||||
C {ngspice_probe.sym} 420 -160 0 0 {name=r2}
|
C {ngspice_probe.sym} 420 -160 0 0 {name=r2}
|
||||||
C {ngspice_probe.sym} 600 -260 0 0 {name=r3}
|
C {ngspice_probe.sym} 600 -260 0 0 {name=r3}
|
||||||
C {ngspice_probe.sym} 770 -420 0 0 {name=r4}
|
C {ngspice_probe.sym} 770 -420 0 0 {name=r4}
|
||||||
C {ngspice_get_value.sym} 620 -160 0 0 {name=r5 node=i(@m1[id])
|
C {ngspice_get_value.sym} 620 -160 0 0 {name=r5 node=i(@$\{path\}m1[id])
|
||||||
descr="I="}
|
descr="I="}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue