( ESNUG 208 Item 2 ) ---------------------------------------------- [1/26/95]
Subject: (ESNUG 205 #5 206 #2 207 #4) Synopsys->Mentor w/ "db2eddm" Sucks
>When we asked both Mentor & Synopsys about going from EDIF to EDDM, the
>answer was a definite "NO". We have encountered some problems with the
>db2eddm path (nets crossing bus rippers that were shorted in Mentor and not
>in Synopsys, etc.) Do you have any suggestions from any of your readers?
From: duclos@ws077.bytex.network.com (Michael Duclos)
John,
Someone here at Bytex went through this path a year ago, and encountered the
same problems. Here's their notes on to getting from the Synopsys Integrator
for Mentor's Falcon Framework:
A- Start Synopsys' Design Analyzer. Set libraries including symbol library.
Toshiba provides a Mentor symbol library for Synopsys, in our case
tc140g.mentor.sdb. Setting the symbol library to mentor before reading
the Synopsys database causes the symbols to automatically convert to the
new ones once the database is read. note: (I found that we could set
the Synopsys database to any of the symbol libraries available for the
technology. We could have used tc140g.valid.sdb, or one extracted from
the Mentor symbol library.)
Example of Synopsys script to set libraries:
/* load Toshiba TC140 libraries */
link_library = /toshiba/synopsys/v3.0a/lib/tc140g/tc140g.db;
target_library = /toshiba/synopsys/v3.0a/lib/tc140g/tc140g.db;
symbol_library = /toshiba/synopsys/v3.0a/lib/tc140g/tc140g.mentor.sdb;
B- Read design database. In our case, IMA_CHIP_synop.db.
C- Set schematic variable gen_cell_pin_name_separator equal to "_"
(gen_cell_pin_name_separator = "_"). This eliminates the "/" character
from some of the busses when executing the create_schematic command.
This character is placed in busses from equal blocks. The name of the
busses become the instance name of the block and the bus name separated
by the "/" character.
D- Execute create_schematic command. (This part is not documented in the
maunual for db2eddm.) Select the top level block and use the following
command: create_schematic -hierarchy . The Synopsys transcript window
should tell you the blocks created.
E- Save new db file. After several tries, I found that if the design is
saved into a db file with the same name as the top level block the
db2eddm program does not work. So when I save the design to IMA_CHIP.db
db2eddm did not work. But when I save the design to dummy.db then
db2eddm worked. The save command was: write -f db -hierarchy dummy.db
F- Run db2eddm to extract the database. Make sure that the transcript of
the command displays the blocks and schematics created. The command
used was: (one line) "db2eddm -db dummy.db -map tosh.map -add_comp
-add_inst -add_model -target_dir DESIGN2"
G- It is important that the map file specify a parameter for the technology.
The -PARAMETER option of the map file is explained in appendix G of the
IFFF documentation. The top of the map file I got from the tutorial.map
that comes with the IFFF installation. To create the list of symbols
after setting the -SYMBOL keyword I did the following steps:
a- I used ls | grep -v mgc > list on the mentor symbol directories to
create a list of the symbols.
b- awk '{print "$TOSHIBA_LIB/ga/part_lib/",$1," ",$1}' list > temp1
was used to create a list with the path to the symbols.
c- awk '{print $1}' list > temp2 to create a column of Synopsys names.
d- with vi I changed the case of the symbol names in temp2. These are
the symbol names in Synopsys. (I could not guarantee that the
Synopsys symbol names were case insensitive.)
e- paste temp1 temp2 > temp3 merges the four columns. The paste
command was very helpful in pasting columns.
f- With textedit I merge column 1 and 2 to create a path to each symbol
as you can see below.
g- awk '{print $1," ",$2," ",$3}' temp3 > tosh.map (This awk
command gives me spaces between the columns.)
The following is part of the map file used:
# Map File for Synopsys Integrator IMA_CHIP
#
# Special Symbols
-POWER
# ComponentName MentorSymName SynopsysSymName
$SYNOPSYS_IFF_ROOT/symbols/vcc vcc vcc
-GROUND
# ComponentName MentorSymName SynopsysSymName
$SYNOPSYS_IFF_ROOT/symbols/ground ground ground
-PORT_IN
# ComponentName MentorSymName SynopsysSymName
$SYNOPSYS_IFF_ROOT/symbols/portin portin portin
-PORT_OUT
# ComponentName MentorSymName SynopsysSymName
$SYNOPSYS_IFF_ROOT/symbols/portout portout portout
-PORT_BI
# ComponentName MentorSymName SynopsysSymName
$SYNOPSYS_IFF_ROOT/symbols/portbi portbi portbi
-OSC_BI
# ComponentName MentorSymName SynopsysSymName
$SYNOPSYS_IFF_ROOT/symbols/offpag.bi offpag.bi offpag.bi
# Technology Parameter -- Here you specify what the technology parameter in
# the Toshiba symbol is going to be set at. Without this you will get errors
# running db2eddm
-PARAMETER
# mentor parameter name mentor parameter value
technology tc160g
# The component name is the path to the symbol in you system
-SYMBOL
# ComponentName MentorSymName SynopsysSymName
$TOSHIBA_LIB/ga/part_lib/io/b1 b1 B1
$TOSHIBA_LIB/ga/part_lib/io/b12 b12 B12
$TOSHIBA_LIB/ga/part_lib/io/b12rp b12rp B12RP
$TOSHIBA_LIB/ga/part_lib/io/b16 b16 B16
$TOSHIBA_LIB/ga/part_lib/io/b16h b16h B16H
$TOSHIBA_LIB/ga/part_lib/io/b16if b16if B16IF
# END of Map File
The user has to make sure that the TOSHIBA_LIB and SYNOPSYS_IFF_ROOT
environment variables are set correctly on the Mentor location map for the
process to work.
- Michael Duclos
Bytex Corporation
|
|