Virginia Tech® home

Front End Design Using Synopsys Tools - Compile

Author: Hetaswi Vankani, Dr. Dong S. Ha


Tool: Library Compiler, VCS and DVE

NOTE: The files downloaded must not be saved or used in .txt format. Please save it in the format as mentioned in the tutorial.

Getting Started

1.  Creating project directory – First create a directory by any relevant name. In the example shown below, it is called ‘tut_65nm’ as it is a tutorial designed for automation at 65nm.

2.  Copying/creating necessary files and directory - The project directory must have the following:

a.  cnt_updown.v - Verilog code for an updown counter.

b.  tb_cnt_updown.v - Test bench for the updown counter. Make sure that the testbench has the line $dumpfile(“./updown_counter.dump”);. File named ‘updown_counter.dump’ will be generated at the end of the compilation process and it is used during waveform analysis for functional verification. The line $dumpvars (0, tb_cnt_updown); makes sure that the values of all variables are available in the .dump file.

c.  .synopsys_dc.setup – This is the setup file for design compiler. Note that the file starts with a dot. Copy this in your project directory. Next, rename dotsynopsys_dc.setup as .synopsys_dc.setup by

mv dotsysnopsys_dc.setup .synopsys_dc.setup

d.  synopsys_sim.setup – Note that there is no dot at the beginning of the file name. This is a setup file is required by the simulator.

e.  libs/ - This directory contains the libraries used for this tutorial. Liberty format files (.lib) will be required for this tutorial. For the purpose of tutorial, nominal PVT has been chosen. VT students can create a soft link to the library in the libs folder in their directory using the command

i.  If current directory is project_dir: cd libs

ii.  cp

/software/PDK/65nm_TSMC/Mosis_Doc/65nmLibs/tcbn65gplus/tcbn65gplus_frontendzipped/

tcbn65gplus_140b_nldm/TSMCHOME/digital/Front_End/timing_power_noise/NLDM/tcbn65gplus_140b/

tcbn65gplusbc0d88.lib tcbn65gplusbc0d88.lib ./

iii.  cp

/software/PDK/65nm_TSMC/Mosis_Doc/65nmLibs/tpdn65gpgv2od3_sd/tpdn65gpgv2od3_sd/

tpdn65gpgv2od3_sd_200a_nldm/ TSMCHOME/digital/Front_End/timing_power_noise/NLDM/

tpdn65gpgv2od3_sd_200a/tpdn65gpgv2od3_sdbc.lib

NOTE: If you are remotely connecting using windows system and want to save the files on your CVL machine, refer to the note in tutorial01.

Compile Library

1.  Synopsys requires all its inputs to have been generated using the same version of Synopsys tools.  Also, it is important to have an updated version of the tool available for use, if one decides to move to lower technologies. For academic institutes the latest version of the tool available is version H-2013.03-SP4. This version works just fine for 65nm node. For each Synopsys tool used in this tutorial and the tutorials covered further, make sure that the version of Synopsys tool used is H-2013.03-SP4 for 65nm technology (consistent across all Synopsys tools for other technology nodes).

2.  Synopsys tools use .db format (.db is Synopsys’ database format) for compiled libraries/designs. In order to convert liberty files (.lib) to .db format, use library compiler.

a.  If you are a VT student type: ‘Synopsys_New’ . Note the upper case ‘S’ and upper case ‘N’ in ‘Synopsys_New’. This would set path to the latest binaries of the various Synopsys tools. Make sure that you are still in the project directory by typing ‘pwd’. Also, if ‘[Synopsys_New]’ appears in the prompt, then the paths have been set correctly. If you don’t see ‘[Synopsys_New]’, then check with sysadmin about the problem.

b.  Assuming that your current directory is your project directory, type lc_shell. This starts library compiler. Ignore warnings if any.

c.  In general the command to get the tool to read the liberty format file before conversion to db is: read_lib library.lib Since, we need IO pads and stdcells, compile: tpdn65gpgv2od3_sdbc.lib and tcbn65gplusbc0d88.lib respectively. Thus, the command to be typed is read_lib ./libs/tpdn65gpgv2od3_sdbc.lib.

d.  write_lib tpdn65gpgv2od3_sdbc –format db –output ./libs/tpdn65gpgv2od3_sdbc.db

e.  read_lib ./libs/tcbn65gplusbc0d88.lib

f.  write_lib tcbn65gplusbc0d88 –format db –output ./libs/tcbn65gplusbc0d88.db

NOTE: .db files of the respective libraries from TSMC are available in the same folder as the .lib from TSMC, but we need to compile .lib using the version of the Synopsys tool we will be using for the entire flow.

Comments to: ha@vt.edu