Synopsys Design Compiler Tutorial 2021 Exclusive
After compilation finishes, you must inspect the structural quality of the netlist and save the generated hardware assets.
Synopsys Design Compiler Tutorial 2021: Complete Guide to RTL Synthesis
# 1. Setup source .synopsys_dc.setup
Use set_driving_cell on all input ports. DC 2021 is stricter about floating inputs. synopsys design compiler tutorial 2021
set_output_delay -clock clk -max 2.5 [get_ports data_out*]
The analyze command checks the RTL for syntax errors and builds intermediate files in the WORK directory. The elaborate command builds the generic GTECH architecture and allows parameter overriding.
Real-world chips operate under specific physical conditions. You must define these parameters before optimizing. After compilation finishes, you must inspect the structural
Constraints drive the optimization algorithms. Accurate constraints prevent the tool from under-optimizing or over-optimizing your hardware.
# Analyze Verilog files analyze -format verilog module1.v module2.v top_module.v
report_timing -path full -delay max -nworst 10 > reports/timing_setup.rpt report_timing -delay min > reports/timing_hold.rpt DC 2021 is stricter about floating inputs
# Set operating condition (Slow corner for setup timing checks) set_operating_conditions -max tsmc65nm_ss_0v9_125c # Instruct the tool to make the design as small as possible set_max_area 0 Use code with caution. 5. Synthesis and Optimization Strategies
# .synopsys_dc.setup set search_path [list . /home/designs/rtl /tools/libs/SAED32_EDK/lib/stdcell] set target_library "saed32nm_tt_1p05V_25C.db" set link_library [list "*" $target_library saed32nm_io.db] set symbol_library "saed32nm.sdb" set synthetic_library "dw_foundation.sldb"
Constraints instruct Design Compiler on how to optimize the logic for real-world hardware environments. Save these rules in a Synopsys Design Constraints ( .sdc ) file format.
create_clock -name core_clk -period 5.0 [get_ports clk] set_input_delay -clock core_clk -max 1.5 [all_inputs] -remove [get_ports clk] set_output_delay -clock core_clk -max 1.5 [all_outputs]
Mapping the optimized design to a foundry-specific cell library. 2. Setting Up the Design Environment (2021 Workflow)