You are on page 1of 4

How to run Foundation Flow with EDI 14.

1 release

Problem
Objective of this article is:
1.To help new EDI System users get familiar with generating foundation flow scripts.
2.To help existing EDI System users to refresh their foundation flow script with latest
EDI14.1 release.
Pre-requisites:
Some knowledge of how to import design data into EDI System.
Some knowledge of how to create viewDefinition.tcl file.

Solution
This article describes steps to run foundation flow, especially when you have existing block data
in EDI System format.
1.Using EDI14.1 version, restore EDI System database, preferably the one with only design
imported, floorplan file, and scan def imported before place step.
linux% pwd
workDir
# Invoke Encounter and import the design
encounter > set init_verilog {./block.v.gz}
encounter > set init_top_cell {block}
encounter > set init_pwr_net {>DD VDD_2 VDD_3}
encounter > set init_gnd_net {VSS VSSA}
encounter > set init_lef_file { tech.lef ndr.lef std1.lef std2.lef..
macro1.lef macro2.lef.. }
encounter > set init_mmmc_file {./viewDefinition.tcl}
encounter > init_design
# Design is now imported into EDI
# Specify design top routing layer, process and floorplan file name
encounter > setTrialRouteMode -maxRouteLayer 9
encounter > setDesignMode -process 28
encounter > loadFPlan /home/user/abc/block/floorplan.fp

2.The following command will generate generic Foundation Flow scripts and templates
encounter > writeFlowTemplate -directory ../FF14.10

3.The following command will generate design-specific parameters into setup.auto.tcl and
flow control parameters into edi_config.auto.tcl files.
encounter > source ../FF14.10/SCRIPTS/gen_setup.tcl

4.Exit Encounter session and cd ..


encounter > exit
linux% cd..

5.mkdir FF-run01 and cd to FF-run01


linux% mkdir FF-run01
linux% cd FF-run01

6.cp setup.auto.tcl and edi_config.auto.tcl files into current directory


linux% cp ../workDir/setup.auto.tcl .
linux% cp ../workDir/edi_config.auto.tcl .

7.Rename setup.auto.tcl to setup.tcl and rename edi_config.auto.tcl to edi_config.tcl


respectively.
linux% mv setup.auto.tcl setup.tcl
linux% mv edi_config.auto.tcl edi_config.tcl

8.Copy PLUG directory to current directory.


linux% cp -r ../FF14.10/PLUG .

9.Now you have three items in current directory FF-run01/:


PLUG directory
setup.tcl file
edi_config.tcl file
10. If necessary, edit the setup.tcl file to point to additional library and design data. Also,
modify this file to specify additional library_sets, rc_corners, delay_corners, constraint
modes and analysis_views. Alternatively, modify original vieDefinition.tcl file and redo previous steps.
11. Edit the edi_config.tcl file with flow control variables for the specific block.
12. You will edit the files in PLUG/EDI/*tcl to customize flow steps.
Generating flow execution files:

13. Inside FF-run01 directory, run the following command at linux prompt
linux% tclsh ../FF14.10/SCRIPTS/gen_edi_flow.tcl -m flat all

14. You should have the following files and directories in FF-run01
linux% ls
DBS
edi_config.tcl
setup.tcl

FF

LOG

make

Makefile

PLUG

RPT

15. Review FF/check.rpt file for ERROR messages. Ususally to address these ERROR
messages, you will modify setup.tcl (or edi_config.tcl or PLUG/EDI/*tcl files)
16. To run the flow, execute the following command from linux prompt
linux% make postroute_hold

There are various steps for make target. These are:


init place prects cts postcts postcts_hold route postroute
postroute_hold signoff

17. Review contents of LOG/ RPT/ make/ directory to monitor status and result of flow
steps.

How to Configure the Setup for Multi-Mode Multi-Corner


Analysis

How To
How to Configure the Setup for Multi-Mode Multi-Corner Analysis ?

Answer
Starting with the EDI 11.1 release you are required to define your timing environment using
Multi-Mode/Multi-Corner (MMMC).
The simplest way to setup the MMMC environment is to use the MMMC Setup Wizard :
1.In the EDI System GUI select File - Import Design.
2.On the Basic tab select the Create Analysis Configuration button.

3.The MMMC Browser will appear. On the right side of the MMMC Browser is the
Wizard. The Wizard will walk you through the steps for setting up the MMMC
configuration by click the Next button.
Once you have defined your MMMC setup, save the file using the Save & Close button. When
you save your config file it will include a pointer to this file so it gets automatically loaded when
the config file is read in. For example, in the config file you'll see a pointer like the following:
set init_mmmc_file "mmmc.tcl"
Below is a simple example of an mmmc.tcl file which defines the MMMC environment:

# Create library sets


create_library_set -name slow_libs -timing {slow.lib}
create_library_set -name fast_libs -timing {fast.lib}
update_library_set -name slow_libs -si {slow.cdb}
update_library_set -name fast_libs -si {fast.cdb}
# RC corners
create_rc_corner -name rc_worst -cap_table cworst.capTbl -qx_tech_file icecaps_cworst.tch
create_rc_corner -name rc_best -cap_table cbest.capTbl -qx_tech_file icecaps_cbest.tch
# Delay corners
create_delay_corner -name slow_max -library_set slow_libs -rc_corner rc_worst
create_delay_corner -name fast_min -library_set fast_libs -rc_corner rc_best
# Constraint mode
create_constraint_mode -name func_mode -sdc_files func.sdc
# Analysis views
create_analysis_view -name func_max -constraint_mode func_mode -delay_corner slow_max
create_analysis_view -name func_min -constraint_mode func_mode -delay_corner fast_min
# Specify analysis views to use
set_analysis_view -setup {func_max} -hold {func_min}

You might also like