Synopsys ASIC Design Flow
Synopsys ASIC Design Flow
In hierarchy window, select the testbench module and with a right click of the mouse,
click on Dump.
To start design synthesis create new folder named as syn and copy your constraint and Verilog/VHDL
module files in it.
1. Launch DC by command dc_shell gui This will open Design Vision window.
Library Setup
File > Setup
Search path: /designpackages/scl_pdk/stdlib/fs120/liberty
Link library:
/designPackages/design_installer/scl/scl_pdk/stdlib/fs120/liberty/lib_flow_ff/tsl18fs120_s
cl_ff.db
/designPackages/design_installer/scl/scl_pdk/stdlib/fs120/liberty/lib_flow_ss/tsl18fs120_s
cl_ss.db
Target library: :
/designPackages/design_installer/scl/scl_pdk/stdlib/fs120/liberty/lib_flow_ff/tsl18fs120_s
cl_ff.db
The screenshot below shows the Application Setup window.
Constraints
DC makes a best effort attempt to synthesize your design while still metting the two types of constraints:
user specified constraints and design rule constraints. User specified constraints can be used to
constrain the clock period as well as arrival of certain input signals, the drive strength of the input
signals, and the capacitive load on the output signals. Design rule constraints are fixed constraints which
are specified by the standard cell library. For example, there are restrictions on the loads specific gates
can drive and also on the transition times of certain pins.
The constraints in your design can be written in a TCL script.
File > Execute Script <user_constraint_file.tcl>
Alternatively, in GUI mode the clock constraints can be specified by
1. Schematic > New Schematic View
2. In the schematic select the clock port.
3. Attributes > Specify Clock
Synthesis
The compile_ultra command will syhthesize your design into a gate level netlist and during the
compilation process report how the design is being optimized. Some of the steps you should observe
DC performing are technology mapping, delay optimization and area reduction. Alternatively, in the
GUI do the following:
Design > Compile Ultra
Reports
We have now finished the entire synthesis process, but need to analyze the results of the
synthesis to determine if we need to change our code to achieve our goals, or verify that
goals have been met. These reports can be used to offer comparisons of several synthesis
attempts.
2. Read the timing constraints for the design by using the read_sdc command (or by
choosing File > Import > Read SDC in the GUI).
3. Save the design.
icc_shell > save_mw_cel as <yourdesignname>
Floorplanning
Create the floorplan: Floorplan > Create Floorplan
Put the values as shown in the figure below or as per your requirement.
Preroute Instances
In the layout window, select Preroute > Preroute Instances.
Follow the settings as shown in the figure below and Click OK.
Placement
Place your standard cells: Placement > Core Placements and Optimization
Follow the setting as shown in below figure.
Make sure to check your timing reports before continuing. If you have hold time errors, you
will need to fix them now.
icc_shell > report_clock_tree
icc-shell > report_timing
Routing
Select Route > Core Routing and Optimization
Follow the figure as given below and select the various options depending on your design
requirement.
Extract RC
For parasitic extraction: Route > Extract RC.
Filler Insertion
Now that your design is routed, it is time to add filler cells. Execute the following command:
icc_shell > insert_stdcell_filler -respect_keepout -cell_without_metal "feedth9 feedth3
feedth" -cell_with_metal "feedth3 feedth feedth9" -connect_to_power {VDD} connect_to_ground {VSS}