printlogo
ETH Zuerich - Startseite
 
print
  
ETH Zurich – D-ITET – Microelectronics Design Center – Encounter ECO flow
DeutschEnglish

Encounter ECO flow

Introduction

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.

ECO flow in Encounter

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.

Alternative 1

  • Load the original design

    restoreDesign save/original.enc.dat toplevel

  • write out a DEF (design exchange format) file for the original design

    defOut -floorplan -netlist -routing save/toplevel.def

  • Start fresh and load a configuration that contains the new netlist. In our example we assume that the file 'save/original.eco.conf' is a copy of the original configuration where only the netlist name has been changed from 'chip.v' to 'updated.v'

    freeDesign
    loadConfig /src/XXXX.eco.conf

  • compare the new netlist with the old one and generate a difference file 'toplevel.eco'

    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.

  • Start again, load the original design and then apply the changes.

    freeDesign
    restoreDesign save/original.enc.dat toplevel
    loadECO -postMask toplevel.eco

Alternative 2

  • Use the ecoDesign command to both load and apply the changes.

    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.

Example .eco file

#*****************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

© 2011 ETH Zurich | Imprint | Disclaimer | 25.10.2011
Top