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.