Automatic Functional ECO
The use case shows how to automatically fix two logic failing points in the implementation netlist.
Netlist implementation.gv has two failing points compared to netlist reference.gv. The two failing points, "state_reg_0_/D" and "state_reg_1_/D", are added into the argument list of "fix_logic" command.
The "fix_logic" command analyzes and optimizes the logic cone in the implementation netlist by referencing to the logic cone in the reference netlist. A minimum number of gate patch is created and applied to the failing logic cone.
GofCall ECO Script
# GofCall ECO script, run_example.pl use strict; undo_eco; # Discard previous ECO operations setup_eco("eco_example"); # Setup ECO name read_library("art.90nm.lib"); # Read in standard library read_design("-ref", "reference.gv"); # Read in the Reference Netlist read_design("-imp", "implementation.gv"); # Read in the implementation Netlist Which is under ECO set_top("topmod"); # Set the top module that ECO is working on # die; # User can uncomment out 'die' to let GOF stop here and do interactive debugs my @fixpoints; # Define the fix points push @fixpoints, "state_reg_0_/D"; # Fill in the failing point reported from LEC tool push @fixpoints, "state_reg_1_/D"; # Fill in the failing point reported from LEC tool fix_logic(@fixpoints); # Execute fix_logic command to fix all the failing points report_eco(); # ECO report write_verilog("eco_verilog.v"); # Write out ECO result in Verilog write_soce("eco_soce.tcl"); # Write out TCL script for SOC Encounter exit; # Exit when the ECO is done, comment it out to go to interactive mode when 'GOF >' appears
How to run the example
The example is in the released package. The steps to run the example:
The log file shows there are total 35 gates in the initial logic cone. After optimization, the patch has only 3 gates
Please read Use Cases for all use cases.
For other usages and flows, check Online Manual for more detail
Copyright © 2013 NanDigits Design Automation. All rights reserved.