@@ -207,10 +207,54 @@ module la_ioside
207
207
// LA_CUT
208
208
if (CELLMAP[(i* 40 + 16 )+ :8 ] == LA_CUT)
209
209
begin : icut
210
- la_iocut #(.SIDE (SIDE),
211
- .PROP (CELLMAP[(i*40 +32 )+:8 ]),
212
- .RINGW(RINGW))
213
- i0 (.vss(vss));
210
+ if (i - 1 < 0 && i + 1 == NCELLS)
211
+ begin : icut_invalid
212
+ end
213
+ if (i - 1 < 0 && i + 1 <= NCELLS - 1 )
214
+ begin : icut_start
215
+ la_iocut #(.SIDE(SIDE),
216
+ .PROP(CELLMAP[(i*40 +32 )+:8 ]),
217
+ .RINGW(RINGW))
218
+ i0 (.vss(vss),
219
+ .vdd0(),
220
+ .vdd1(vdd[CELLMAP[((i + 1 )*40 +24 )+:8 ]]),
221
+ .vddio0(),
222
+ .vddio1(vddio[CELLMAP[((i + 1 )*40 +24 )+:8 ]]),
223
+ .vssio0(),
224
+ .vssio1(vssio[CELLMAP[((i + 1 )*40 +24 )+:8 ]]),
225
+ .ioring0(),
226
+ .ioring1(ioring[CELLMAP[((i + 1 )*40 +24 )+:8 ]*RINGW+:RINGW]));
227
+ end
228
+ if (i - 1 >= 0 && i + 1 <= NCELLS - 1 )
229
+ begin : icut_middle
230
+ la_iocut #(.SIDE(SIDE),
231
+ .PROP(CELLMAP[(i*40 +32 )+:8 ]),
232
+ .RINGW(RINGW))
233
+ i0 (.vss(vss),
234
+ .vdd0(vdd[CELLMAP[((i - 1 )*40 +24 )+:8 ]]),
235
+ .vdd1(vdd[CELLMAP[((i + 1 )*40 +24 )+:8 ]]),
236
+ .vddio0(vddio[CELLMAP[((i - 1 )*40 +24 )+:8 ]]),
237
+ .vddio1(vddio[CELLMAP[((i + 1 )*40 +24 )+:8 ]]),
238
+ .vssio0(vssio[CELLMAP[((i - 1 )*40 +24 )+:8 ]]),
239
+ .vssio1(vssio[CELLMAP[((i + 1 )*40 +24 )+:8 ]]),
240
+ .ioring0(ioring[CELLMAP[((i - 1 )*40 +24 )+:8 ]*RINGW+:RINGW]),
241
+ .ioring1(ioring[CELLMAP[((i + 1 )*40 +24 )+:8 ]*RINGW+:RINGW]));
242
+ end
243
+ if (i - 1 >= 0 && i + 1 == NCELLS)
244
+ begin : icut_end
245
+ la_iocut #(.SIDE(SIDE),
246
+ .PROP(CELLMAP[(i*40 +32 )+:8 ]),
247
+ .RINGW(RINGW))
248
+ i0 (.vss(vss),
249
+ .vdd0(vdd[CELLMAP[((i - 1 )*40 +24 )+:8 ]]),
250
+ .vdd1(),
251
+ .vddio0(vddio[CELLMAP[((i - 1 )*40 +24 )+:8 ]]),
252
+ .vddio1(),
253
+ .vssio0(vssio[CELLMAP[((i - 1 )*40 +24 )+:8 ]]),
254
+ .vssio1(),
255
+ .ioring0(ioring[CELLMAP[((i - 1 )*40 +24 )+:8 ]*RINGW+:RINGW]),
256
+ .ioring1());
257
+ end
214
258
end
215
259
// LA_VDDIO
216
260
if (CELLMAP[(i* 40 + 16 )+ :8 ] == LA_VDDIO)
0 commit comments