Engineering change order

Engineering change orders (ECO) are used for changes in components, assemblies, or documents such as processes and work instructions. They may also be used for changes in specifications.

ECOs are also called an "engineering change note", engineering change notice (ECN), or just an engineering change (EC).

In a typical system development cycle, the specification or the implementation is likely to change during engineering development or during integration of the system elements. These last-minute design changes are commonly referred to as engineering change orders (ECOs) and affect the functionality of a design after it has been wholly or partially completed. ECOs can compensate for design errors found during debug or changes that are made to the design specification to compensate for design problems in other areas of the system design.

Chip design

In chip design, ECO is the process of inserting a logic change directly into the netlist after it has already been processed by an automatic tool. Before the chip masks are made, ECOs are usually done to save time, by avoiding the need for full ASIC logic synthesis, technology mapping, place, route, layout extraction, and timing verification. EDA tools are often built with incremental modes of operation to facilitate this type of ECO.

After masks have been made, ECOs may be done to save money. If a change can be implemented by modifying only a few of the layers (typically metal) then the cost is much less than it would be if the design was re-built from scratch. This is because starting the process from the beginning will almost always require new photomasks for all layers, and each of the 20 or so masks in a modern semiconductor fabrication process is quite expensive. A change implemented by modifying only a few layers is typically called a metal-mask ECO or a post-mask ECO. Designers often sprinkle a design with unused logic gates, and EDA tools have specialized commands, to make this process easier.

One of the most common ECOs in ASIC design is the gate-level netlist ECO. In this flow, engineers manually (and often tediously) hand-edit the gate-level netlist, instead of re-running logic synthesis. The netlist files have to be searched for the logic affected by the change, the files need to be edited to implement the changes up and down the hierarchy, and the changes need to be tracked and verified to make sure exactly what needs to change gets changed and nothing more. This is a very time and resource-intensive process that is easily subject to errors. Therefore formal equivalence checking is normally used after ECOs to ensure the revised implementation matches the revised specification.

With time-to-market pressures and rising mask costs in the semiconductor industry, several electronic design automation (EDA) companies are beginning to bring more automation into the ECO implementation process. Most popular place and route products have some level of built-in ECO routing to help with implementing physical-level ECOs. Cadence Design Systems has recently announced a product called conformal ECO designer, that automates the creation of Functional ECOs, usually the most tedious process in implementing an ECO. It uses formal equivalence checking and logic synthesis techniques to produce a gate-level ECO netlist based on the changed RTL. Synopsys in the past had a product called ECO compiler that is now defunct. Synopsys now has primetime-ECO for dealing with ECOs.[1] Tweaker-F1 & Tweaker-T1 have also come into the limelight in the recent DAC-2012 for their ECO algorithms.[2]

Product design

In product development the need for change is caused by:

An ECN must contain at least this information:[3]

References

  1. "Signoff-Driven ECO Guidance for Faster Timing Closure". Retrieved 2012-06-02.
  2. http://www.deepchip.com/gadfly/gad053112.html
  3. Ullman, David G. (2009) The Mechanical Design Process, Mc Graw Hill, 4th edition.

External links