regfile_decode.ss
2.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/* setup aliases */
alias set_default_operating_conditions "set_operating_conditions NOM -library rcp.db; \
set_wire_load 128000 -mode top;"
alias set_default_timing_constraints "create_clock -name clk -period 14.0 -waveform {0 7.0}; \
set_input_delay 6.0 -clock clk all_inputs(); \
set_output_delay -max 7.0 -clock clk all_outputs(); \
set_driving_cell -cell in01d1 all_inputs(); \
set_load 1.0 all_outputs();"
/* setup the search path for includes */
search_path = search_path + "../src"
/* read the verilog sources */
read -f verilog ../../rsp/src/regfile_decode.v
current_design = regfile_decode
set_default_operating_conditions
set_default_timing_constraints
set_max_transition 2.0 current_design;
set_dont_touch address_buf2
set_dont_touch address_buf1
set_dont_touch address_bufcopy2
set_dont_touch address_bufcopy1
set_dont_touch rf_decode_1ststg
set_dont_touch rf_decode_0to6
set_dont_touch rf_decode_1to7
set_dont_touch rf_decode_8to14
set_dont_touch rf_decode_9to15
set_dont_touch rf_decode_16to22
set_dont_touch rf_decode_17to23
set_dont_touch rf_decode_24to30
set_dont_touch rf_decode_25to31
link
check_design > regfile_decode.lint
compile -map_effort high -ungroup_all
compile -map_effort high -ungroup_all
report -reference > report/regfile_decode.ref
report_constraint -all_violators > report/regfile_decode.violators
report_timing -path full -delay max -max_paths 10 > report/regfile_decode.full.paths
report_timing -from {rNum[0],rNum[1]} -path full -delay max -max_paths 10 > report/regfile_decode.full.paths.01
write -f edif -o regfile_decode.edf -hier regfile_decode
remove_attribute find(cell, "address_buf2") dont_touch
remove_attribute find(cell, "address_buf1") dont_touch
remove_attribute find(cell, "address_bufcopy2") dont_touch
remove_attribute find(cell, "address_bufcopy1") dont_touch
remove_attribute find(cell, "rf_decode_1ststg") dont_touch
remove_attribute find(cell, "rf_decode_0to6") dont_touch
remove_attribute find(cell, "rf_decode_1to7") dont_touch
remove_attribute find(cell, "rf_decode_8to14") dont_touch
remove_attribute find(cell, "rf_decode_9to15") dont_touch
remove_attribute find(cell, "rf_decode_16to22") dont_touch
remove_attribute find(cell, "rf_decode_17to23") dont_touch
remove_attribute find(cell, "rf_decode_24to30") dont_touch
remove_attribute find(cell, "rf_decode_25to31") dont_touch
compile -map_effort high -ungroup_all -incremental_mapping -boundary_optimization
compile -map_effort high -ungroup_all -incremental_mapping -boundary_optimization
report -reference > report/regfile_decode1.ref
report_constraint -all_violators > report/regfile_decode1.violators
report_timing -path full -delay max -max_paths 10 > report/regfile_decode1.full.paths
report_timing -from {rNum[0],rNum[1]} -path full -delay max -max_paths 10 > report/regfile_decode1.full.paths.01
write -f edif -o regfile_decode1.edf -hier regfile_decode
quit