Skip to content

Commit 4f08d52

Browse files
authored
Merge pull request #2472 from verilog-to-routing/fix_3d_arch
Fix: Address warnings in Koios 3D architectures and add additional test
2 parents 69f9ebe + 1c659ce commit 4f08d52

File tree

8 files changed

+107
-62
lines changed

8 files changed

+107
-62
lines changed

vtr_flow/arch/multi_die/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ This directory contains architecture files for 3D FPGAs. The architectures are d
66
- Contains architecture files based on the [k6FracN10LB_mem20K_complexDSP_customSB_22nm](../COFFE_22nm/k6FracN10LB_mem20K_complexDSP_customSB_22nm.clustered.xml) architecture, utilized in Koios benchmarks.
77
- Inside the architecture file, the fabric with multiple sizes based on the sector size is defined.
88
- Routing resource and switch delays in this architecture are configured for 7 nm technology. The inter-die connection delay is 73 ps.
9+
- The empty blocks in the middle of the fabric at the base die, which have the chess pattern, represent the through-silicon via (TSV) holes used to deliver power and ground to the upper die.
910
- Detailed information on how these delays are obtained can be found in the paper "Into the Third Dimension: Architecture Exploration Tools for 3D Reconfigurable Acceleration Devices," presented at FPT '23.
1011
- **Architectures:**
1112
- `3d_full_OPIN_inter_die_k6FracN10LB_mem20k_complexDSP_customSB_7nm.xml`

vtr_flow/arch/multi_die/koios_3d/3d_full_OPIN_inter_die_k6FracN10LB_mem20k_complexDSP_customSB_7nm.xml

Lines changed: 14 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -221,16 +221,6 @@
221221
</pinlocations>
222222
</sub_tile>
223223
</tile>
224-
<tile name="tsv_hole" height="2" width="2" area="137668">
225-
<sub_tile name="tsv_hole">
226-
<equivalent_sites>
227-
<site pb_type="tsv_hole"/>
228-
</equivalent_sites>
229-
<input name="in" num_pins="1"/>
230-
<output name="out" num_pins="1"/>
231-
<fc in_type="abs" in_val="0" out_type="abs" out_val="0"/>
232-
</sub_tile>
233-
</tile>
234224
</tiles>
235225
<!-- ODIN II specific config ends -->
236226
<layout>
@@ -251,10 +241,10 @@
251241
<col type="dsp_top" startx="31" starty="1" repeatx="41" priority="20"/>
252242

253243
<!-- PW -->
254-
<col type="tsv_hole" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
244+
<col type="EMPTY" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
255245

256246
<!-- GND -->
257-
<col type="tsv_hole" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
247+
<col type="EMPTY" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
258248

259249
</layer>
260250
<layer die="1">
@@ -290,10 +280,10 @@
290280
<col type="dsp_top" startx="31" starty="1" repeatx="41" priority="20"/>
291281

292282
<!-- PW -->
293-
<col type="tsv_hole" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
283+
<col type="EMPTY" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
294284

295285
<!-- GND -->
296-
<col type="tsv_hole" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
286+
<col type="EMPTY" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
297287

298288
</layer>
299289
<layer die="1">
@@ -328,10 +318,10 @@
328318
<col type="dsp_top" startx="31" starty="1" repeatx="41" priority="20"/>
329319

330320
<!-- PW -->
331-
<col type="tsv_hole" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
321+
<col type="EMPTY" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
332322

333323
<!-- GND -->
334-
<col type="tsv_hole" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
324+
<col type="EMPTY" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
335325

336326
</layer>
337327
<layer die="1">
@@ -366,10 +356,10 @@
366356
<col type="dsp_top" startx="31" starty="1" repeatx="41" priority="20"/>
367357

368358
<!-- PW -->
369-
<col type="tsv_hole" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
359+
<col type="EMPTY" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
370360

371361
<!-- GND -->
372-
<col type="tsv_hole" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
362+
<col type="EMPTY" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
373363

374364
</layer>
375365
<layer die="1">
@@ -404,10 +394,10 @@
404394
<col type="dsp_top" startx="31" starty="1" repeatx="41" priority="20"/>
405395

406396
<!-- PW -->
407-
<col type="tsv_hole" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
397+
<col type="EMPTY" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
408398

409399
<!-- GND -->
410-
<col type="tsv_hole" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
400+
<col type="EMPTY" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
411401

412402
</layer>
413403
<layer die="1">
@@ -442,10 +432,10 @@
442432
<col type="dsp_top" startx="31" starty="1" repeatx="41" priority="20"/>
443433

444434
<!-- PW -->
445-
<col type="tsv_hole" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
435+
<col type="EMPTY" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
446436

447437
<!-- GND -->
448-
<col type="tsv_hole" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
438+
<col type="EMPTY" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
449439

450440
</layer>
451441
<layer die="1">
@@ -480,10 +470,10 @@
480470
<col type="dsp_top" startx="31" starty="1" repeatx="41" priority="20"/>
481471

482472
<!-- PW -->
483-
<col type="tsv_hole" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
473+
<col type="EMPTY" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
484474

485475
<!-- GND -->
486-
<col type="tsv_hole" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
476+
<col type="EMPTY" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
487477

488478
</layer>
489479
<layer die="1">
@@ -1552,12 +1542,6 @@
15521542
</pb_type>
15531543
<!-- Define fracturable memory end -->
15541544

1555-
<pb_type name="tsv_hole">
1556-
<input name="I" num_pins="1"/>
1557-
<output name="O" num_pins="1"/>
1558-
<interconnect/>
1559-
</pb_type>
1560-
15611545
</complexblocklist>
15621546

15631547
<switchblocklist>

vtr_flow/arch/multi_die/koios_3d/3d_limited_OPIN_inter_die_k6FracN10LB_mem20k_complexDSP_customSB_7nm.xml

Lines changed: 14 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -212,16 +212,6 @@
212212
</pinlocations>
213213
</sub_tile>
214214
</tile>
215-
<tile name="tsv_hole" height="2" width="2" area="137668">
216-
<sub_tile name="tsv_hole">
217-
<equivalent_sites>
218-
<site pb_type="tsv_hole"/>
219-
</equivalent_sites>
220-
<input name="in" num_pins="1"/>
221-
<output name="out" num_pins="1"/>
222-
<fc in_type="abs" in_val="0" out_type="abs" out_val="0"/>
223-
</sub_tile>
224-
</tile>
225215
</tiles>
226216
<!-- ODIN II specific config ends -->
227217
<layout>
@@ -242,10 +232,10 @@
242232
<col type="dsp_top" startx="31" starty="1" repeatx="41" priority="20"/>
243233

244234
<!-- PW -->
245-
<col type="tsv_hole" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
235+
<col type="EMPTY" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
246236

247237
<!-- GND -->
248-
<col type="tsv_hole" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
238+
<col type="EMPTY" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
249239

250240
</layer>
251241
<layer die="1">
@@ -280,10 +270,10 @@
280270
<col type="dsp_top" startx="31" starty="1" repeatx="41" priority="20"/>
281271

282272
<!-- PW -->
283-
<col type="tsv_hole" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
273+
<col type="EMPTY" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
284274

285275
<!-- GND -->
286-
<col type="tsv_hole" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
276+
<col type="EMPTY" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
287277

288278
</layer>
289279
<layer die="1">
@@ -318,10 +308,10 @@
318308
<col type="dsp_top" startx="31" starty="1" repeatx="41" priority="20"/>
319309

320310
<!-- PW -->
321-
<col type="tsv_hole" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
311+
<col type="EMPTY" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
322312

323313
<!-- GND -->
324-
<col type="tsv_hole" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
314+
<col type="EMPTY" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
325315

326316
</layer>
327317
<layer die="1">
@@ -356,10 +346,10 @@
356346
<col type="dsp_top" startx="31" starty="1" repeatx="41" priority="20"/>
357347

358348
<!-- PW -->
359-
<col type="tsv_hole" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
349+
<col type="EMPTY" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
360350

361351
<!-- GND -->
362-
<col type="tsv_hole" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
352+
<col type="EMPTY" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
363353

364354
</layer>
365355
<layer die="1">
@@ -394,10 +384,10 @@
394384
<col type="dsp_top" startx="31" starty="1" repeatx="41" priority="20"/>
395385

396386
<!-- PW -->
397-
<col type="tsv_hole" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
387+
<col type="EMPTY" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
398388

399389
<!-- GND -->
400-
<col type="tsv_hole" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
390+
<col type="EMPTY" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
401391

402392
</layer>
403393
<layer die="1">
@@ -432,10 +422,10 @@
432422
<col type="dsp_top" startx="31" starty="1" repeatx="41" priority="20"/>
433423

434424
<!-- PW -->
435-
<col type="tsv_hole" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
425+
<col type="EMPTY" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
436426

437427
<!-- GND -->
438-
<col type="tsv_hole" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
428+
<col type="EMPTY" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
439429

440430
</layer>
441431
<layer die="1">
@@ -470,10 +460,10 @@
470460
<col type="dsp_top" startx="31" starty="1" repeatx="41" priority="20"/>
471461

472462
<!-- PW -->
473-
<col type="tsv_hole" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
463+
<col type="EMPTY" startx="8" starty="5" repeatx="13" incry="12" priority="103"/>
474464

475465
<!-- GND -->
476-
<col type="tsv_hole" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
466+
<col type="EMPTY" startx="14" starty="11" repeatx="13" incry="12" priority="103"/>
477467

478468
</layer>
479469
<layer die="1">
@@ -1533,13 +1523,6 @@
15331523
</mode>
15341524
</pb_type>
15351525
<!-- Define fracturable memory end -->
1536-
1537-
<pb_type name="tsv_hole">
1538-
<input name="I" num_pins="1"/>
1539-
<output name="O" num_pins="1"/>
1540-
<interconnect/>
1541-
</pb_type>
1542-
15431526
</complexblocklist>
15441527

15451528
<switchblocklist>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#
2+
############################################
3+
# Configuration file for running experiments
4+
##############################################
5+
6+
# Path to directory of circuits to use
7+
circuits_dir=benchmarks/titan_blif/other_benchmarks/stratixiv
8+
9+
# Path to directory of SDC files
10+
sdc_dir=benchmarks/titan_blif/other_benchmarks/stratixiv
11+
12+
# Path to directory of architectures to use
13+
archs_dir=arch/multi_die/stratixiv_3d
14+
15+
# Add circuits to list to sweep
16+
circuit_list_add=carpat_stratixiv_arch_timing.blif
17+
circuit_list_add=CH_DFSIN_stratixiv_arch_timing.blif
18+
circuit_list_add=CHERI_stratixiv_arch_timing.blif
19+
circuit_list_add=EKF-SLAM_Jacobians_stratixiv_arch_timing.blif
20+
circuit_list_add=fir_cascade_stratixiv_arch_timing.blif
21+
circuit_list_add=jacobi_stratixiv_arch_timing.blif
22+
circuit_list_add=JPEG_stratixiv_arch_timing.blif
23+
circuit_list_add=leon2_stratixiv_arch_timing.blif
24+
circuit_list_add=leon3mp_stratixiv_arch_timing.blif
25+
circuit_list_add=MCML_stratixiv_arch_timing.blif
26+
circuit_list_add=MMM_stratixiv_arch_timing.blif
27+
circuit_list_add=radar20_stratixiv_arch_timing.blif
28+
circuit_list_add=random_stratixiv_arch_timing.blif
29+
circuit_list_add=Reed_Solomon_stratixiv_arch_timing.blif
30+
circuit_list_add=smithwaterman_stratixiv_arch_timing.blif
31+
circuit_list_add=stap_steering_stratixiv_arch_timing.blif
32+
circuit_list_add=sudoku_check_stratixiv_arch_timing.blif
33+
circuit_list_add=SURF_desc_stratixiv_arch_timing.blif
34+
circuit_list_add=ucsb_152_tap_fir_stratixiv_arch_timing.blif
35+
circuit_list_add=uoft_raytracer_stratixiv_arch_timing.blif
36+
circuit_list_add=wb_conmax_stratixiv_arch_timing.blif
37+
circuit_list_add=picosoc_stratixiv_arch_timing.blif
38+
circuit_list_add=murax_stratixiv_arch_timing.blif
39+
40+
# Add architectures to list to sweep
41+
arch_list_add=3d_full_OPIN_inter_die_stratixiv_arch.timing.xml
42+
43+
# Parse info and how to parse
44+
parse_file=vpr_titan.txt
45+
46+
# How to parse QoR info
47+
qor_parse_file=qor_vpr_titan.txt
48+
49+
# Pass requirements
50+
pass_requirements_file=pass_requirements_vpr_titan.txt
51+
52+
script_params=-starting_stage vpr --route_chan_width 300 --max_router_iterations 400 --router_lookahead map --place_bounding_box_mode cube_bb

0 commit comments

Comments
 (0)