|
Page 4 of 6
Command to synthesis tools can be specified in form of a script.
Most of the tools now support TCL/Tk as command line interface. TCL/Tk is
powerful enough to be useful as meaningful command-line language and very easy
to learn and integrate/implement. For TCL tutorial, I recommend TCL Tutor
(http://www.msen.com/~clif/TclTutor.html).
Note: Anybody who wants to provide TCL support in tool
chain, swig (www.swig.org) is great package out there. I have used it and is
very good.
Please talk to system administrator about following
- Licence server path
- Installation path
- Technology Library
Path
Of course, and your working directory path and login
information. Modify and add above path lists to .{X}rc and source it.
Please Note: Synopsys provides great tutorial and
documentation and can be invoked by using sold&. Make use of it.
Create a file named .synopsys_dc.setup (use exactly the same
name), this is the Design Compiler setup file, which is read and executed in
the following location and order:
- 1st:
$SYNOPSYS/admin/setup directory
- 2nd:
user's home directory and then
- 3rd:
user's current working directory
A sample of .synopsys_dc.setup file looks like the
following. Following Script is for Design Compiler Normal mode.
.synopsys_dc.setup (normal Mode - Non TCL mode)
|
|
designer = "XYZ"
company = "SVTechie.com"
search_path = search_path + "./src" +
"./db"
link_library = {"*", "class.db"}
target_library = "class.db"
symbol_library = "class.sdb"
define_design_lib WORK -path ./work
/* System variables */
sh_command_abbrev_mode = "Anywhere"
sh_continue_on_error = "false"
sh_enable_page_mode = "true"
sh_source_uses_search_path = "true"
sh_new_variable_message = "true"
|
For Design Compiler TCL mode, a script in following format can be used.
| .synopsys_dc.setup (TCL mode) |
|
# Should start with '#' to indicate TCL mode.
# Not sure if above is required now but it was required in
# around year 2000.
# System variables
set sh_command_abbrev_mode "Anywhere"
set sh_continue_on_error "false"
set sh_enable_page_mode "true"
set sh_source_uses_search_path "true"
set sh_new_variable_message "true"
set search_path [list . path1 path2]
set target_library {typical.db lib2.db}
set link_library {typical.db lib2.db memory.db}
set link_library { * link_library}
set symbol_library {lib2.sdb generic.sdb}
set designer "XYZ"
set company "SVTechie.COM"
|
Where:
- The
default search_path is everything between double quotes, this tells the Design
Compiler to search for files or db at the directories in the order listed .
Instead of using class.db as your library, you can navigate to the directory,
choose your preferred technology library and replace the above library
assignment.
- The
link_library is used to define any technology input to the synthesis process,
the "*" is necessary as it tells the Design Compiler to search for
the existing databases in the Design Compiler memory first.
- The
target_library is the technology library to which you map your design during
optimization.
- The symbol_library contains graphical
data used to draw the symbols for the cells of the target or link libraries.
Symbol libraries are needed with use of GUI like Design Analyzer.
- A design
library is path to a UNIX directory which will store the intermediate files
produced by analyze so as to not clutter up your present directory. You can
choose other descriptive name besides work.
- Put
.synopsys_dc.setup file in your working directory (use exactly the same file
name).
|