1 |
4 |
vk.semicon |
echo -n " Starting Synthesis "
|
2 |
|
|
|
3 |
|
|
set search_path [list . $search_path ../../rtl]
|
4 |
|
|
set synthetic_library [list standard.sldb dw_foundation.sldb]
|
5 |
|
|
|
6 |
|
|
set tech_lib "slow"
|
7 |
|
|
|
8 |
|
|
set target_library ${tech_lib}.db
|
9 |
|
|
set link_library [concat $target_library $synthetic_library]
|
10 |
|
|
|
11 |
|
|
define_design_lib WORK -path work
|
12 |
|
|
|
13 |
|
|
analyze -work WORK -format verilog ../../rtl/BM_lamda.v
|
14 |
|
|
analyze -work WORK -format verilog ../../rtl/GF_mult_add_syndromes.v
|
15 |
|
|
analyze -work WORK -format verilog ../../rtl/Omega_Phy.v
|
16 |
|
|
analyze -work WORK -format verilog ../../rtl/RS_dec.v
|
17 |
|
|
analyze -work WORK -format verilog ../../rtl/error_correction.v
|
18 |
|
|
analyze -work WORK -format verilog ../../rtl/input_syndromes.v
|
19 |
|
|
analyze -work WORK -format verilog ../../rtl/lamda_roots.v
|
20 |
|
|
analyze -work WORK -format verilog ../../rtl/out_stage.v
|
21 |
|
|
analyze -work WORK -format verilog ../../rtl/transport_in2out.v
|
22 |
|
|
set module RS_dec
|
23 |
|
|
|
24 |
|
|
elaborate -work WORK $module
|
25 |
|
|
|
26 |
|
|
current_design ${module}
|
27 |
|
|
|
28 |
|
|
echo -n " ================================== "
|
29 |
|
|
echo -n " Constraining the design "
|
30 |
|
|
echo -n " ================================== "
|
31 |
|
|
|
32 |
|
|
# /*------------------------------------------------------------------------
|
33 |
|
|
# Creating virtual clock
|
34 |
|
|
# ------------------------------------------------------------------------*/
|
35 |
|
|
|
36 |
|
|
create_clock "clk" -period 17.8
|
37 |
|
|
|
38 |
|
|
set_dont_touch_network clk
|
39 |
|
|
set_clock_latency 0.8 clk
|
40 |
|
|
set_clock_uncertainty 0.5 clk
|
41 |
|
|
|
42 |
|
|
set_dont_touch_network [get_ports clk]
|
43 |
|
|
set_dont_touch_network [get_ports reset]
|
44 |
|
|
|
45 |
|
|
set_drive 0 [get_ports clk]
|
46 |
|
|
set_fix_hold [get_clocks clk]
|
47 |
|
|
|
48 |
|
|
# /*------------------------------------------------------------------------
|
49 |
|
|
# Setting Input/Output delays
|
50 |
|
|
# ------------------------------------------------------------------------*/
|
51 |
|
|
|
52 |
|
|
set_input_delay 5.9 -clock clk [all_inputs]
|
53 |
|
|
|
54 |
|
|
set_output_delay 5.9 -clock clk [all_outputs]
|
55 |
|
|
|
56 |
|
|
|
57 |
|
|
echo " ================================== "
|
58 |
|
|
echo " Linking "
|
59 |
|
|
echo " ================================== "
|
60 |
|
|
link
|
61 |
|
|
|
62 |
|
|
echo " ================================== "
|
63 |
|
|
echo " Uniquifying "
|
64 |
|
|
echo " ================================== "
|
65 |
|
|
set uniquify_naming_style %s_%d
|
66 |
|
|
uniquify
|
67 |
|
|
|
68 |
|
|
|
69 |
|
|
echo -n " ================================== "
|
70 |
|
|
echo -n " Compiling the design "
|
71 |
|
|
echo -n " ================================== "
|
72 |
|
|
|
73 |
|
|
compile -ungroup_all -map_effort high -scan
|
74 |
|
|
|
75 |
|
|
echo -n " ================================== "
|
76 |
|
|
echo -n " Generating reports "
|
77 |
|
|
echo -n " ================================== "
|
78 |
|
|
report_area > "report/${module}.rpt"
|
79 |
|
|
report_timing >> "report/${module}.rpt"
|
80 |
|
|
report_design >> "report/${module}.rpt"
|
81 |
|
|
report_cell >> "report/${module}.rpt"
|
82 |
|
|
report_power -nosplit >> "report/${module}.rpt"
|
83 |
|
|
report_constraint >> "report/${module}.rpt"
|
84 |
|
|
echo "Loops\n" >> "report/${module}.rpt"
|
85 |
|
|
echo "=====\n" >> "report/${module}.rpt"
|
86 |
|
|
report_timing -loops >> "report/${module}.rpt"
|
87 |
|
|
|
88 |
|
|
echo "Reporting Hierarchy\n" >> "report/${module}.rpt"
|
89 |
|
|
echo "===================\n" >> "report/${module}.rpt"
|
90 |
|
|
report_hier >> "report/${module}.rpt"
|
91 |
|
|
get_designs -hier "*" >> "report/${module}.rpt"
|
92 |
|
|
|
93 |
|
|
echo "Reporting Fanout\n" >> "report/${module}.rpt"
|
94 |
|
|
echo "================\n" >> "report/${module}.rpt"
|
95 |
|
|
report_net_fanout -high -nosplit >> "report/${module}.rpt"
|
96 |
|
|
|
97 |
|
|
|
98 |
|
|
current_design ${module}
|
99 |
|
|
|
100 |
|
|
write -format ddc -hierarchy -o gatenet/$module.ddc
|
101 |
|
|
write -format verilog -o gatenet/$module.v
|
102 |
|
|
write_sdc gatenet/$module.sdc
|
103 |
|
|
|
104 |
|
|
echo -n " ================================== "
|
105 |
|
|
echo -n " Synthesis Over "
|
106 |
|
|
echo -n " ================================== "
|
107 |
|
|
sh date
|
108 |
|
|
|
109 |
|
|
echo "Done"
|
110 |
|
|
quit
|
111 |
|
|
|