Reducing Fix Scope in Automatic Functional ECO

Automatic functional ECO is to find non-equivalent points in the logic cone under ECO, minimize the "Fix Scope" as shown in Figure 1 by finding the proper non-equivalent boundary points.

If the initial Fix Scope is smaller, the tool can normally do better. There is practical way to reduce the initial Fix Scope size.

Figure 1: Functional ECO Fix Scope

The Fix Scope shown in Figure 1 is decided by three non-equivalent points, A, B and C. Point A is to tie input port to zero in the parent level and it's an easy manual fix. Point B and C are extracted by the tool. If we use 'change_pin' command to fix Point A, the Fix Scope will be redefined and shrunk.

The following is the script to mix the change_pin and automatic ECO command fix_design:

# GofCall ECO script, run_manual_and_auto_fix.pl
use strict;
undo_eco; # Discard previous ECO operations
setup_eco("eco_manual_and_auto_fix");# Setup ECO name
read_library("art.5nm.lib");# Read in standard library
read_svf("-ref", "reference.svf.txt"); # Optional, must be loaded before read_design, must be in text format
read_svf("-imp", "implementation.svf.txt"); # Optional, must be loaded before read_design, must be in text format
read_design("-ref", "reference.gv");# Read in Reference Netlist
read_design("-imp", "implementation.gv");# Read in Implementation Netlist Which is under ECO
set_top("topmod");# Set the top module
set_ignore_output("scan_out*");
set_pin_constant("scan_enable", 0);
set_pin_constant("scan_mode", 0);
change_pin("u_video_top/u_tile/decode_start", "1'b0"); # This is the Point A to be fixed in Figure 1
fix_design;
save_session("current_eco_name"); # Save a session for future restoration
report_eco(); # ECO report
check_design("-eco");# Check if the ECO causes any issue, like floating
write_verilog("eco_verilog.v");# Write out ECO result in Verilog
exit; # Exit when the ECO is done, comment it out to go to interactive mode when ’GOF >’ appears

After Point A is fixed, the Fix Scope is refined by Point B, C and a new point D. And it is greatly shrunk as shown in Figure 2. Sometimes, the tool can do much better on the smaller Fix Scope.

Figure 2: Reduced ECO Fix Scope

Conclusion

For complicated ECO, manual intervene can help improve the ECO quality. Mixing Automatic and Manual ECO can get a much smaller ECO patch.

Check another Mixed Mode ECO example.


Follow us:
NanDigits.com US | NanDigits.cn China
© 2023 NanDigits Design Automation. All rights reserved.