1+ set_db lib_search_path /package/eda/cells/NanGate_45nm_OCL_v2010_12/pdk_v1.3_v2010_12/NangateOpenCellLibrary_PDKv1_3_v2010_12/Front_End/Verilog
2+ set_db library /package/eda/cells/NanGate_45nm_OCL_v2010_12/pdk_v1.3_v2010_12/NangateOpenCellLibrary_PDKv1_3_v2010_12/Front_End/Liberty/NLDM/NangateOpenCellLibrary_typical.lib
3+ set_db information_level 6
4+ set_db hdl_error_on_blackbox true
5+
6+ # Run from repository root so relative paths are stable.
7+ set script_dir [file dirname [file normalize [info script]]]
8+ cd $script_dir
9+
10+ # Set your intended synthesis top here.
11+ set TOP_MODULE srt_div
12+
13+ # Read RTL for the new SRT divider block.
14+ # Add more read_hdl lines here only if your target block depends on more files.
15+ read_hdl -sv source_code/rv32m/srt_qsel_rom_pkg.sv
16+ read_hdl -sv source_code/rv32m/srt_div.sv
17+
18+ elaborate $TOP_MODULE
19+ init_design
20+
21+ # Clock/input constraints.
22+ set clk_ports [clock_ports]
23+ if {[llength $clk_ports ] > 0} {
24+ set clock1 [define_clock -period 666 -name clock1 $clk_ports ]
25+ }
26+
27+ # If your module is combinational, remove the next 2 lines.
28+ # For this divider, set input delay on main data/control inputs.
29+ set in_ports [get_ports -quiet {in_valid dividend* divisor* out_ready}]
30+ if {[info exists clock1] && [llength $in_ports ] > 0} {
31+ set_input_delay -max 0 -clock clock1 $in_ports
32+ }
33+
34+ check_design > check_summary.log
35+
36+ syn_generic -effort high
37+ syn_map -effort high
38+ syn_opt -effort high
39+
40+ report timing -lint > timing-lint.rpt
41+ report timing -max_paths 20 > timing.rpt
42+ report gates > gates.rpt
43+ report power > power.rpt
44+ report area > area.rpt
0 commit comments