( ESNUG 420 Item 8 ) -------------------------------------------- [10/22/03]
From: David Raymond <David.Raymond=user domain=synopsys spot calm>
Subject: Get Astro To Read In LEF That's Been Generated By First Encounter
Hi, John,
Some of our Astro customers use First Encounter to do their floorplanning.
They then want to use the LEF and DEF out of FE as an input for Astro. All
the commands necessary to take a LEF and DEF into Astro are available, but
I thought it might be helpful to lay out the step-by-step flow that we have
used with a customer in Taiwan. For simplicity, I am breaking the LEF and
DEF flow into two articles since they are really exclusive topics.
Reading LEF into Astro will create a Milkyway library, which you will
reference to your top level design library. However, there are a couple of
steps that need to be completed before reading LEF into Astro. You have to
create a Milkyway technology file and using that tech file, create a
reference library. Start with the simplest possible techfile to create
a library. The simplest one that will create a library is:
Technology {
name = ""
unitLengthName = "micron"
lengthPrecision = 1000
}
a) Create a library using the above techfile.
b) Use auNLIApi (with "skip techfile" deselected - the default).
c) Dump out the techfile.
d) Edit the techfile (iteratively several times to get everything
correct). It helps to have the fab process rules.
e) Create new library with the new and improved techfile.
f) Use auNLIApi (with "skip techfile" selected - turned on).
g) Repeat steps d), e), and f) iteratively several times.
You may also need to modify the SITE statement in the LEF file to change
"coreSite" to "unit."
Step 1) Now you are ready to read in the LEF file using "auNLIApi". Make
sure that you turn on the "skip techfile" option and choose the
appropriate option for poly before running the command. This will
create CEL views in your library for each cell in the LEF file.
Several files will also be created which will help in future steps.
Since Astro uses FRAM views, instead of CEL views, there are a few
more steps required to make the new library complete.
Step 2) Define the following parameter -
(define BPV_KEEP_SMALL_METALBLOCKAGE 1)
Your LEF database may have metal pins and metal blockages
overlapping each other. However, metal pins and metal blockages
cannot overlap in the Milkyway database. Therefore, any overlapped
portion will be cut off. If the remaining portion doesn't meet your
minimum width rule, by default it will be deleted in Milkyway. This
parameter will override that default behavior.
Step 3) Specify power/ground information for cells by "dbSetCellPortTypes"
Step 4) Execute "auExtractBlockagePinVia" for std, pad, and macro cells.
Turn on Extract Connectivity for EEQ pins extraction. For std cell,
you can specify multiple contactcodes for creating multiple via
regions of dropping via1. For std cell, you can turn on skip
rotated vias to avoid DEF out created yyy_r90 in VIAS section.
yyy is default via1 contactcodename.
Step 5) Create PR Boundary for std cells (Double check the unittile cell
is created properly.)
Step 6) Define wire tracks by command "axgDefineWireTracks"
Step 7) Load lefFileName.clf created by "auNLIApi" using "auLoadCLF". This
file contains gate size information used during antenna analysis
and repair in Astro.
Now you have a complete Milkyway library that can be referenced at the top
level of your design. Stay tuned for another post on how to read in your
DEF file ...
- David Raymond
Synopsys Broomfield, CO
|
|