"propagate_to" attribute for pins renamed to "goto"

This commit is contained in:
Stefan Frederik 2020-12-30 21:26:58 +01:00
parent c380df8f2f
commit 14ead18ea4
36 changed files with 96 additions and 86 deletions

View File

@ -943,7 +943,7 @@ int callback(int event, int mx, int my, KeySym key,
break;
}
if(key=='K' && state==(ControlMask|ShiftMask)) /* hilight net drilling thru elements */
/* with 'propagate_to' prop set on pins */
/* with 'goto=' prop set on pins */
{
if(xctx->semaphore >= 2) break;
enable_drill=1;

View File

@ -215,7 +215,7 @@ int vertical_move=0;
int pending_fullzoom=0;
double color_dim=0.0;
int no_undo=0;
int enable_drill=0; /* pass net hilights through components with 'propagate_to' property set on pins */
int enable_drill=0; /* pass net hilights through components with 'goto=' property set on pins */
int batch_mode = 0; /* no tcl console if set; batch mode */
int show_erc=1;

View File

@ -299,15 +299,14 @@ struct hilight_hashentry *bus_hilight_lookup(const char *token, int value, int w
void clear_all_hilights(void)
{
int i;
xctx->hilight_color=0;
if(!xctx->hilight_nets) return;
free_hilight_hash();
xctx->hilight_nets=0;
for(i=0;i<xctx->instances;i++) {
xctx->inst[i].color = -10000 ;
}
dbg(1, "clear_all_hilights(): clearing\n");
xctx->hilight_color=0;
}
void hilight_net_pin_mismatches(void)
@ -501,6 +500,8 @@ int search(const char *tok, const char *val, int sub, int sel)
if(!strcmp(tok,"cell::name")) {
has_token = (xctx->inst[i].name != NULL) && xctx->inst[i].name[0];
str = xctx->inst[i].name;
} else if(!strcmp(tok,"cell::propstring")) {
has_token = (str = (xctx->inst[i].ptr+ xctx->sym)->prop_ptr) ? 1 : 0;
} else if(!strncmp(tok,"cell::", 6)) { /* cell::xxx looks for xxx in global symbol attributes */
my_strdup(142, &tmpname,get_tok_value((xctx->inst[i].ptr+ xctx->sym)->prop_ptr,tok+6,0));
has_token = xctx->get_tok_size;
@ -658,7 +659,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 */
/* 'propagate_to' properties set on pins) */
/* 'goto' properties set on pins) */
void drill_hilight(int mode)
{
char *netname=NULL, *propagated_net=NULL;
@ -684,7 +685,7 @@ void drill_hilight(int mode)
if(entry && (en_hilight_conn_inst || (symbol->type && IS_LABEL_SH_OR_PIN(symbol->type))) ) {
xctx->inst[i].color = entry->value;
}
my_strdup(1225, &propagate_str, get_tok_value(rct[j].prop_ptr, "propagate_to", 0));
my_strdup(1225, &propagate_str, get_tok_value(rct[j].prop_ptr, "goto", 0));
if(propagate_str) {
int n = 1;
const char *propag;
@ -696,7 +697,7 @@ void drill_hilight(int mode)
if(entry) {
propagate = atoi(propag);
if(propagate < 0 || propagate >= npin) {
dbg(0, "Error: inst: %s, pin %d, propagate_to set to %s <<%d>>\n",
dbg(0, "Error: inst: %s, pin %d, goto set to %s <<%d>>\n",
xctx->inst[i].instname, j, propagate_str, propagate);
continue;
}
@ -966,6 +967,14 @@ int eval_logic_expr(int inst, int output)
stack[sp - 2] = res;
sp--;
}
} else if(arg[0] == 'L') { /* logic low (0) */
if(sp < STACKMAX) {
stack[sp++] = 0;
}
} else if(arg[0] == 'H') { /* logic high (1) */
if(sp < STACKMAX) {
stack[sp++] = 1;
}
} else if(isdigit(arg[0])) {
if(sp < STACKMAX) {
stack[sp++] = get_logic_value(inst, atoi(arg));
@ -1000,7 +1009,7 @@ void propagate_logic()
npin = symbol->rects[PINLAYER];
rct=symbol->rect[PINLAYER];
for(j=0; j<npin;j++) {
my_strdup(1223, &propagate_str, get_tok_value(rct[j].prop_ptr, "propagate_to", 0));
my_strdup(1223, &propagate_str, get_tok_value(rct[j].prop_ptr, "goto", 0));
if(propagate_str) {
int n = 1;
const char *propag;
@ -1034,7 +1043,7 @@ void propagate_logic()
if(!propag[0]) break;
propagate = atoi(propag);
if(propagate < 0 || propagate >= npin) {
dbg(0, "Error: inst: %s, pin %d, propagate_to set to %s <<%d>>\n",
dbg(0, "Error: inst: %s, pin %d, goto set to %s <<%d>>\n",
xctx->inst[i].instname, j, propagate_str, propagate);
continue;
}

View File

@ -2009,7 +2009,8 @@ int xschem(ClientData clientdata, Tcl_Interp *interp, int argc, const char * arg
if( !strcmp(argv[2],"regex") ) r = search(argv[4],argv[5],0,select);
else r = search(argv[4],argv[5],1,select);
if(r == 0) {
if(has_x && !strcmp(argv[1],"searchmenu")) tcleval("tk_messageBox -type ok -message {Not found.}");
if(has_x && !strcmp(argv[1],"searchmenu"))
tcleval("tk_messageBox -type ok -message {Not found.}");
Tcl_SetResult(interp,"0", TCL_STATIC);
} else {
Tcl_SetResult(interp,"1", TCL_STATIC);

View File

@ -11,7 +11,7 @@ E {}
L 4 -30 0 30 0 {}
L 4 -10 -5 10 0 {}
L 4 -10 5 10 0 {}
B 5 27.5 -2.5 32.5 2.5 {name=d dir=out verilog_type=wire propagate_to=1}
B 5 -32.5 -2.5 -27.5 2.5 {name=s dir=in verilog_type=wire propagate_to=0}
B 5 27.5 -2.5 32.5 2.5 {name=d dir=out verilog_type=wire goto=1}
B 5 -32.5 -2.5 -27.5 2.5 {name=s dir=in verilog_type=wire goto=0}
T {@name} -25 -10 0 0 0.12 0.12 {}
T {@adc_bridge_model} 0 -10 0 0 0.12 0.12 {}

View File

@ -10,8 +10,8 @@ E {}
L 4 0 -30 0 30 {}
L 4 -7.5 0 -0 10 {}
L 4 -0 10 7.5 0 {}
B 5 -2.5 -32.5 2.5 -27.5 {name=p dir=inout propagate_to=1}
B 5 -2.5 27.5 2.5 32.5 {name=m dir=inout propagate_to=0}
B 5 -2.5 -32.5 2.5 -27.5 {name=p dir=inout goto=1}
B 5 -2.5 27.5 2.5 32.5 {name=m dir=inout goto=0}
T {@current} 10 2.5 0 0 0.2 0.2 {layer=15}
T {@name} 15 -18.75 0 0 0.2 0.2 {}
T {@#0:net_name} 10 -28.75 0 0 0.15 0.15 {layer=15}

View File

@ -13,5 +13,5 @@ L 4 -30 0 30 0 {}
L 4 -10 -5 10 0 {}
L 4 -10 5 10 0 {}
B 5 27.5 -2.5 32.5 2.5 {name=d dir=out verilog_type=wire }
B 5 -32.5 -2.5 -27.5 2.5 {name=s dir=in verilog_type=wire propagate_to=0}
B 5 -32.5 -2.5 -27.5 2.5 {name=s dir=in verilog_type=wire goto=0}
T {@name @delay} -25 -10 0 0 0.1 0.1 {}

View File

@ -21,8 +21,8 @@ L 4 0 -30 0 -5 {}
L 4 -10 -5 10 -5 {}
L 4 2.5 -22.5 7.5 -22.5 {}
L 4 5 -25 5 -20 {}
B 5 -2.5 -32.5 2.5 -27.5 {name=p dir=inout propagate_to=1 pinnumber=1}
B 5 -2.5 27.5 2.5 32.5 {name=m dir=inout propagate_to=0 pinnumber=2}
B 5 -2.5 -32.5 2.5 -27.5 {name=p dir=inout goto=1 pinnumber=1}
B 5 -2.5 27.5 2.5 32.5 {name=m dir=inout goto=0 pinnumber=2}
A 4 0 26.25 21.25 61.92751306414704 56.14497387170592 {}
T {@value} 15 0 0 0 0.25 0.2 {}
T {@name} 15 -13.75 0 0 0.2 0.2 {}

View File

@ -21,5 +21,5 @@ L 4 -5 5 5 -5 {}
L 4 -5 10 5 0 {}
L 4 -5 15 5 5 {}
L 4 0 15 5 10 {}
B 5 -2.5 -32.5 2.5 -27.5 {name=p dir=out propagate_to=1}
B 5 -2.5 27.5 2.5 32.5 {name=m dir=in propagate_to=0}
B 5 -2.5 -32.5 2.5 -27.5 {name=p dir=out goto=1}
B 5 -2.5 27.5 2.5 32.5 {name=m dir=in goto=0}

View File

@ -28,9 +28,9 @@ L 4 -18.75 -7.5 -11.25 -7.5 {}
L 4 -18.75 -5 -11.25 -5 {}
L 4 -15 -5 -15 0 {}
B 4 -7.5 -7.5 7.5 7.5 {}
B 5 -2.5 -32.5 2.5 -27.5 {name=P dir=inout propagate_to=1 pinnumber=1}
B 5 -32.5 -2.5 -27.5 2.5 {name=G dir=inout propagate_to=0 pinnumber=2}
B 5 -2.5 27.5 2.5 32.5 {name=M dir=inout propagate_to=0 pinnumber=3}
B 5 -2.5 -32.5 2.5 -27.5 {name=P dir=inout goto=1 pinnumber=1}
B 5 -32.5 -2.5 -27.5 2.5 {name=G dir=inout goto=0 pinnumber=2}
B 5 -2.5 27.5 2.5 32.5 {name=M dir=inout goto=0 pinnumber=3}
T {@name} 25 -13.75 0 0 0.2 0.2 {}
T {@value} 25 1.25 0 0 0.2 0.2 {}
T {@#0:pinnumber} 5 -26.25 0 0 0.2 0.2 {layer=13}

View File

@ -20,8 +20,8 @@ L 4 0 -30 0 -12.5 {}
L 4 -15 12.5 15 12.5 {}
L 4 -15 -12.5 15 -12.5 {}
B 4 -7.5 -7.5 7.5 7.5 {}
B 5 -2.5 -32.5 2.5 -27.5 {name=P dir=inout propagate_to=1 pinnumber=1}
B 5 -2.5 27.5 2.5 32.5 {name=M dir=inout propagate_to=0 pinnumber=2}
B 5 -2.5 -32.5 2.5 -27.5 {name=P dir=inout goto=1 pinnumber=1}
B 5 -2.5 27.5 2.5 32.5 {name=M dir=inout goto=0 pinnumber=2}
T {@name} 25 -13.75 0 0 0.2 0.2 {}
T {@value} 25 1.25 0 0 0.2 0.2 {}
T {@#0:pinnumber} -10 -26.25 0 1 0.2 0.2 {layer=13}

View File

@ -11,7 +11,7 @@ E {}
L 4 -30 0 30 0 {}
L 4 -10 -5 10 0 {}
L 4 -10 5 10 0 {}
B 5 27.5 -2.5 32.5 2.5 {name=d dir=out verilog_type=wire propagate_to=1}
B 5 -32.5 -2.5 -27.5 2.5 {name=s dir=in verilog_type=wire propagate_to=0}
B 5 27.5 -2.5 32.5 2.5 {name=d dir=out verilog_type=wire goto=1}
B 5 -32.5 -2.5 -27.5 2.5 {name=s dir=in verilog_type=wire goto=0}
T {@name} -25 -10 0 0 0.12 0.12 {}
T {@dac_bridge_model} 0 -10 0 0 0.12 0.12 {}

View File

@ -63,8 +63,8 @@ L 4 6.25 12.5 7.5 10.9375 {}
L 4 0 13.75 6.25 12.5 {}
L 4 7.5 -26.25 7.5 -21.25 {}
L 4 5 -23.75 10 -23.75 {}
B 5 -2.5 -32.5 2.5 -27.5 {name=p dir=inout propagate_to=1 pinnumber=1}
B 5 -2.5 27.5 2.5 32.5 {name=m dir=inout propagate_to=0 pinnumber=2}
B 5 -2.5 -32.5 2.5 -27.5 {name=p dir=inout goto=1 pinnumber=1}
B 5 -2.5 27.5 2.5 32.5 {name=m dir=inout goto=0 pinnumber=2}
T {@#0:pinnumber} -10 -27.5 0 1 0.2 0.2 {layer=13}
T {@#1:pinnumber} -10 17.5 0 1 0.2 0.2 {layer=13}
T {@#0:net_name} 5 -42.5 0 0 0.15 0.15 {layer=15}

View File

@ -16,8 +16,8 @@ L 4 0 15 0 30 {}
L 4 0 -30 0 -15 {}
L 4 2.5 -22.5 7.5 -22.5 {}
L 4 5 -25 5 -20 {}
B 5 -2.5 -32.5 2.5 -27.5 {name=P dir=inout propagate_to=1 pinnumber=1}
B 5 -2.5 27.5 2.5 32.5 {name=M dir=inout propagate_to=0 pinnumber=2}
B 5 -2.5 -32.5 2.5 -27.5 {name=P dir=inout goto=1 pinnumber=1}
B 5 -2.5 27.5 2.5 32.5 {name=M dir=inout goto=0 pinnumber=2}
A 4 0 12.5 2.5 270 360 {}
A 4 0 -12.5 2.5 270 360 {}
T {@name} 15 -13.75 0 0 0.2 0.2 {}

View File

@ -34,8 +34,8 @@ L 4 -7.5 -17.5 0 -20 {}
L 4 0 -30 0 -20 {}
L 4 2.5 -22.5 7.5 -22.5 {}
L 4 5 -25 5 -20 {}
B 5 -2.5 -32.5 2.5 -27.5 {name=P dir=inout propagate_to=1 pinnumber=1}
B 5 -2.5 27.5 2.5 32.5 {name=M dir=inout propagate_to=0 pinnumber=2}
B 5 -2.5 -32.5 2.5 -27.5 {name=P dir=inout goto=1 pinnumber=1}
B 5 -2.5 27.5 2.5 32.5 {name=M dir=inout goto=0 pinnumber=2}
T {@name} 15 -18.75 0 0 0.2 0.2 {}
T {@value} 15 -6.25 0 0 0.2 0.2 {}
T {@#0:pinnumber} -10 -26.25 0 1 0.2 0.2 {layer=13}

View File

@ -24,8 +24,8 @@ L 4 -7.5 -17.5 0 -20 {}
L 4 0 -30 0 -20 {}
L 4 2.5 -22.5 7.5 -22.5 {}
L 4 5 -25 5 -20 {}
B 5 -2.5 -32.5 2.5 -27.5 {name=P dir=inout propagate_to=1 pinnumber=1}
B 5 -2.5 27.5 2.5 32.5 {name=M dir=inout propagate_to=0 pinnumber=2}
B 5 -2.5 -32.5 2.5 -27.5 {name=P dir=inout goto=1 pinnumber=1}
B 5 -2.5 27.5 2.5 32.5 {name=M dir=inout goto=0 pinnumber=2}
T {@name} 15 -18.75 0 0 0.2 0.2 {}
T {@value} 15 -6.25 0 0 0.2 0.2 {}
T {@#0:pinnumber} -10 -26.25 0 1 0.2 0.2 {layer=13}

View File

@ -32,9 +32,9 @@ L 4 -20 -5 -10 0 {}
L 4 -20 -5 -20 5 {}
L 4 -20 5 -10 -0 {}
L 4 -30 0 -20 -0 {}
B 5 -32.5 -2.5 -27.5 2.5 {name=C dir=inout propagate_to=1 pinnumber=1}
B 5 -2.5 27.5 2.5 32.5 {name=M dir=inout propagate_to=0 pinnumber=2}
B 5 -2.5 -32.5 2.5 -27.5 {name=P dir=inout propagate_to=1 pinnumber=3}
B 5 -32.5 -2.5 -27.5 2.5 {name=C dir=inout goto=1 pinnumber=1}
B 5 -2.5 27.5 2.5 32.5 {name=M dir=inout goto=0 pinnumber=2}
B 5 -2.5 -32.5 2.5 -27.5 {name=P dir=inout goto=1 pinnumber=3}
T {@name} 15 -13.75 0 0 0.2 0.2 {}
T {@value} 15 1.25 0 0 0.2 0.2 {}
T {@#2:pinnumber} -10 -28.75 0 1 0.2 0.2 {layer=13}

View File

@ -19,9 +19,9 @@ L 4 -25 -30 -5 -30 {}
L 4 -25 30 -5 30 {}
B 5 57.5 -2.5 62.5 2.5 {name=Z dir=out verilog_type=wire}
B 5 -42.5 -22.5 -37.5 -17.5 {name=A dir=in
propagate_to=0}
goto=0}
B 5 -42.5 17.5 -37.5 22.5 {name=B dir=in
propagate_to=0}
goto=0}
A 4 40 0 5 180 360 {}
A 4 -9.642857142857142 17.85714285714286 48.0818286351295 21.80140948635181 62.65738573560834 {}
A 4 -4.6875 -11.25 41.25118369513777 269.5659493678606 74.60789655596687 {}

View File

@ -111,8 +111,8 @@ L 4 -7.5 -17.5 0 -20 {}
L 4 0 -30 0 -20 {}
L 4 2.5 -22.5 7.5 -22.5 {}
L 4 5 -25 5 -20 {}
B 5 -2.5 -32.5 2.5 -27.5 {name=p dir=inout propagate_to=1 pinnumber=1}
B 5 -2.5 27.5 2.5 32.5 {name=m dir=inout propagate_to=0 pinnumber=2}
B 5 -2.5 -32.5 2.5 -27.5 {name=p dir=inout goto=1 pinnumber=1}
B 5 -2.5 27.5 2.5 32.5 {name=m dir=inout goto=0 pinnumber=2}
T {@name} 15 -18.75 0 0 0.2 0.2 {}
T {@value} 15 -3.75 0 0 0.2 0.2 {}
T {m=@m} 15 11.25 0 0 0.2 0.2 {}

View File

@ -168,8 +168,8 @@ L 4 -7.5 -17.5 0 -20 {}
L 4 0 -30 0 -20 {}
L 4 2.5 -22.5 7.5 -22.5 {}
L 4 5 -25 5 -20 {}
B 5 -2.5 -32.5 2.5 -27.5 {name=p dir=inout propagate_to=1 pinnumber=1}
B 5 -2.5 27.5 2.5 32.5 {name=m dir=inout propagate_to=0 pinnumber=2}
B 5 -2.5 -32.5 2.5 -27.5 {name=p dir=inout goto=1 pinnumber=1}
B 5 -2.5 27.5 2.5 32.5 {name=m dir=inout goto=0 pinnumber=2}
T {@name} 15 -18.75 0 0 0.2 0.2 {}
T {@value} 15 -3.75 0 0 0.2 0.2 {}
T {m=@m} 15 11.25 0 0 0.2 0.2 {}

View File

@ -111,8 +111,8 @@ L 4 -7.5 -17.5 0 -20 {}
L 4 0 -30 0 -20 {}
L 4 2.5 -22.5 7.5 -22.5 {}
L 4 5 -25 5 -20 {}
B 5 -2.5 -32.5 2.5 -27.5 {name=p dir=inout propagate_to=1 pinnumber=1}
B 5 -2.5 27.5 2.5 32.5 {name=m dir=inout propagate_to=0 pinnumber=2}
B 5 -2.5 -32.5 2.5 -27.5 {name=p dir=inout goto=1 pinnumber=1}
B 5 -2.5 27.5 2.5 32.5 {name=m dir=inout goto=0 pinnumber=2}
T {@name} 15 -18.75 0 0 0.2 0.2 {}
T {@value} 15 -3.75 0 0 0.2 0.2 {}
T {m=@m} 15 11.25 0 0 0.2 0.2 {}

View File

@ -17,8 +17,8 @@ L 4 -30 -30 -30 30 {}
L 4 -30 30 5 30 {}
L 4 -30 -30 5 -30 {}
L 4 35 0 60 0 {}
B 5 -62.5 -22.5 -57.5 -17.5 {name=A dir=in propagate_to=2 }
B 5 -62.5 17.5 -57.5 22.5 {name=B dir=in propagate_to=2 }
B 5 -62.5 -22.5 -57.5 -17.5 {name=A dir=in goto=2 }
B 5 -62.5 17.5 -57.5 22.5 {name=B dir=in goto=2 }
B 5 57.5 -2.5 62.5 2.5 {name=X dir=out }
A 4 5 0 30 270 180 {}
T {@name} -28.75 -5 0 0 0.2 0.2 {}

View File

@ -21,9 +21,9 @@ L 4 -40 20 -40 40 {}
L 4 -40 20 -30 20 {}
L 4 -40 -40 -40 -20 {}
L 4 -40 -20 -30 -20 {}
B 5 -62.5 -42.5 -57.5 -37.5 {name=A dir=in propagate_to=3 }
B 5 -62.5 -2.5 -57.5 2.5 {name=B dir=in propagate_to=3 }
B 5 -62.5 37.5 -57.5 42.5 {name=C dir=in propagate_to=3 }
B 5 -62.5 -42.5 -57.5 -37.5 {name=A dir=in goto=3 }
B 5 -62.5 -2.5 -57.5 2.5 {name=B dir=in goto=3 }
B 5 -62.5 37.5 -57.5 42.5 {name=C dir=in goto=3 }
B 5 57.5 -2.5 62.5 2.5 {name=X dir=out }
A 4 5 0 30 270 180 {}
T {@name} -28.75 -5 0 0 0.2 0.2 {}

View File

@ -27,10 +27,10 @@ L 4 -45 10 -45 20 {}
L 4 -45 10 -30 10 {}
L 4 -45 -20 -45 -10 {}
L 4 -45 -10 -30 -10 {}
B 5 -62.5 -62.5 -57.5 -57.5 {name=A dir=in propagate_to=4 }
B 5 -62.5 -22.5 -57.5 -17.5 {name=B dir=in propagate_to=4 }
B 5 -62.5 17.5 -57.5 22.5 {name=C dir=in propagate_to=4 }
B 5 -62.5 57.5 -57.5 62.5 {name=D dir=in propagate_to=4 }
B 5 -62.5 -62.5 -57.5 -57.5 {name=A dir=in goto=4 }
B 5 -62.5 -22.5 -57.5 -17.5 {name=B dir=in goto=4 }
B 5 -62.5 17.5 -57.5 22.5 {name=C dir=in goto=4 }
B 5 -62.5 57.5 -57.5 62.5 {name=D dir=in goto=4 }
B 5 57.5 -2.5 62.5 2.5 {name=X dir=out }
A 4 5 0 30 270 180 {}
T {D} -55 46 0 0 0.2 0.2 {}

View File

@ -19,10 +19,10 @@ L 4 -90 0 -70 0 {}
L 4 -90 20 -70 20 {}
L 4 70 -20 90 -20 {}
B 5 -92.5 -22.5 -87.5 -17.5 {name=CLK dir=in
propagate_to=3 clock=1}
goto=3 clock=1}
B 5 -92.5 -2.5 -87.5 2.5 {name=D dir=in }
B 5 -92.5 17.5 -87.5 22.5 {name=RESET_B dir=in
propagate_to=3
goto=3
clock=2}
B 5 87.5 -22.5 92.5 -17.5 {name=Q dir=out }
T {@symname} 0 -6 0 0 0.3 0.3 {hcenter=true}

View File

@ -18,9 +18,9 @@ L 4 -90 0 -70 0 {}
L 4 -90 20 -70 20 {}
L 4 70 -20 90 -20 {}
B 5 -92.5 -22.5 -87.5 -17.5 {name=D dir=in
propagate_to=3}
goto=3}
B 5 -92.5 -2.5 -87.5 2.5 {name=GATE_N dir=in
propagate_to=3}
goto=3}
B 5 -92.5 17.5 -87.5 22.5 {name=RESET_B dir=in }
B 5 87.5 -22.5 92.5 -17.5 {name=Q dir=out }
T {@symname} 20 -6 0 0 0.3 0.3 {hcenter=true}

View File

@ -18,9 +18,9 @@ L 4 -90 0 -70 0 {}
L 4 -90 20 -70 20 {}
L 4 70 -20 90 -20 {}
B 5 -92.5 -22.5 -87.5 -17.5 {name=D dir=in
propagate_to=3}
goto=3}
B 5 -92.5 -2.5 -87.5 2.5 {name=GATE dir=in
propagate_to=3}
goto=3}
B 5 -92.5 17.5 -87.5 22.5 {name=RESET_B dir=in }
B 5 87.5 -22.5 92.5 -17.5 {name=Q dir=out }
T {@symname} 0 -6 0 0 0.3 0.3 {hcenter=true}

View File

@ -24,11 +24,11 @@ L 4 -60 40 -40 40 {}
L 4 40 -40 60 -40 {}
L 4 40 40 60 40 {}
B 5 -62.5 -42.5 -57.5 -37.5 {name=A dir=in
propagate_to=3,4}
goto=3,4}
B 5 -62.5 -2.5 -57.5 2.5 {name=B dir=in
propagate_to=3,4}
goto=3,4}
B 5 -62.5 37.5 -57.5 42.5 {name=CIN dir=in
propagate_to=3,4}
goto=3,4}
B 5 57.5 -42.5 62.5 -37.5 {name=COUT dir=out }
B 5 57.5 37.5 62.5 42.5 {name=SUM dir=out }
T {@symname} -10 -76 0 0 0.3 0.3 {hcenter=true}

View File

@ -16,7 +16,7 @@ L 4 -20 -20 20 0 {}
L 4 -20 20 20 0 {}
L 4 30 0 40 0 {}
L 4 -40 0 -20 0 {}
B 5 -42.5 -2.5 -37.5 2.5 {name=A dir=in propagate_to=1}
B 5 -42.5 -2.5 -37.5 2.5 {name=A dir=in goto=1}
B 5 37.5 -2.5 42.5 2.5 {name=Y dir=out }
A 4 25 0 5 180 360 {}
T {A} -35 -14 0 0 0.2 0.2 {}

View File

@ -15,8 +15,8 @@ L 4 -30 -30 -30 30 {}
L 4 -30 30 5 30 {}
L 4 -30 -30 5 -30 {}
L 4 45 0 60 0 {}
B 5 -62.5 -22.5 -57.5 -17.5 {name=A dir=in propagate_to=2 }
B 5 -62.5 17.5 -57.5 22.5 {name=B dir=in propagate_to=2 }
B 5 -62.5 -22.5 -57.5 -17.5 {name=A dir=in goto=2 }
B 5 -62.5 17.5 -57.5 22.5 {name=B dir=in goto=2 }
B 5 57.5 -2.5 62.5 2.5 {name=Y dir=out }
A 4 5 0 30 270 180 {}
A 4 40 0 5 0 360 {}

View File

@ -20,9 +20,9 @@ L 4 -40 20 -40 40 {}
L 4 -40 20 -30 20 {}
L 4 -40 -40 -40 -20 {}
L 4 -40 -20 -30 -20 {}
B 5 -62.5 -42.5 -57.5 -37.5 {name=A dir=in propagate_to=3 }
B 5 -62.5 -2.5 -57.5 2.5 {name=B dir=in propagate_to=3 }
B 5 -62.5 37.5 -57.5 42.5 {name=C dir=in propagate_to=3 }
B 5 -62.5 -42.5 -57.5 -37.5 {name=A dir=in goto=3 }
B 5 -62.5 -2.5 -57.5 2.5 {name=B dir=in goto=3 }
B 5 -62.5 37.5 -57.5 42.5 {name=C dir=in goto=3 }
B 5 57.5 -2.5 62.5 2.5 {name=Y dir=out }
A 4 5 0 30 270 180 {}
A 4 40 0 5 0 360 {}

View File

@ -26,10 +26,10 @@ L 4 -45 -10 -30 -10 {}
L 4 -60 60 -40 60 {}
L 4 -40 25 -40 60 {}
L 4 -40 25 -30 25 {}
B 5 -62.5 -62.5 -57.5 -57.5 {name=A dir=in propagate_to=4 }
B 5 -62.5 -22.5 -57.5 -17.5 {name=B dir=in propagate_to=4 }
B 5 -62.5 17.5 -57.5 22.5 {name=C dir=in propagate_to=4 }
B 5 -62.5 57.5 -57.5 62.5 {name=D dir=in propagate_to=4 }
B 5 -62.5 -62.5 -57.5 -57.5 {name=A dir=in goto=4 }
B 5 -62.5 -22.5 -57.5 -17.5 {name=B dir=in goto=4 }
B 5 -62.5 17.5 -57.5 22.5 {name=C dir=in goto=4 }
B 5 -62.5 57.5 -57.5 62.5 {name=D dir=in goto=4 }
B 5 57.5 -2.5 62.5 2.5 {name=Y dir=out }
A 4 5 0 30 270 180 {}
A 4 40 0 5 0 360 {}

View File

@ -25,10 +25,10 @@ L 4 -45 -10 -22.1875 -10 {}
L 4 -60 60 -40 60 {}
L 4 -40 25 -40 60 {}
L 4 -40 25 -27.5 25 {}
B 5 -62.5 -62.5 -57.5 -57.5 {name=A dir=in propagate_to=4 }
B 5 -62.5 -22.5 -57.5 -17.5 {name=B dir=in propagate_to=4 }
B 5 -62.5 17.5 -57.5 22.5 {name=C dir=in propagate_to=4 }
B 5 -62.5 57.5 -57.5 62.5 {name=D dir=in propagate_to=4 }
B 5 -62.5 -62.5 -57.5 -57.5 {name=A dir=in goto=4 }
B 5 -62.5 -22.5 -57.5 -17.5 {name=B dir=in goto=4 }
B 5 -62.5 17.5 -57.5 22.5 {name=C dir=in goto=4 }
B 5 -62.5 57.5 -57.5 62.5 {name=D dir=in goto=4 }
B 5 57.5 -2.5 62.5 2.5 {name=Y dir=out }
A 4 40 0 5 0 360 {}
A 4 -77.5 0 56.18051263561058 327.7243556854224 64.55128862915524 {}

View File

@ -22,9 +22,9 @@ L 4 -17.5 20 10 20 {}
L 4 -17.5 20 -17.5 40 {}
L 4 -80 40 -17.5 40 {}
L 4 67.5 0 80 0 {}
B 5 -82.5 -42.5 -77.5 -37.5 {name=A1 dir=in propagate_to=3 }
B 5 -82.5 -2.5 -77.5 2.5 {name=A2 dir=in propagate_to=3 }
B 5 -82.5 37.5 -77.5 42.5 {name=B1 dir=in propagate_to=3 }
B 5 -82.5 -42.5 -77.5 -37.5 {name=A1 dir=in goto=3 }
B 5 -82.5 -2.5 -77.5 2.5 {name=A2 dir=in goto=3 }
B 5 -82.5 37.5 -77.5 42.5 {name=B1 dir=in goto=3 }
B 5 77.5 -2.5 82.5 2.5 {name=Y dir=out }
A 4 -105 -20 56.18051263561058 327.7243556854224 64.55128862915524 {}
A 4 27.5 0 30 270 180 {}

View File

@ -26,10 +26,10 @@ L 4 -45 -10 -22.1875 -10 {}
L 4 -60 60 -40 60 {}
L 4 -40 25 -40 60 {}
L 4 -40 25 -27.5 25 {}
B 5 -62.5 -62.5 -57.5 -57.5 {name=A dir=in propagate_to=4 }
B 5 -62.5 -22.5 -57.5 -17.5 {name=B dir=in propagate_to=4 }
B 5 -62.5 17.5 -57.5 22.5 {name=C dir=in propagate_to=4 }
B 5 -62.5 57.5 -57.5 62.5 {name=D dir=in propagate_to=4 }
B 5 -62.5 -62.5 -57.5 -57.5 {name=A dir=in goto=4 }
B 5 -62.5 -22.5 -57.5 -17.5 {name=B dir=in goto=4 }
B 5 -62.5 17.5 -57.5 22.5 {name=C dir=in goto=4 }
B 5 -62.5 57.5 -57.5 62.5 {name=D dir=in goto=4 }
B 5 57.5 -2.5 62.5 2.5 {name=X dir=out }
A 4 -77.5 0 56.18051263561058 327.7243556854224 64.55128862915524 {}
A 4 -21.07142857142857 36.78571428571431 67.06112046149408 33.26691584358777 51.53865524867743 {}

View File

@ -14,9 +14,9 @@ L 4 -60 20 -35 20 {}
L 4 35 0 60 0 {}
L 4 -30 -30 -15 -30 {}
L 4 -30 30 -15 30 {}
B 5 -62.5 -22.5 -57.5 -17.5 {name=A dir=in propagate_to=2
B 5 -62.5 -22.5 -57.5 -17.5 {name=A dir=in goto=2
function2="0 1 ^"}
B 5 -62.5 17.5 -57.5 22.5 {name=B dir=in propagate_to=2 }
B 5 -62.5 17.5 -57.5 22.5 {name=B dir=in goto=2 }
B 5 57.5 -2.5 62.5 2.5 {name=X dir=out }
A 4 -77.5 0 56.18051263561058 327.7243556854224 64.55128862915524 {}
A 4 -21.07142857142857 36.78571428571428 67.06112046149408 33.26691584358777 51.53865524867743 {}