Skip to content

Commit a9402fc

Browse files
authored
Merge pull request #1573 from aman26kbm/vtr_benchmark_tpu
Adding a TPU-like design to the VTR benchmark suite
2 parents 1983615 + c115a00 commit a9402fc

File tree

4 files changed

+21221
-0
lines changed

4 files changed

+21221
-0
lines changed

ODIN_II/regression_test/benchmark/task/large/synthesis_result.json

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1161,6 +1161,77 @@
11611161
"Longest Path": 2,
11621162
"Average Path": 2
11631163
},
1164+
"large/tpu.16x16.int8/k6_frac_N10_frac_chain_mem32K_40nm": {
1165+
"test_name": "large/tpu.16x16.int8/k6_frac_N10_frac_chain_mem32K_40nm",
1166+
"architecture": "k6_frac_N10_frac_chain_mem32K_40nm.xml",
1167+
"verilog": "tpu.16x16.int8.v",
1168+
"warnings": [
1169+
"tpu.16x16.int8.v:2298:7 [AST] Odin does not handle signed REG (counter)"
1170+
],
1171+
"max_rss(MiB)": 241.4,
1172+
"exec_time(ms)": 2140.9,
1173+
"synthesis_time(ms)": 2135.1,
1174+
"Latch Drivers": 1,
1175+
"Pi": 354,
1176+
"Po": 289,
1177+
"logic element": 59049,
1178+
"latch": 22362,
1179+
"Adder": 4988,
1180+
"Multiplier": 288,
1181+
"Memory": 256,
1182+
"generic logic size": 4,
1183+
"Longest Path": 1596,
1184+
"Average Path": 4,
1185+
"Estimated LUTs": 70497,
1186+
"Total Node": 86944
1187+
},
1188+
"large/tpu.32x32.int8/k6_frac_N10_frac_chain_mem32K_40nm": {
1189+
"test_name": "large/tpu.32x32.int8/k6_frac_N10_frac_chain_mem32K_40nm",
1190+
"architecture": "k6_frac_N10_frac_chain_mem32K_40nm.xml",
1191+
"verilog": "tpu.32x32.int8.v",
1192+
"warnings": [
1193+
"tpu.32x32.int8.v:1569:18 [NETLIST] This module port final_mat_mul_size[0] is unused in module systolic_data_setup",
1194+
"tpu.32x32.int8.v:1569:18 [NETLIST] This module port final_mat_mul_size[1] is unused in module systolic_data_setup",
1195+
"tpu.32x32.int8.v:1569:18 [NETLIST] This module port final_mat_mul_size[2] is unused in module systolic_data_setup",
1196+
"tpu.32x32.int8.v:1569:18 [NETLIST] This module port final_mat_mul_size[3] is unused in module systolic_data_setup",
1197+
"tpu.32x32.int8.v:1569:18 [NETLIST] This module port final_mat_mul_size[4] is unused in module systolic_data_setup",
1198+
"tpu.32x32.int8.v:1569:18 [NETLIST] This module port final_mat_mul_size[5] is unused in module systolic_data_setup",
1199+
"tpu.32x32.int8.v:1569:18 [NETLIST] This module port final_mat_mul_size[6] is unused in module systolic_data_setup",
1200+
"tpu.32x32.int8.v:1569:18 [NETLIST] This module port final_mat_mul_size[7] is unused in module systolic_data_setup",
1201+
"tpu.32x32.int8.v:2881:18 [NETLIST] This module port final_mat_mul_size[0] is unused in module output_logic",
1202+
"tpu.32x32.int8.v:2881:18 [NETLIST] This module port final_mat_mul_size[1] is unused in module output_logic",
1203+
"tpu.32x32.int8.v:2881:18 [NETLIST] This module port final_mat_mul_size[2] is unused in module output_logic",
1204+
"tpu.32x32.int8.v:2881:18 [NETLIST] This module port final_mat_mul_size[3] is unused in module output_logic",
1205+
"tpu.32x32.int8.v:2881:18 [NETLIST] This module port final_mat_mul_size[4] is unused in module output_logic",
1206+
"tpu.32x32.int8.v:2881:18 [NETLIST] This module port final_mat_mul_size[5] is unused in module output_logic",
1207+
"tpu.32x32.int8.v:2881:18 [NETLIST] This module port final_mat_mul_size[6] is unused in module output_logic",
1208+
"tpu.32x32.int8.v:2881:18 [NETLIST] This module port final_mat_mul_size[7] is unused in module output_logic",
1209+
"tpu.32x32.int8.v:15361:1 [NETLIST] This module port (null)[0] is unused in module matmul_32x32_systolic",
1210+
"tpu.32x32.int8.v:15361:1 [NETLIST] This module port (null)[1] is unused in module matmul_32x32_systolic",
1211+
"tpu.32x32.int8.v:15361:1 [NETLIST] This module port (null)[2] is unused in module matmul_32x32_systolic",
1212+
"tpu.32x32.int8.v:15361:1 [NETLIST] This module port (null)[3] is unused in module matmul_32x32_systolic",
1213+
"tpu.32x32.int8.v:15361:1 [NETLIST] This module port (null)[4] is unused in module matmul_32x32_systolic",
1214+
"tpu.32x32.int8.v:15361:1 [NETLIST] This module port (null)[5] is unused in module matmul_32x32_systolic",
1215+
"tpu.32x32.int8.v:15361:1 [NETLIST] This module port (null)[6] is unused in module matmul_32x32_systolic",
1216+
"tpu.32x32.int8.v:15361:1 [NETLIST] This module port (null)[7] is unused in module matmul_32x32_systolic"
1217+
],
1218+
"max_rss(MiB)": 811.1,
1219+
"exec_time(ms)": 8389.9,
1220+
"synthesis_time(ms)": 8384.1,
1221+
"Latch Drivers": 1,
1222+
"Pi": 642,
1223+
"Po": 545,
1224+
"logic element": 190121,
1225+
"latch": 85146,
1226+
"Adder": 18297,
1227+
"Multiplier": 1088,
1228+
"Memory": 512,
1229+
"generic logic size": 4,
1230+
"Longest Path": 3164,
1231+
"Average Path": 4,
1232+
"Estimated LUTs": 209209,
1233+
"Total Node": 295165
1234+
},
11641235
"DEFAULT": {
11651236
"test_name": "n/a",
11661237
"architecture": "n/a",

doc/src/vtr/benchmarks.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ They are suitable for FPGA architecture research and medium-scale CAD research.
3939
stereovision1 Computer Vision
4040
stereovision2 Computer Vision
4141
stereovision3 Computer Vision
42+
tpu.32x32.int8 Deep Learning
43+
tpu.16x16.int8 Deep Learning
4244
================ =================
4345

4446
The VTR benchmarks are provided as Verilog under: ::

0 commit comments

Comments
 (0)