( 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



 Sign up for the DeepChip newsletter.
Email
 Read what EDA tool users really think.


Feedback About Wiretaps ESNUGs SIGN UP! Downloads Trip Reports Advertise

"Relax. This is a discussion. Anything said here is just one engineer's opinion. Email in your dissenting letter and it'll be published, too."
This Web Site Is Modified Every 2-3 Days
Copyright 1991-2024 John Cooley.  All Rights Reserved.
| Contact John Cooley | Webmaster | Legal | Feedback Form |

   !!!     "It's not a BUG,
  /o o\  /  it's a FEATURE!"
 (  >  )
  \ - / 
  _] [_     (jcooley 1991)