Skip to content

Commit 35a6f2b

Browse files
committed
Updated multiple rules after discussion.
Signed-off-by: Jaehyun Kim <[email protected]>
1 parent 6899220 commit 35a6f2b

File tree

2 files changed

+119
-22
lines changed

2 files changed

+119
-22
lines changed

flow/scripts/detail_route.tcl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,6 @@ if { ![design_is_routed] } {
7777
error "Design has unrouted nets."
7878
}
7979

80+
report_metrics 5 "detailed route"
81+
8082
write_db $::env(RESULTS_DIR)/5_2_route.odb

flow/util/genRuleFile.py

Lines changed: 117 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,80 @@ def gen_rule_file(
9090
"round_value": True,
9191
"compare": "<=",
9292
},
93+
"cts__timing__setup__ws": {
94+
"mode": "period",
95+
"padding": 5,
96+
"min_max": min,
97+
"min_max_direct": 0,
98+
"round_value": False,
99+
"compare": ">=",
100+
},
101+
"cts__timing__setup__tns": {
102+
"mode": "padding",
103+
"padding": 20,
104+
"min_max": min,
105+
"min_max_direct": 0,
106+
"round_value": False,
107+
"compare": ">=",
108+
},
109+
"cts__timing__hold__ws": {
110+
"mode": "period",
111+
"padding": 5,
112+
"min_max": min,
113+
"min_max_direct": 0,
114+
"round_value": False,
115+
"compare": ">=",
116+
},
117+
"cts__timing__hold__tns": {
118+
"mode": "padding",
119+
"padding": 20,
120+
"min_max": min,
121+
"min_max_direct": 0,
122+
"round_value": False,
123+
"compare": ">=",
124+
},
93125
# route
94126
"globalroute__antenna_diodes_count": {
95-
"mode": "padding",
96-
"padding": 50,
127+
"mode": "metric",
128+
"padding": 0.1,
129+
"metric": "globalroute__route__net",
130+
"min_max": max,
131+
"min_max_direct": 100,
97132
"round_value": True,
98133
"compare": "<=",
99134
},
135+
"globalroute__timing__setup__ws": {
136+
"mode": "period",
137+
"padding": 5,
138+
"min_max": min,
139+
"min_max_direct": 0,
140+
"round_value": False,
141+
"compare": ">=",
142+
},
143+
"globalroute__timing__setup__tns": {
144+
"mode": "padding",
145+
"padding": 20,
146+
"min_max": min,
147+
"min_max_direct": 0,
148+
"round_value": False,
149+
"compare": ">=",
150+
},
151+
"globalroute__timing__hold__ws": {
152+
"mode": "period",
153+
"padding": 5,
154+
"min_max": min,
155+
"min_max_direct": 0,
156+
"round_value": False,
157+
"compare": ">=",
158+
},
159+
"globalroute__timing__hold__tns": {
160+
"mode": "padding",
161+
"padding": 20,
162+
"min_max": min,
163+
"min_max_direct": 0,
164+
"round_value": False,
165+
"compare": ">=",
166+
},
100167
"detailedroute__route__wirelength": {
101168
"mode": "padding",
102169
"padding": 15,
@@ -115,31 +182,74 @@ def gen_rule_file(
115182
"compare": "<=",
116183
},
117184
"detailedroute__antenna_diodes_count": {
118-
"mode": "padding",
119-
"padding": 50,
185+
"mode": "metric",
186+
"padding": 0.1,
187+
"metric": "detailedroute__route__net",
120188
"min_max": max,
121-
"min_max_direct": 5,
189+
"min_max_direct": 100,
122190
"round_value": True,
123191
"compare": "<=",
124192
},
193+
"detailedroute__timing__setup__ws": {
194+
"mode": "period",
195+
"padding": 5,
196+
"min_max": min,
197+
"min_max_direct": 0,
198+
"round_value": False,
199+
"compare": ">=",
200+
},
201+
"detailedroute__timing__setup__tns": {
202+
"mode": "padding",
203+
"padding": 20,
204+
"min_max": min,
205+
"min_max_direct": 0,
206+
"round_value": False,
207+
"compare": ">=",
208+
},
209+
"detailedroute__timing__hold__ws": {
210+
"mode": "period",
211+
"padding": 5,
212+
"min_max": min,
213+
"min_max_direct": 0,
214+
"round_value": False,
215+
"compare": ">=",
216+
},
217+
"detailedroute__timing__hold__tns": {
218+
"mode": "padding",
219+
"padding": 20,
220+
"min_max": min,
221+
"min_max_direct": 0,
222+
"round_value": False,
223+
"compare": ">=",
224+
},
125225
# finish
126226
"finish__timing__setup__ws": {
127227
"mode": "period",
128228
"padding": 5,
229+
"min_max": min,
230+
"min_max_direct": 0,
129231
"round_value": False,
130232
"compare": ">=",
131233
},
132234
"finish__timing__setup__tns": {
133235
"mode": "padding",
134-
"padding": 30,
236+
"padding": 20,
237+
"min_max": min,
238+
"min_max_direct": 0,
239+
"round_value": False,
240+
"compare": ">=",
241+
},
242+
"finish__timing__hold__ws": {
243+
"mode": "period",
244+
"padding": 5,
135245
"min_max": min,
136246
"min_max_direct": 0,
137247
"round_value": False,
138248
"compare": ">=",
139249
},
140250
"finish__timing__hold__tns": {
141251
"mode": "padding",
142-
"padding": 30,
252+
"padding": 20,
143253
"min_max": min,
144254
"min_max_direct": 0,
145255
"round_value": False,
@@ -151,21 +261,6 @@ def gen_rule_file(
151261
"round_value": True,
152262
"compare": "<=",
153263
},
154-
"finish__timing__drv__setup_violation_count": {
155-
"mode": "metric",
156-
"padding": 5,
157-
"metric": "placeopt__design__instance__count__stdcell",
158-
"round_value": True,
159-
"compare": "<=",
160-
},
161-
"finish__timing__drv__hold_violation_count": {
162-
"mode": "padding",
163-
"padding": 25,
164-
"min_max": max,
165-
"min_max_sum": 100,
166-
"round_value": True,
167-
"compare": "<=",
168-
},
169264
"finish__timing__wns_percent_delay": {
170265
"mode": "padding",
171266
"padding": 20,

0 commit comments

Comments
 (0)