Skip to content

Commit 52e5336

Browse files
authored
Merge pull request #10421 from eder-matheus/grt_cugr_layer_idx
grt: fix CUGR min routing layer index
2 parents 6dda608 + 78f8b03 commit 52e5336

21 files changed

Lines changed: 8246 additions & 15136 deletions

src/grt/src/cugr/src/CUGR.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ void CUGR::init(const int min_routing_layer,
8282
const int max_routing_layer,
8383
const std::set<odb::dbNet*>& clock_nets)
8484
{
85+
constants_.min_routing_layer = min_routing_layer - 1;
8586
design_ = std::make_unique<Design>(db_,
8687
logger_,
8788
constants_,

src/grt/src/cugr/src/Design.cpp

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ void Design::readNetlist()
8585

8686
auto pins = makeNetPins(db_net);
8787

88-
LayerRange layer_range
89-
= {.min_layer = min_routing_layer_, .max_layer = max_routing_layer_};
88+
LayerRange layer_range = {.min_layer = min_routing_layer_ - 1,
89+
.max_layer = max_routing_layer_ - 1};
9090
const int min_clk_layer = block_->getMinLayerForClock();
9191
const int max_clk_layer = block_->getMaxLayerForClock();
9292
if (clock_nets_.find(db_net) != clock_nets_.end() && min_clk_layer > 0
@@ -159,11 +159,14 @@ void Design::updateNet(odb::dbNet* db_net)
159159

160160
auto pins = makeNetPins(db_net);
161161

162-
LayerRange layer_range
163-
= {.min_layer = min_routing_layer_, .max_layer = max_routing_layer_};
164-
if (clock_nets_.find(db_net) != clock_nets_.end()) {
165-
layer_range.min_layer = block_->getMinLayerForClock() - 1;
166-
layer_range.max_layer = block_->getMaxLayerForClock() - 1;
162+
LayerRange layer_range = {.min_layer = min_routing_layer_ - 1,
163+
.max_layer = max_routing_layer_ - 1};
164+
const int min_clk_layer = block_->getMinLayerForClock();
165+
const int max_clk_layer = block_->getMaxLayerForClock();
166+
if (clock_nets_.find(db_net) != clock_nets_.end() && min_clk_layer > 0
167+
&& max_clk_layer > 0) {
168+
layer_range.min_layer = min_clk_layer - 1;
169+
layer_range.max_layer = max_clk_layer - 1;
167170
}
168171

169172
auto it = db_net_to_id_.find(db_net);

src/grt/test/clock_route_cugr.guideok

Lines changed: 72 additions & 140 deletions
Original file line numberDiff line numberDiff line change
@@ -39,179 +39,132 @@ clknet_2_0__leaf_clk
3939
100800 93600 108000 100800 li1
4040
100800 93600 108000 100800 met1
4141
100800 93600 108000 115200 met2
42-
100800 108000 108000 115200 met2
43-
93600 108000 108000 115200 met3
44-
100800 108000 115200 115200 met3
45-
64800 108000 100800 115200 met3
42+
100800 108000 108000 115200 met1
43+
93600 108000 108000 115200 met1
44+
100800 108000 115200 115200 met1
45+
64800 108000 100800 115200 met1
4646
93600 108000 100800 115200 li1
47-
93600 108000 100800 115200 met1
48-
93600 108000 100800 115200 met2
4947
64800 108000 72000 115200 li1
50-
64800 108000 72000 115200 met1
51-
64800 108000 72000 115200 met2
52-
108000 108000 122400 115200 met3
53-
108000 108000 115200 115200 met2
48+
108000 108000 122400 115200 met1
49+
108000 108000 115200 115200 met1
5450
115200 108000 122400 115200 li1
55-
115200 108000 122400 115200 met1
56-
115200 108000 122400 115200 met2
5751
108000 108000 115200 122400 met2
5852
108000 115200 115200 129600 met2
59-
108000 115200 115200 122400 met2
53+
108000 115200 115200 122400 met1
6054
108000 122400 115200 151200 met2
6155
108000 122400 115200 129600 li1
6256
108000 122400 115200 129600 met1
63-
108000 144000 115200 151200 met2
64-
108000 144000 129600 151200 met3
65-
93600 144000 115200 151200 met3
66-
122400 144000 129600 151200 li1
67-
122400 144000 129600 151200 met1
68-
122400 144000 129600 151200 met2
69-
93600 144000 100800 151200 met2
70-
93600 144000 100800 158400 met2
57+
108000 144000 115200 158400 met2
58+
108000 144000 115200 151200 met1
59+
108000 151200 115200 158400 met1
60+
93600 151200 115200 158400 met1
7161
93600 151200 100800 158400 li1
72-
93600 151200 100800 158400 met1
73-
108000 115200 129600 122400 met3
62+
108000 144000 129600 151200 met1
63+
122400 144000 129600 151200 li1
64+
108000 115200 129600 122400 met1
7465
122400 115200 129600 122400 li1
75-
122400 115200 129600 122400 met1
76-
122400 115200 129600 122400 met2
7766
)
7867
clknet_2_1__leaf_clk
7968
(
8069
108000 151200 115200 158400 li1
8170
108000 151200 115200 158400 met1
8271
108000 151200 115200 165600 met2
8372
108000 158400 115200 180000 met2
84-
108000 158400 115200 165600 met2
85-
108000 158400 115200 165600 li1
8673
108000 158400 115200 165600 met1
8774
108000 172800 115200 194400 met2
88-
108000 172800 115200 180000 met2
89-
108000 172800 115200 180000 li1
9075
108000 172800 115200 180000 met1
9176
108000 187200 115200 208800 met2
92-
108000 187200 115200 194400 met2
93-
108000 201600 115200 208800 met2
94-
108000 201600 115200 208800 li1
77+
108000 187200 115200 194400 met1
9578
108000 201600 115200 208800 met1
96-
93600 201600 115200 208800 met3
79+
93600 201600 115200 208800 met1
80+
108000 201600 115200 208800 li1
9781
93600 201600 100800 208800 li1
98-
93600 201600 100800 208800 met1
99-
93600 201600 100800 208800 met2
100-
100800 187200 115200 194400 met3
101-
108000 187200 122400 194400 met3
82+
100800 187200 115200 194400 met1
83+
108000 187200 122400 194400 met1
10284
100800 187200 108000 194400 li1
103-
100800 187200 108000 194400 met1
104-
100800 187200 108000 194400 met2
10585
115200 187200 122400 194400 li1
106-
115200 187200 122400 194400 met1
107-
115200 187200 122400 194400 met2
108-
93600 172800 115200 180000 met3
86+
93600 172800 115200 180000 met1
87+
108000 172800 115200 180000 li1
10988
93600 172800 100800 180000 li1
110-
93600 172800 100800 180000 met1
111-
93600 172800 100800 180000 met2
112-
79200 158400 115200 165600 met3
89+
79200 158400 115200 165600 met1
90+
108000 158400 115200 165600 li1
11391
79200 158400 86400 165600 li1
114-
79200 158400 86400 165600 met1
115-
79200 158400 86400 165600 met2
11692
)
11793
clknet_2_2__leaf_clk
11894
(
11995
136800 115200 144000 122400 li1
12096
136800 115200 144000 122400 met1
12197
136800 115200 144000 129600 met2
12298
136800 122400 144000 136800 met2
123-
136800 122400 144000 129600 met2
99+
136800 122400 144000 129600 met1
124100
136800 129600 144000 144000 met2
125101
136800 129600 144000 136800 li1
126102
136800 129600 144000 136800 met1
127-
136800 136800 144000 144000 met2
128-
136800 136800 151200 144000 met3
129-
129600 136800 144000 144000 met3
130-
144000 136800 151200 144000 li1
131-
144000 136800 151200 144000 met1
132-
144000 136800 151200 144000 met2
133-
129600 136800 136800 144000 met2
134-
129600 136800 136800 151200 met2
103+
136800 136800 144000 151200 met2
104+
136800 136800 144000 144000 met1
105+
136800 144000 144000 151200 met1
106+
129600 144000 144000 151200 met1
135107
129600 144000 136800 151200 li1
136-
129600 144000 136800 151200 met1
137-
136800 122400 151200 129600 met3
138-
144000 122400 158400 129600 met3
139-
144000 122400 151200 129600 met2
108+
136800 136800 151200 144000 met1
109+
144000 136800 151200 144000 li1
110+
136800 122400 151200 129600 met1
111+
144000 122400 158400 129600 met1
112+
144000 122400 151200 129600 met1
140113
151200 122400 158400 129600 li1
141-
151200 122400 158400 129600 met1
142-
151200 122400 158400 129600 met2
143114
144000 100800 151200 129600 met2
144-
144000 100800 151200 108000 met2
145-
144000 100800 151200 108000 li1
146115
144000 100800 151200 108000 met1
147-
144000 100800 165600 108000 met3
148-
158400 100800 194400 108000 met3
116+
144000 100800 165600 108000 met1
117+
144000 100800 151200 108000 li1
118+
158400 100800 194400 108000 met1
149119
158400 100800 165600 108000 li1
150-
158400 100800 165600 108000 met1
151-
158400 100800 165600 108000 met2
152-
187200 100800 194400 108000 met2
120+
187200 100800 194400 108000 met1
153121
187200 100800 194400 115200 met2
154122
187200 108000 194400 122400 met2
155123
187200 108000 194400 115200 li1
156124
187200 108000 194400 115200 met1
157125
187200 115200 194400 144000 met2
158-
187200 115200 194400 122400 met2
126+
187200 115200 194400 122400 met1
159127
187200 136800 194400 144000 li1
160128
187200 136800 194400 144000 met1
161-
187200 115200 201600 122400 met3
129+
187200 115200 201600 122400 met1
162130
194400 115200 201600 122400 li1
163-
194400 115200 201600 122400 met1
164-
194400 115200 201600 122400 met2
165131
)
166132
clknet_2_3__leaf_clk
167133
(
168134
136800 158400 144000 165600 li1
169-
136800 158400 144000 165600 met1
170-
136800 158400 144000 165600 met2
171-
136800 158400 151200 165600 met3
172-
144000 158400 158400 165600 met3
135+
136800 158400 151200 165600 met1
136+
144000 158400 158400 165600 met1
173137
144000 158400 151200 165600 li1
174-
144000 158400 151200 165600 met1
175-
144000 158400 151200 165600 met2
176-
151200 158400 165600 165600 met3
177-
151200 158400 158400 165600 met2
138+
151200 158400 165600 165600 met1
139+
151200 158400 158400 165600 met1
178140
158400 158400 165600 165600 li1
179-
158400 158400 165600 165600 met1
180-
158400 158400 165600 165600 met2
181141
151200 158400 158400 180000 met2
182142
151200 172800 158400 194400 met2
183143
151200 172800 158400 180000 li1
184144
151200 172800 158400 180000 met1
185-
151200 187200 158400 194400 met2
186-
144000 187200 158400 194400 met3
187-
151200 187200 165600 194400 met3
188-
136800 187200 151200 194400 met3
145+
151200 187200 158400 194400 met1
146+
144000 187200 158400 194400 met1
147+
151200 187200 165600 194400 met1
148+
136800 187200 151200 194400 met1
189149
144000 187200 151200 194400 li1
190-
144000 187200 151200 194400 met1
191-
144000 187200 151200 194400 met2
192-
136800 187200 144000 194400 met2
150+
136800 187200 144000 194400 met1
193151
136800 187200 144000 201600 met2
194152
136800 194400 144000 208800 met2
195-
136800 194400 144000 201600 met2
153+
136800 194400 144000 201600 met1
196154
136800 201600 144000 208800 li1
197155
136800 201600 144000 208800 met1
198-
122400 194400 144000 201600 met3
156+
122400 194400 144000 201600 met1
199157
122400 194400 129600 201600 li1
200-
122400 194400 129600 201600 met1
201-
122400 194400 129600 201600 met2
202-
158400 187200 172800 194400 met3
203-
158400 187200 165600 194400 met2
204-
165600 187200 194400 194400 met3
158+
158400 187200 172800 194400 met1
159+
158400 187200 165600 194400 met1
160+
165600 187200 194400 194400 met1
205161
165600 187200 172800 194400 li1
206-
165600 187200 172800 194400 met1
207-
165600 187200 172800 194400 met2
208-
187200 187200 201600 194400 met3
209-
187200 187200 194400 194400 met2
210-
194400 187200 201600 194400 met2
211-
194400 165600 201600 194400 met2
212-
194400 165600 201600 172800 li1
213-
194400 165600 201600 172800 met1
162+
187200 187200 194400 194400 met1
163+
187200 165600 194400 194400 met2
214164
187200 187200 194400 208800 met2
165+
187200 165600 194400 172800 met1
166+
187200 165600 201600 172800 met1
167+
194400 165600 201600 172800 li1
215168
187200 201600 194400 208800 li1
216169
187200 201600 194400 208800 met1
217170
158400 187200 165600 201600 met2
@@ -224,60 +177,43 @@ clknet_2_3__leaf_clk
224177
net55
225178
(
226179
100800 136800 108000 144000 li1
227-
100800 136800 108000 144000 met1
228-
100800 136800 108000 144000 met2
229-
100800 136800 115200 144000 met3
230-
108000 136800 115200 144000 met2
231-
108000 136800 115200 165600 met2
232-
108000 136800 115200 144000 li1
180+
100800 136800 115200 144000 met1
233181
108000 136800 115200 144000 met1
182+
108000 136800 115200 144000 li1
183+
108000 136800 115200 165600 met2
234184
108000 158400 115200 187200 met2
235185
108000 158400 115200 165600 li1
236186
108000 158400 115200 165600 met1
237187
108000 180000 115200 201600 met2
238188
108000 180000 115200 187200 li1
239189
108000 180000 115200 187200 met1
240-
108000 194400 115200 201600 met2
241-
108000 194400 115200 201600 li1
242190
108000 194400 115200 201600 met1
243-
108000 194400 122400 201600 met3
244-
115200 194400 129600 201600 met3
191+
108000 194400 122400 201600 met1
192+
108000 194400 115200 201600 li1
193+
115200 194400 129600 201600 met1
245194
115200 194400 122400 201600 li1
246-
115200 194400 122400 201600 met1
247-
115200 194400 122400 201600 met2
248-
122400 194400 144000 201600 met3
195+
122400 194400 144000 201600 met1
249196
122400 194400 129600 201600 li1
250-
122400 194400 129600 201600 met1
251-
122400 194400 129600 201600 met2
252-
136800 194400 144000 201600 met2
253-
136800 187200 144000 201600 met2
254-
136800 194400 144000 201600 li1
255197
136800 194400 144000 201600 met1
198+
136800 194400 144000 201600 li1
199+
136800 187200 144000 201600 met2
256200
136800 187200 144000 194400 li1
257201
136800 187200 144000 194400 met1
258202
)
259203
net56
260204
(
261205
108000 122400 115200 129600 li1
262-
108000 122400 115200 129600 met1
263-
108000 122400 115200 129600 met2
264-
108000 122400 122400 129600 met3
265-
115200 122400 136800 129600 met3
266-
115200 122400 122400 129600 met2
206+
108000 122400 122400 129600 met1
207+
115200 122400 136800 129600 met1
208+
115200 122400 122400 129600 met1
267209
129600 122400 136800 129600 li1
268-
129600 122400 136800 129600 met1
269-
129600 122400 136800 129600 met2
270210
115200 122400 122400 144000 met2
271211
115200 136800 122400 144000 met1
272212
)
273213
net57
274214
(
275-
115200 158400 122400 165600 met1
276-
115200 158400 122400 165600 met2
277-
115200 158400 136800 165600 met3
215+
115200 158400 136800 165600 met1
278216
129600 158400 136800 165600 li1
279-
129600 158400 136800 165600 met1
280-
129600 158400 136800 165600 met2
281217
)
282218
net58
283219
(
@@ -310,12 +246,8 @@ net61
310246
net62
311247
(
312248
129600 187200 136800 194400 li1
313-
129600 187200 136800 194400 met1
314-
129600 187200 136800 194400 met2
315-
129600 187200 144000 194400 met3
249+
129600 187200 144000 194400 met1
316250
136800 187200 144000 194400 li1
317-
136800 187200 144000 194400 met1
318-
136800 187200 144000 194400 met2
319251
)
320252
net63
321253
(

src/grt/test/clock_route_cugr.ok

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Stage 1: Pattern routing.
4040
Nets with overflow: 0.
4141
Routing statistics
4242
Wire length: 2918
43-
Total via count: 203
43+
Total via count: 135
4444
Total overflow: 0
4545
Min resource: 2
4646
Bottleneck: (5, 0, 0)
@@ -49,13 +49,13 @@ Bottleneck: (5, 0, 0)
4949
Layer Resource Demand Usage (%) Max H / Max V / Total Overflow
5050
---------------------------------------------------------------------------------------
5151
li1 21571 3 0.01% 0 / 0 / 0
52-
met1 27555 17 0.06% 0 / 0 / 0
53-
met2 21571 70 0.32% 0 / 0 / 0
54-
met3 14023 90 0.64% 0 / 0 / 0
52+
met1 27555 73 0.26% 0 / 0 / 0
53+
met2 21571 63 0.29% 0 / 0 / 0
54+
met3 14023 25 0.18% 0 / 0 / 0
5555
met4 10804 13 0.12% 0 / 0 / 0
5656
met5 3108 0 0.00% 0 / 0 / 0
5757
---------------------------------------------------------------------------------------
58-
Total 98632 193 0.20% 0 / 0 / 0
58+
Total 98632 177 0.18% 0 / 0 / 0
5959

6060
[INFO GRT-0018] Total wirelength: 1641 um
6161
[INFO GRT-0014] Routed nets: 15

0 commit comments

Comments
 (0)