Netlist ECO Flows
Gates On the Fly provides eight ECO flows for different netlist ECO scenarios. The ECO decision tree illustrates how to choose a proper ECO flow with specific decision factors.
Automatic ECO is done by "fix_logic" command in GofCall scripts. GofCall script is compatible with Perl and it uses exported APIs to access the netlist database.
In the automatic flow, GOF reads in the implementation netlist which is under ECO and the reference netlist which is re-synthesized from modified RTL. The failing points reported by External Logic Equivalence Check Tool are specified in "fix_logic" argument list. GOF uses the dedicated built-in Logic Equivalence Check Engine to figure out the minimum number of patch gates to fix the failing point.
For each failing point, GOF analyzes the two logic cones from the implementation and reference netlist. The built-in Logic Equivalence Check Engine collects all related logic in implementation logic cone and combines with new patch logic to fix the failing logic cone. After the patching, the two points become equivalent.
In full layers ECO, gates can be added or deleted freely.
The use case "Automatic Full Layers ECO" shows how to fix two failing points automatically.
Metal Only ECO can be done automatically as well. The implementation netlist should have spare gates instantiated. A spare gate pattern is set in GofCall ECO script, GOF uses External Synthesis Tool to re-synthesize patch circuit to have spare gates type only. In the end, GOF maps all spare gates to the exact spare instances.
The use case "Automatic Metal Only ECO" shows how to do automatic metal only ECO.
GOF supports automatic setup timing fix. This flow requires timing violation file generated by Primetime.
The setup fix is done by swapping low speed gates to high speed gates. GOF analyzes the setup timing violation report file and creates weights for each path and each instance. The fix is started from the most critical instance in the most critical path. GOF calculates delay changes for each gate swapping, when the timing meets the margin set by user, the fix stops for the current path and move to the next path.
The detail flow is described in the manual, Automatic Setup Timing ECO Flow.
The hold fix is done by inserting buffers or delay cells. GOF analyzes the hold timing violation report file and creates weights for each path and each instance. The fix is started from the most critical instance in the most critical path.
The detail flow is described in the manual, Automatic Hold Timing ECO Flow.
In many cases, the ECO operations are well known by users. They can be inserting buffers to a 128bits bus, or adding isolation AND gates to all outputs of a module. In these cases, manually ECO is more efficient and resource saving.
Manually ECO can be done in Script mode or GUI mode. GOF exports many APIs for ECO operations in GofCall script.
The detail flow is described in the manual, Script Mode Full Layers ECO.
In Manual Metal Only ECO, any new added gates will be mapped to spare gate instances by 'map_spare_cells' command. A Design Exchange Format file should be loaded for the tool to find optimal spare instances. If the file is not present, the mapping is skipped.
The use case "Script Mode Metal Only ECO" shows how to do manual metal only ECO in script mode.
GUI mode is good for debugging and fix small netlist changes. In full layers modification, user can add or delete any gates.
Detail flow can be found in here
The use case "Insert buffers and inverters in GUI mode" illustrates how to do add buffers and inverters in full layers ECO in GUI mode.
In this mode, user picks which spare gate from Layout Viewer window and implements ECO on a schematic. A DEF file is loaded for accurate instance locations.
The use case "Metal Only ECO in GUI mode" is an use case to do Metal Only ECO in GUI mode.
Guidance to choose ECO flow
These factors affect choosing which ECO flow
The decision tree below shows how to choose a proper ECO flow
Example 1, Add Isolation Gate for a power down module, click here for detail use case
Example 2, Insert an Inverter in Metal Only ECO, check detail use case here
Example 3, Data path ECO, a round logic is changed. Check detail use case here
Copyright © 2013 NanDigits Design Automation. All rights reserved.