NanDigits Design Automation

   Home | Solutions | Download | Applications | Contact Us | Whats New

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.

1. Automatic Full Layers ECO Flow

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.

2. Automatic Metal Only ECO Flow

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.

3. Setup Timing ECO Flow

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.

4. Hold 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.

5. Script Mode Full Layers 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.

6. Script Mode Metal Only ECO Flow

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.

7. GUI Mode Full Layers ECO Flow

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.

8. GUI Mode Metal Only ECO Flow

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

  • Timing or functional
    • Timing ECO up-sizes or down-sizes cells, buffers or inverters can be added or deleted. It doesn't change netlist functionality.
    • Functional ECO involves function changes.
  • Metal only or full layers
    • Metal only ECO changes metal layers, any new gates should use spare gates.
    • Full layers ECO can modify netlist freely.
  • Close to flops or ports or instances with name preserved
    • When ECO spot is close to flops or ports or instances with name preserved, wire and instance names will be kept the same as the RTL. Manually modification becomes possible.
    • The change in RTL is on some combinational wires which may have been optimized away or may have different functionality in netlist even with the same name. Automatic ECO with reference netlist is recommended in this case.
  • Random or Repeated
    • Random ECO can be in any location of the netlist. Multiple spots in the netlist may have to be modified with different operations.
    • Repeated ECO does same operations on a group of wires/ports/instances, for example, adding AND gates to all output ports for one module. It is more efficient to do these ECOs in manual script mode.
  • Involving more than 50 gates
    • ECO involving more than 50 gates becomes hard for manually modification and if the change is not repeated and not close to flops and ports, automatic should be chosen. However, this threshold number depends on users, it can be increased or decreased.
    • When ECO has less than the threshold gate number and the ECO spot is close to flops and ports, manually modification becomes feasible.
  • GUI or script mode
    • GUI mode is easier to ramp up. For users not doing ECO frequently, GUI mode is a good choice.
    • Script mode is very powerful and efficient, and it's reproducible. When the ECO is repeated operations, script mode is preferred.

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

  

  Home / Solutions / Download / Applications / Contact Us / Whats New / Features Reference / FAQs / Online Manual

  Copyright © 2013 NanDigits Design Automation. All rights reserved.