|
|
|
||||||||||
ECO is short for 'Engineering Change Order' and is used to make small changes to a design without going through the entire design flow. It is commonly used to fix minor bugs or make small updates to a completed design.
The flow starts with a change in the RTL description. This change will have an impact on the netlist produced after synthesis, which will again change the placement and routing of the final design. The goal is to keep the changes to a minimum so that most of the earlier work can be retained as much as possible.
There are various ECO design flows that have been refined over the years. In this document we will demonstrate two variations of a simple ECO flow. For both cases we assume that the original netlist 'chip.v' has been completed (placed, routed, verified). This finalized version has been saved in encounter as 'save/original.enc.dat' After this a new netlist named 'updated.v' (with limited changes) was produced fixing some problems in the original netlist. Both netlists have the same toplevel module called 'toplevel'.
We will present two alternatives. The first one is more involved but offers more control over what is happening, while the second one is simpler. For both alternatives we start with a new encounter session.
restoreDesign save/original.enc.dat toplevel
defOut -floorplan -netlist -routing save/toplevel.def
freeDesign
loadConfig /src/XXXX.eco.conf
ecoCompareNetlist -def save/XXXX.def -referenceData external \
-outfile XXXX.eco
Note that the documentation of this command is different from the manual. You need to specify the '-reference Data external' switch.
freeDesign
restoreDesign save/original.enc.dat toplevel
loadECO -postMask toplevel.eco
ecoDesign -postMask save/original.enc.dat toplevel updated.v
This will first perform a restoreDesign command and then automatically generate the ECO differemce file and perform the above mentioned steps. While it is simpler in execution, it does not allow the intermediate steps to be controlled by the user.
#*****************ECO Report*****************
#* DESIGN NAME: aes_multi
#********************************************
#***********************************************************
FORMATVERSION 2
#***********************************************************
#***********************************************************
# Changing connections for instance <i_aes_2/i_encrypt128/i_mixcolumn_0/U100>
#***********************************************************
ATTACHTERM i_aes_2/i_encrypt128/i_mixcolumn_0/U100 B i_aes_2/i_encrypt128/i_mixcolumn_0/n80
#***********************************************************
# Changing connections for instance <i_aes_2/i_encrypt128/i_mixcolumn_0/U99>
#***********************************************************
ATTACHTERM i_aes_2/i_encrypt128/i_mixcolumn_0/U99 B i_aes_2/i_encrypt128/i_mixcolumn_0/n15
#***********************************************************
# Changing connections for instance <i_aes_2/i_encrypt128/i_mixcolumn_0/U97>
#***********************************************************
DETACHTERM i_aes_2/i_encrypt128/i_mixcolumn_0/U97 Z i_aes_2/i_encrypt128/MixedxD[18]
Wichtiger Hinweis:
Diese Website wird in älteren Versionen von Netscape ohne
graphische Elemente dargestellt. Die Funktionalität der
Website ist aber trotzdem gewährleistet. Wenn Sie diese
Website regelmässig benutzen, empfehlen wir Ihnen, auf
Ihrem Computer einen aktuellen Browser zu installieren. Weitere
Informationen finden Sie auf
folgender
Seite.
Important Note:
The content in this site is accessible to any browser or
Internet device, however, some graphics will display correctly
only in the newer versions of Netscape. To get the most out of
our site we suggest you upgrade to a newer browser.
More
information