GOF, Gates On the Fly, integrates leading technologies and methodologies to provide complete functional netlist ECO solutions. The tool supports Automatic ECO, GUI ECO and Script ECO seamlessly. The Automatic ECO feature beats Conformal ECO in patch size.
The tool does Automatic ECO in both global mode and incremental mode. The global mode can have full picture of the design and the ECO result can be guaranteed to be equivalent.
The advantage of incremental way is efficiency and performance. Users can focus on the problematic logic, not being distracted by unrelated things. The tool does Schematic and Layout View in incremental way.
Figure 1: ECO Solutions
GOF has implemented several automatic ECO methods.
The methods include:
Structure Method utilizes the similarity of the implementation and reference netlists. It keeps the existing logic in the implementation netlist as much as possible and only replaces those different sub-circuits. So it would improve the performance of this method if synthesis process uses the same constraint after RTL changes.
Reorder Method adjusts the end points in logic cone internal expression. The right order of end points would create the optimal fix and thus results in a minimum size ECO patch.
Cut Point Method tries to fix every potential signal in the implementation netlist and finds the best location to fix the non-equivalences with the minimum patch.
For instance, RTL change may add an AND gate into a combinational signal, after synthesis the combinational signal has name changed or the signal may have been optimized away. GOF can find the best point in the netlist to add the AND gate and achieve the optimal fix to match the RTL change.
GOF evaluates three implementations and chooses the result with minimum patch size.
The Cut Point Method performances better than Conformal ECO in patch size. Click here for more detail.
Figure 2: Automatic ECO Methodologies
Conformal ECO has defect when an ECO involves single complicated combinational signal. It has difficulty in pinpointing the exact fix location. Final ECO results have redundant gates after Conformal ECO runs.
Figure 3: Conformal Defect
GOF can solve the issue well. It can pinpoint the exact location and generate minimum ECO patch.
Figure 4: GOF Solution
The GOF vs Conformal ECO page has detail coverage on the performance comparison.
Sometimes, it doesn't make sense to resynthesize multi-million gates design to have only one inverter added. It's not a good practice either to use text editor to change a Giga-byte size netlist. If a design is reasonably verified, those ECOs involving more than 20 gates should be less than 10%. For those 90% small size or replicated ECOs, global mode Automatic ECO is over-killed and inefficient. Gates On the Fly gives users flexibilities to choose GUI and Script mode for those small size or replicated ECOs.
With the help of GUI and Script, the manual work becomes much simpler and more accurate. Sometimes, manual ECO result always gives better results than Automatic ECO. More importantly, the turn around time is much shorter.
In GUI mode, Gates On the Fly has incremental schematic engine (GofTrace) and it fits well in isolating problematic logic. Once the logic under ECO is isolated on the schematic, ECO mode can be enabled and ECO operations can be done on the same schematic.
GOF can parse physical database files, Design Exchange Format (DEF) and Library Exchange Format (LEF). By loading physical database, GOF can view physical layout and connections by LayoutViewer window. The LayoutViewer window has full interactivity with the incremental schematic, GofTrace window. This unified platform serves Metal Only ECO very well. User can solve Metal Only ECO in one stop, instead of going back and forth between back-end and front-end.
The GUI ECO mode has sharp learning curve for beginners and non-frequent users. Click here for one GUI mode ECO use case.
The script mode has the same syntax as Perl which can easily integrate existing netlist processing scripts. The script mode is good for replicated works like inserting AND for all output pins. Also the script mode exports lots of netlist processing APIs, like check design, support end-point trace and logic cone extraction.
When combining netlist processing APIs and Perl's programming algorithm, powerful in-house tools can be created efficiently. Click here for one Script mode ECO use case.
Figure 5: Incremental Schematic
Figure 6: ECO on the same Schematic
ECOs can become very complicated in some scenarios. Using only automatic mode would give unacceptable result. To achieve optimal ECO patch, Automatic ECO and Manual ECO have to be used together.
For example, the ECO case in right hand side requires a new bus port (IN_B) to control half of the logic (LOGIC B) that is controlled by bus port A (IN_A) originally. LOGIC A and LOGIC B may have overlap. LOGIC C is required to be fixed as well and it has data path changes which has to be done by Automatic ECO.
When apply only Automatic ECO, Fix 1 (IN_A/IN_B/LOGIC-A/LOGIC-B) needs ~200 gates. Use GOF APIs to analyze logic paths from port IN_A to STATE_A_reg and STATE_B_reg, we can find that LOGIC A and LOGIC B have very few gated shared. Duplicating these shared gates, there would be clean cut of LOGIC A and LOGIC B to make them being driven by IN_A and IN_B separately. Click here for this mixed mode ECO use case.
Figure 7: Mixed Automatic and Manual ECO
Please read Use Cases for all use cases.
For other usages and flows, check Online Manual for more detail