A Practical Way to Do Netlist ECO & Debug

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

 

GOF Performance

 

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

 

Multiple-signal Changes

 

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.

 

Experimental Results

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.

Index Case GOF Conformal
1 ECO10 3 2
2 ECO5 5 34
3 ECO27 11 21
4 ECO15 8 12
5 ECO7 6 25
6 ECO12 10 5
7 ECO4 7 10
8 ECO20 1 34
9 ECO4s 7 11
10 ECO22 2 49
11 ECO13 17 43
12 ECO25 1 48
13 ECO23 1 3
14 ECO19 1 13
15 ECO11 2 3
16 ECO29 99 70
17 ECO18 3 64
18 ECO14 8 45
19 ECO17 5 34
20 ECO24 1 4
21 ECO2 3 52
22 ECO21 18 19
23 ECO6 3 24
24 ECO26 8 9
25 ECO16 5 78
26 ECO9 1 19
27 ECO28 13 13
28 ECO30 3 38
29 ECO31 4 13
30 ECO32 26 19

 

 

 Home / Products / Download / Documents / UseCases / ContactUs / Usage / 中文

 Copyright © 2018 NanDigits Design Automation. All rights reserved.