small perf. optimization in propagate_logic()

This commit is contained in:
Stefan Frederik 2020-12-30 02:21:46 +01:00
parent 92ba91042f
commit c6bb28332e
2 changed files with 11 additions and 11 deletions

View File

@ -1054,8 +1054,10 @@ void propagate_logic()
entry = bus_hilight_lookup(propagated_net, 0, XLOOKUP); /* destination pin */
oldval = (!entry) ? LOGIC_X : entry->value;
val = map[eval_logic_expr(i, propagate)];
bus_hilight_lookup(propagated_net, val, XINSERT);
if(oldval != val) found=1; /* keep looping until no more nets are found. */
if(oldval != val) {
bus_hilight_lookup(propagated_net, val, XINSERT);
found=1; /* keep looping until no more nets are found. */
}
}
}
} /* for(j...) */

View File

@ -125,12 +125,12 @@ N 2580 -2610 2640 -2610 { lab=#net10}
N 2580 -2430 2640 -2430 { lab=#net10}
N 2580 -2250 2640 -2250 { lab=#net10}
N 2580 -2070 2640 -2070 { lab=#net10}
N 1910 -1430 3260 -1430 { lab=CLK}
N 1910 -1600 3260 -1600 { lab=CLK}
N 2290 -1920 2320 -1920 { lab=BNEXT[3]}
N 2290 -1960 2320 -1960 { lab=BNEXT[1]}
N 2290 -2000 2320 -2000 { lab=BNEXT[2]}
N 3260 -2650 3430 -2650 { lab=CLK}
N 3260 -2650 3260 -1430 { lab=CLK}
N 3260 -2650 3260 -1600 { lab=CLK}
N 2580 -2610 2580 -2430 { lab=#net10}
N 2580 -2430 2580 -2250 { lab=#net10}
N 2580 -2250 2580 -2070 { lab=#net10}
@ -278,9 +278,7 @@ N 1170 -260 1230 -260 { lab=S[6]}
N 3260 -2470 3430 -2470 { lab=CLK}
N 3260 -2290 3430 -2290 { lab=CLK}
N 3260 -2110 3430 -2110 { lab=CLK}
N 2600 -1360 3320 -1360 { lab=CLEAR_}
N 2600 -1360 2600 -1180 { lab=CLEAR_}
N 1900 -1180 2600 -1180 { lab=CLEAR_}
N 1900 -1360 3320 -1360 { lab=CLEAR_}
N 3320 -2610 3430 -2610 { lab=CLEAR_}
N 3320 -2610 3320 -1360 { lab=CLEAR_}
N 3320 -2430 3430 -2430 { lab=CLEAR_}
@ -341,10 +339,10 @@ tclcommand=" set count 0
"
}
C {inv_2.sym} 2620 -1960 0 0 {name=x1 VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR prefix=sky130_fd_sc_hd__ }
C {giant_label.sym} 1910 -1430 0 1 {name=l1 sig_type=std_logic lab=CLK text=CLK}
C {giant_label.sym} 1910 -1600 0 1 {name=l1 sig_type=std_logic lab=CLK text=CLK}
C {giant_label.sym} 2660 -1960 0 1 {name=l3 sig_type=std_logic lab=R text="RESET
COUNTER"}
C {giant_label.sym} 1900 -1180 0 1 {name=l4 sig_type=std_logic lab=CLEAR_ text="CLEAR (active low)"}
C {giant_label.sym} 1900 -1360 0 1 {name=l4 sig_type=std_logic lab=CLEAR_ text="CLEAR (active low)"}
C {segment.sym} 4560 -2230 0 0 {name=l6 sig_type=std_logic lab=S[3]}
C {segment.sym} 4030 -2200 1 0 {name=l2 sig_type=std_logic lab=S[1]}
C {segment.sym} 4530 -2200 3 1 {name=l5 sig_type=std_logic lab=S[2]}
@ -352,8 +350,8 @@ C {segment.sym} 4560 -2810 0 0 {name=l7 sig_type=std_logic lab=S[0]}
C {segment.sym} 4530 -2180 3 0 {name=l8 sig_type=std_logic lab=S[5]}
C {segment.sym} 4030 -2180 1 1 {name=l9 sig_type=std_logic lab=S[4]}
C {segment.sym} 4000 -1570 2 0 {name=l10 sig_type=std_logic lab=S[6]}
C {ipin.sym} 1900 -1180 0 0 {name=p8 sig_type=std_logic lab=CLEAR_}
C {ipin.sym} 1910 -1430 0 0 {name=p9 sig_type=std_logic lab=CLK}
C {ipin.sym} 1900 -1360 0 0 {name=p8 sig_type=std_logic lab=CLEAR_}
C {ipin.sym} 1910 -1600 0 0 {name=p9 sig_type=std_logic lab=CLK}
C {o21ai_1.sym} 2400 -1960 0 0 {name=x2 VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR prefix=sky130_fd_sc_hd__ }
C {lab_pin.sym} 2290 -1920 0 0 {name=l11 sig_type=std_logic lab=BNEXT[3]}
C {lab_pin.sym} 2290 -2000 0 0 {name=l12 sig_type=std_logic lab=BNEXT[2]}