vuctl.ss
3.91 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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
/* setup aliases */
alias set_default_operating_conditions \
"set_operating_conditions NOM -library rcp.db; \
set_wire_load 256000 -mode top;"
alias set_default_timing_constraints \
"create_clock clk -period 16.0 -waveform {0 8.0}; \
set_input_delay 13.0 -clock clk all_inputs(); \
set_clock_skew -uncertainty 1 clk; \
fix_hold clk; \
dont_touch_network clk; \
set_output_delay -max 13.0 -clock clk all_outputs(); \
set_driving_cell -cell in01d0 all_inputs(); \
set_drive 0 {clk}; \
set_load 1.0 all_outputs();"
/* setup the search path for includes */
search_path = search_path + "../src"
/* read the verilog sources */
read -f verilog ../src/vuctl.v
read -f edif regfile_decode.edf
read -f edif vuctlsl.edf
read -f verilog ../../../lib/verilog/user/asdff.v
read -f verilog ../../../lib/verilog/user/asdffen.v
current_design = vuctl
set_default_operating_conditions
set_default_timing_constraints
max_area 5000
current_design = vuctl
set_max_fanout 16 current_design;
set_max_fanout 8 all_inputs();
set_max_fanout 16000 clk;
set_max_transition 2.0 current_design;
set_max_transition 1.5 all_inputs();
set_max_transition 1.0 su_* ;
set_disable_timing su_cont_to_from
include vuctl.con
link
check_design > vuctl.lint
current_design = vuctl
ungroup -flatten -all
compile -map_effort high -ungroup_all -boundary_optimization
write -f edif -o vuctl1.edf -hier vuctl
report -reference > report/vuctl1.ref
report_area > report/vuctl1.area
report_net > report/vuctl1.net
report_constraint -all_violators > report/vuctl1.violators
report_timing -path full -delay max -max_paths 10 > report/vuctl1.full.paths
compile -map_effort high -ungroup_all -boundary_optimization
write -f edif -o vuctl2.edf -hier vuctl
report -reference > report/vuctl2.ref
report_area > report/vuctl2.area
report_net > report/vuctl2.net
report_constraint -all_violators > report/vuctl2.violators
report_timing -path full -delay max -max_paths 10 > report/vuctl2.full.paths
remove_attribute find(cell, "vuctlsl0") dont_touch
remove_attribute find(cell, "vuctlsl1") dont_touch
remove_attribute find(cell, "vctcontbusmx0mu") dont_touch
remove_attribute find(cell, "vctcontbusmx1mu") dont_touch
remove_attribute find(cell, "vctcontbusmx2mu") dont_touch
remove_attribute find(cell, "vctcontbusmx3mu") dont_touch
remove_attribute find(cell, "vctcontbusin0mu") dont_touch
remove_attribute find(cell, "vctcontbusin1mu") dont_touch
compile -map_effort high -ungroup_all -incremental_mapping -boundary_optimization
write -f edif -o vuctl3.edf -hier vuctl
report -reference > report/vuctl3.ref
report_area > report/vuctl3.area
report_net > report/vuctl3.net
report_constraint -all_violators > report/vuctl3.violators
report_timing -path full -delay max -max_paths 10 > report/vuctl3.full.paths
compile -map_effort high -ungroup_all -incremental_mapping -boundary_optimization
write -f edif -o vuctl4.edf -hier vuctl
report -reference > report/vuctl4.ref
report_area > report/vuctl4.area
report_net > report/vuctl4.net
report_constraint -all_violators > report/vuctl4.violators
report_timing -path full -delay max -max_paths 10 > report/vuctl4.full.paths
compile -map_effort high -ungroup_all -incremental_mapping -boundary_optimization
write -f edif -o vuctl5.edf -hier vuctl
report -reference > report/vuctl5.ref
report_area > report/vuctl5.area
report_net > report/vuctl5.net
report_constraint -all_violators > report/vuctl5.violators
report_timing -path full -delay max -max_paths 10 > report/vuctl5.full.paths
compile -map_effort high -ungroup_all -incremental_mapping -boundary_optimization
write -f edif -o vuctl6.edf -hier vuctl
ungroup -flatten vuctlsl*
ungroup -flatten decode_*
write -f edif -o vuctl.edf -hier vuctl
report -reference > report/vuctl.ref
report_area > report/vuctl.area
report_net > report/vuctl.net
report_constraint -all_violators > report/vuctl.violators
report_timing -path full -delay max -max_paths 10 > report/vuctl.full.paths
quit