Complicated Combinational Logic ECO
The quality of ECO is measured by the amount of logic in the old implementation that can be reused in the final new implementation. One issue with Complicated Combinational Logic is that, after synthesis all readable wire names have been optimized away or replaced by random strings and numbers. It's hard to pinpoint the ECO location and do the ECO manually, so an ECO tool having comprehensive algorithm built-in has to be used in fixing the logic.
To measure the quality of ECO, the patch size in single combinational signal rectification is the good criteria. The less number of gates used, the better performance.
A single combinational signal rectification case is shown in Figure 1. One signal in the middle of a combination logic cone should be pinpointed and replaced by the correct function.
Figure 1: Single error
In RTL file, the above single-signal rectification can be one signal change in a big state machine as shown in the following Verilog pseudo-code.
always @(*) begin case(current_state[7:0]) IDLE: begin if(comb_sig0) next_state = START; else next_state = IDLE; end START: begin if(comb_sig1&comb_sig2|!comb_sig3) next_state = STATE1; else if(comb_sig4&comb_sig5&!comb_sig6|eco_comb_sig) next_state = STATE2; else if(comb_sig7|comb_sig8&!comb_sig9) next_state = STATE3; ...
Defect in Conformal ECO
Conformal ECO has a defect in dealing with single combination signal rectification in Complicated Combinational Logic.
Frequently, Conformal ECO is out of focus in pinpointing and fixing the error signal. As shown in Figure 2, it fails to reuse existing logic and brings redundant logic in ECO result, indicated by dark green color.
Figure 2: Conformal ECO Result
Gates On the Fly, GOF, can do a surgery like fix on the single combinational signal rectification case. As shown in Figure 3, the existing logic is fully utilized and very few gates have been added in the GOF ECO process comparing with Conformal ECO. Check one run case for detail.
Figure 3: GOF Result
Due to Logic Algebra limitation, a multiple-signal change ECO would result in adding redundant logic if it is run in one-shot. As shown in Figure 4, some redundant gates are added in ECO (Gates in dark green).
Figure 4: Multiple Errors
GOF provides a two-step ECO solution. The first step is to fix one signal with the only one signal modified in re-synthesis reference netlist. The second step is to apply two signals modified reference netlist on the ECO netlist from the first step.
Figure 5: GOF Two Steps ECO
One GOF experiment shows, the two-step uses only three gates comparing with 50+ gates in one-shot run. While Conformal ECO gives more than 50 gates in both two-step or one-shot run.
About 30 complicated combinational signal ECO cases have been run. Conformal ECO fails on most of them. GOF can successfully pinpoint the exact location and apply the minimum change in most cases.
The following table lists the ECO gate numbers added by GOF and Conformal ECO in all the 30 cases. Multiple cases show that GOF uses signal digit number of gates, while Conformal ECO uses 30s or 40s gates.