Synopsys Design Compiler Tutorial -

compile_ultra

create_clock -period 10 [get_ports clk] set_input_delay 2 -clock clk [all_inputs] set_output_delay 2 -clock clk [all_outputs] synopsys design compiler tutorial

check_design list_designs Clock create_clock -name clk -period 10.0 [get_ports clk] set_clock_uncertainty -setup 0.5 [get_clocks clk] set_clock_transition 0.3 [get_clocks clk] set_clock_latency 0.8 [get_clocks clk] Input/Output Delays set_input_delay -max 2.5 -clock clk [all_inputs] set_output_delay -max 1.8 -clock clk [all_outputs] remove_input_delay [get_ports clk] # exclude clock port Input transition & output load set_input_transition 0.2 [all_inputs] set_load 0.05 [all_outputs] Timing exceptions (solid for real designs) set_false_path -from [get_ports test_mode*] set_multicycle_path -setup 2 -hold 1 -through [get_pins slow_cell/Q] 4. Compile (Synthesis) Basic compile compile_ultra # strongly recommended over old "compile" Area optimization compile_ultra -area_high_effort Power optimization set_power_optimization true compile_ultra -gate_clock Incremental (small improvements) compile_ultra -incremental 5. Check Quality of Results # Timing report_timing -delay_type max -nworst 10 report_timing -delay_type min # for hold Area report_area -hierarchy Power (if power analysis enabled) report_power -analysis_effort high Constraints coverage check_timing report_clock -attributes 6. Save Results # Netlist write -format verilog -hierarchy -output mapped/design.vg Standard Delay Format (SDF) for post-synthesis sim write_sdf -version 2.1 mapped/design.sdf Constraints (output final constraints) write_script -output mapped/design_cons.tcl Report timing in a file redirect -tee -file reports/timing.rpt report_timing -delay_type max 7. Full Example Script (solid foundation) # synth.tcl set SSLIB "saed90nm_typ.db" set target_library $SSLIB set link_library [list "*" $SSLIB] read_verilog rtl/top.v rtl/alu.v rtl/ctrl.v current_design top link check_design Save Results # Netlist write -format verilog -hierarchy

About the Author

Melissa King is a freelance writer who helps B2B SaaS companies spread the word about their products through engaging content. She has six years of professional writing experience. Outside of the content marketing world, she sometimes writes about video games.