Controller Diagram for MatMult (Options: SyncMem, Retimed)

x107: Sequenced (OuterControl)
HelloSpatial.scala:111:11 - Accel {

x3095: Sequenced (OuterControl)
HelloSpatial.scala:112:23 - Foreach(P by bp){k =>
Counter: x339

x3094: Pipelined (OuterControl)
HelloSpatial.scala:115:58 - 'MAINPIPE.Foreach(M by bm par pM, N by bn par pN){(i,j) =>
Counter: x354

x675: ForkJoin (OuterControl)
HelloSpatial.scala:118:20 - Parallel {
NBuf Connections

x369 (BankedSRAM "tileB_0")

x368 (BankedSRAM "tileB_0")

x370 (BankedSRAM "tileB_0")

x367 (BankedSRAM "tileB_0")

x364 (BankedSRAM "tileA_0")

x363 (BankedSRAM "tileA_0")

x366 (BankedSRAM "tileA_0")

x365 (BankedSRAM "tileA_0")

x446: ForkJoin (OuterControl)
HelloSpatial.scala:118:20 - Parallel {

x407: Streaming (OuterControl)
HelloSpatial.scala:119:19 - tileA load A(i::i+bm, k::k+bp)
Counter: x372

x388: Sequenced (InnerControl)
HelloSpatial.scala:119:19 - tileA load A(i::i+bm, k::k+bp)

Latency=15, II=1

Stream Info

Set(x375)----->

x406: Pipelined (InnerControl)
HelloSpatial.scala:119:19 - tileA load A(i::i+bm, k::k+bp)

Latency=7, II=1


Counter: x391
Stream Info

----->Set(x376)

x445: Streaming (OuterControl)
HelloSpatial.scala:120:19 - tileB load B(k::k+bp, j::j+bn)
Counter: x409

x425: Sequenced (InnerControl)
HelloSpatial.scala:120:19 - tileB load B(k::k+bp, j::j+bn)

Latency=15, II=1

Stream Info

Set(x412)----->

x444: Pipelined (InnerControl)
HelloSpatial.scala:120:19 - tileB load B(k::k+bp, j::j+bn)

Latency=7, II=1


Counter: x428
Stream Info

----->Set(x413)

x522: ForkJoin (OuterControl)
HelloSpatial.scala:118:20 - Parallel {

x483: Streaming (OuterControl)
HelloSpatial.scala:119:19 - tileA load A(i::i+bm, k::k+bp)
Counter: x448

x464: Sequenced (InnerControl)
HelloSpatial.scala:119:19 - tileA load A(i::i+bm, k::k+bp)

Latency=15, II=1

Stream Info

Set(x451)----->

x482: Pipelined (InnerControl)
HelloSpatial.scala:119:19 - tileA load A(i::i+bm, k::k+bp)

Latency=7, II=1


Counter: x467
Stream Info

----->Set(x452)

x521: Streaming (OuterControl)
HelloSpatial.scala:120:19 - tileB load B(k::k+bp, j::j+bn)
Counter: x485

x501: Sequenced (InnerControl)
HelloSpatial.scala:120:19 - tileB load B(k::k+bp, j::j+bn)

Latency=15, II=1

Stream Info

Set(x488)----->

x520: Pipelined (InnerControl)
HelloSpatial.scala:120:19 - tileB load B(k::k+bp, j::j+bn)

Latency=7, II=1


Counter: x504
Stream Info

----->Set(x489)

x598: ForkJoin (OuterControl)
HelloSpatial.scala:118:20 - Parallel {

x559: Streaming (OuterControl)
HelloSpatial.scala:119:19 - tileA load A(i::i+bm, k::k+bp)
Counter: x524

x540: Sequenced (InnerControl)
HelloSpatial.scala:119:19 - tileA load A(i::i+bm, k::k+bp)

Latency=15, II=1

Stream Info

Set(x527)----->

x558: Pipelined (InnerControl)
HelloSpatial.scala:119:19 - tileA load A(i::i+bm, k::k+bp)

Latency=7, II=1


Counter: x543
Stream Info

----->Set(x528)

x597: Streaming (OuterControl)
HelloSpatial.scala:120:19 - tileB load B(k::k+bp, j::j+bn)
Counter: x561

x577: Sequenced (InnerControl)
HelloSpatial.scala:120:19 - tileB load B(k::k+bp, j::j+bn)

Latency=15, II=1

Stream Info

Set(x564)----->

x596: Pipelined (InnerControl)
HelloSpatial.scala:120:19 - tileB load B(k::k+bp, j::j+bn)

Latency=7, II=1


Counter: x580
Stream Info

----->Set(x565)

x674: ForkJoin (OuterControl)
HelloSpatial.scala:118:20 - Parallel {

x635: Streaming (OuterControl)
HelloSpatial.scala:119:19 - tileA load A(i::i+bm, k::k+bp)
Counter: x600

x616: Sequenced (InnerControl)
HelloSpatial.scala:119:19 - tileA load A(i::i+bm, k::k+bp)

Latency=15, II=1

Stream Info

Set(x603)----->

x634: Pipelined (InnerControl)
HelloSpatial.scala:119:19 - tileA load A(i::i+bm, k::k+bp)

Latency=7, II=1


Counter: x619
Stream Info

----->Set(x604)

x673: Streaming (OuterControl)
HelloSpatial.scala:120:19 - tileB load B(k::k+bp, j::j+bn)
Counter: x637

x653: Sequenced (InnerControl)
HelloSpatial.scala:120:19 - tileB load B(k::k+bp, j::j+bn)

Latency=15, II=1

Stream Info

Set(x640)----->

x672: Pipelined (InnerControl)
HelloSpatial.scala:120:19 - tileB load B(k::k+bp, j::j+bn)

Latency=7, II=1


Counter: x656
Stream Info

----->Set(x641)

x2924: ForkJoin (OuterControl)
HelloSpatial.scala:122:50 - Foreach(bm by 1 par pm, bn by 1 par pn){ (ii,jj) =>
NBuf Connections

x369 (BankedSRAM "tileB_0")

x368 (BankedSRAM "tileB_0")

x370 (BankedSRAM "tileB_0")

x367 (BankedSRAM "tileB_0")

x364 (BankedSRAM "tileA_0")

x346 (BankedSRAM "tileC_4")

x363 (BankedSRAM "tileA_0")

x342 (BankedSRAM "tileC_0")

x343 (BankedSRAM "tileC_1")

x349 (BankedSRAM "tileC_7")

x366 (BankedSRAM "tileA_0")

x365 (BankedSRAM "tileA_0")

x1246: Pipelined (OuterControl)
HelloSpatial.scala:122:50 - Foreach(bm by 1 par pm, bn by 1 par pn){ (ii,jj) =>
Counter: x684

x1148: ForkJoin (OuterControl)
HelloSpatial.scala:123:92 - val prod = Reduce(Reg[T])(bp by 1 par ip){kk => tileA(ii, kk) * tileB(kk, jj) }{_+_}
NBuf Connections

x702 (FF "prod_0")

x700 (FF "prod_0")

x698 (FF "prod_0")

x696 (FF "prod_0")

x820: Pipelined (InnerControl)
HelloSpatial.scala:123:92 - val prod = Reduce(Reg[T])(bp by 1 par ip){kk => tileA(ii, kk) * tileB(kk, jj) }{_+_}

Latency=29, II=1


Counter: x708
x929: Pipelined (InnerControl)
HelloSpatial.scala:123:92 - val prod = Reduce(Reg[T])(bp by 1 par ip){kk => tileA(ii, kk) * tileB(kk, jj) }{_+_}

Latency=29, II=1


Counter: x709
x1038: Pipelined (InnerControl)
HelloSpatial.scala:123:92 - val prod = Reduce(Reg[T])(bp by 1 par ip){kk => tileA(ii, kk) * tileB(kk, jj) }{_+_}

Latency=29, II=1


Counter: x710
x1147: Pipelined (InnerControl)
HelloSpatial.scala:123:92 - val prod = Reduce(Reg[T])(bp by 1 par ip){kk => tileA(ii, kk) * tileB(kk, jj) }{_+_}

Latency=29, II=1


Counter: x711
x1245: ForkJoin (OuterControl)
?:0:0 -
NBuf Connections

x702 (FF "prod_0")

x700 (FF "prod_0")

x698 (FF "prod_0")

x696 (FF "prod_0")

x1172: Sequenced (InnerControl)
?:0:0 -

Latency=10, II=4

x1196: Sequenced (InnerControl)
?:0:0 -

Latency=10, II=4

x1220: Sequenced (InnerControl)
?:0:0 -

Latency=10, II=4

x1244: Sequenced (InnerControl)
?:0:0 -

Latency=10, II=4

x1805: Pipelined (OuterControl)
HelloSpatial.scala:122:50 - Foreach(bm by 1 par pm, bn by 1 par pn){ (ii,jj) =>
Counter: x685

x1707: ForkJoin (OuterControl)
HelloSpatial.scala:123:92 - val prod = Reduce(Reg[T])(bp by 1 par ip){kk => tileA(ii, kk) * tileB(kk, jj) }{_+_}
NBuf Connections

x1261 (FF "prod_0")

x1259 (FF "prod_0")

x1257 (FF "prod_0")

x1255 (FF "prod_0")

x1379: Pipelined (InnerControl)
HelloSpatial.scala:123:92 - val prod = Reduce(Reg[T])(bp by 1 par ip){kk => tileA(ii, kk) * tileB(kk, jj) }{_+_}

Latency=29, II=1


Counter: x1267
x1488: Pipelined (InnerControl)
HelloSpatial.scala:123:92 - val prod = Reduce(Reg[T])(bp by 1 par ip){kk => tileA(ii, kk) * tileB(kk, jj) }{_+_}

Latency=29, II=1


Counter: x1268
x1597: Pipelined (InnerControl)
HelloSpatial.scala:123:92 - val prod = Reduce(Reg[T])(bp by 1 par ip){kk => tileA(ii, kk) * tileB(kk, jj) }{_+_}

Latency=29, II=1


Counter: x1269
x1706: Pipelined (InnerControl)
HelloSpatial.scala:123:92 - val prod = Reduce(Reg[T])(bp by 1 par ip){kk => tileA(ii, kk) * tileB(kk, jj) }{_+_}

Latency=29, II=1


Counter: x1270
x1804: ForkJoin (OuterControl)
?:0:0 -
NBuf Connections

x1261 (FF "prod_0")

x1259 (FF "prod_0")

x1257 (FF "prod_0")

x1255 (FF "prod_0")

x1731: Sequenced (InnerControl)
?:0:0 -

Latency=10, II=4

x1755: Sequenced (InnerControl)
?:0:0 -

Latency=10, II=4

x1779: Sequenced (InnerControl)
?:0:0 -

Latency=10, II=4

x1803: Sequenced (InnerControl)
?:0:0 -

Latency=10, II=4

x2364: Pipelined (OuterControl)
HelloSpatial.scala:122:50 - Foreach(bm by 1 par pm, bn by 1 par pn){ (ii,jj) =>
Counter: x686

x2266: ForkJoin (OuterControl)
HelloSpatial.scala:123:92 - val prod = Reduce(Reg[T])(bp by 1 par ip){kk => tileA(ii, kk) * tileB(kk, jj) }{_+_}
NBuf Connections

x1820 (FF "prod_0")

x1818 (FF "prod_0")

x1816 (FF "prod_0")

x1814 (FF "prod_0")

x1938: Pipelined (InnerControl)
HelloSpatial.scala:123:92 - val prod = Reduce(Reg[T])(bp by 1 par ip){kk => tileA(ii, kk) * tileB(kk, jj) }{_+_}

Latency=29, II=1


Counter: x1826
x2047: Pipelined (InnerControl)
HelloSpatial.scala:123:92 - val prod = Reduce(Reg[T])(bp by 1 par ip){kk => tileA(ii, kk) * tileB(kk, jj) }{_+_}

Latency=29, II=1


Counter: x1827
x2156: Pipelined (InnerControl)
HelloSpatial.scala:123:92 - val prod = Reduce(Reg[T])(bp by 1 par ip){kk => tileA(ii, kk) * tileB(kk, jj) }{_+_}

Latency=29, II=1


Counter: x1828
x2265: Pipelined (InnerControl)
HelloSpatial.scala:123:92 - val prod = Reduce(Reg[T])(bp by 1 par ip){kk => tileA(ii, kk) * tileB(kk, jj) }{_+_}

Latency=29, II=1


Counter: x1829
x2363: ForkJoin (OuterControl)
?:0:0 -
NBuf Connections

x1820 (FF "prod_0")

x1818 (FF "prod_0")

x1816 (FF "prod_0")

x1814 (FF "prod_0")

x2290: Sequenced (InnerControl)
?:0:0 -

Latency=10, II=4

x2314: Sequenced (InnerControl)
?:0:0 -

Latency=10, II=4

x2338: Sequenced (InnerControl)
?:0:0 -

Latency=10, II=4

x2362: Sequenced (InnerControl)
?:0:0 -

Latency=10, II=4

x2923: Pipelined (OuterControl)
HelloSpatial.scala:122:50 - Foreach(bm by 1 par pm, bn by 1 par pn){ (ii,jj) =>
Counter: x687

x2825: ForkJoin (OuterControl)
HelloSpatial.scala:123:92 - val prod = Reduce(Reg[T])(bp by 1 par ip){kk => tileA(ii, kk) * tileB(kk, jj) }{_+_}
NBuf Connections

x2379 (FF "prod_0")

x2377 (FF "prod_0")

x2375 (FF "prod_0")

x2373 (FF "prod_0")

x2497: Pipelined (InnerControl)
HelloSpatial.scala:123:92 - val prod = Reduce(Reg[T])(bp by 1 par ip){kk => tileA(ii, kk) * tileB(kk, jj) }{_+_}

Latency=29, II=1


Counter: x2385
x2606: Pipelined (InnerControl)
HelloSpatial.scala:123:92 - val prod = Reduce(Reg[T])(bp by 1 par ip){kk => tileA(ii, kk) * tileB(kk, jj) }{_+_}

Latency=29, II=1


Counter: x2386
x2715: Pipelined (InnerControl)
HelloSpatial.scala:123:92 - val prod = Reduce(Reg[T])(bp by 1 par ip){kk => tileA(ii, kk) * tileB(kk, jj) }{_+_}

Latency=29, II=1


Counter: x2387
x2824: Pipelined (InnerControl)
HelloSpatial.scala:123:92 - val prod = Reduce(Reg[T])(bp by 1 par ip){kk => tileA(ii, kk) * tileB(kk, jj) }{_+_}

Latency=29, II=1


Counter: x2388
x2922: ForkJoin (OuterControl)
?:0:0 -
NBuf Connections

x2379 (FF "prod_0")

x2377 (FF "prod_0")

x2375 (FF "prod_0")

x2373 (FF "prod_0")

x2849: Sequenced (InnerControl)
?:0:0 -

Latency=10, II=4

x2873: Sequenced (InnerControl)
?:0:0 -

Latency=10, II=4

x2897: Sequenced (InnerControl)
?:0:0 -

Latency=10, II=4

x2921: Sequenced (InnerControl)
?:0:0 -

Latency=10, II=4

x3093: ForkJoin (OuterControl)
HelloSpatial.scala:127:31 - C(i::i+bm, j::j+bn) store tileC
NBuf Connections

x349 (BankedSRAM "tileC_7")

x346 (BankedSRAM "tileC_4")

x343 (BankedSRAM "tileC_1")

x342 (BankedSRAM "tileC_0")

x2972: Streaming (OuterControl)
HelloSpatial.scala:127:31 - C(i::i+bm, j::j+bn) store tileC
Counter: x2929

x2949: Sequenced (InnerControl)
HelloSpatial.scala:127:31 - C(i::i+bm, j::j+bn) store tileC

Latency=15, II=1

Stream Info

Set(x2935)----->

x2967: Pipelined (InnerControl)
HelloSpatial.scala:127:31 - C(i::i+bm, j::j+bn) store tileC

Latency=8, II=1


Counter: x2951
Stream Info

Set(x2936)----->

x2971: Sequenced (InnerControl)
HelloSpatial.scala:127:31 - C(i::i+bm, j::j+bn) store tileC

Latency=1, II=1

Stream Info

----->Set(x2937)

x3012: Streaming (OuterControl)
HelloSpatial.scala:127:31 - C(i::i+bm, j::j+bn) store tileC
Counter: x2930

x2989: Sequenced (InnerControl)
HelloSpatial.scala:127:31 - C(i::i+bm, j::j+bn) store tileC

Latency=15, II=1

Stream Info

Set(x2975)----->

x3007: Pipelined (InnerControl)
HelloSpatial.scala:127:31 - C(i::i+bm, j::j+bn) store tileC

Latency=8, II=1


Counter: x2991
Stream Info

Set(x2976)----->

x3011: Sequenced (InnerControl)
HelloSpatial.scala:127:31 - C(i::i+bm, j::j+bn) store tileC

Latency=1, II=1

Stream Info

----->Set(x2977)

x3052: Streaming (OuterControl)
HelloSpatial.scala:127:31 - C(i::i+bm, j::j+bn) store tileC
Counter: x2931

x3029: Sequenced (InnerControl)
HelloSpatial.scala:127:31 - C(i::i+bm, j::j+bn) store tileC

Latency=15, II=1

Stream Info

Set(x3015)----->

x3047: Pipelined (InnerControl)
HelloSpatial.scala:127:31 - C(i::i+bm, j::j+bn) store tileC

Latency=8, II=1


Counter: x3031
Stream Info

Set(x3016)----->

x3051: Sequenced (InnerControl)
HelloSpatial.scala:127:31 - C(i::i+bm, j::j+bn) store tileC

Latency=1, II=1

Stream Info

----->Set(x3017)

x3092: Streaming (OuterControl)
HelloSpatial.scala:127:31 - C(i::i+bm, j::j+bn) store tileC
Counter: x2932

x3069: Sequenced (InnerControl)
HelloSpatial.scala:127:31 - C(i::i+bm, j::j+bn) store tileC

Latency=15, II=1

Stream Info

Set(x3055)----->

x3087: Pipelined (InnerControl)
HelloSpatial.scala:127:31 - C(i::i+bm, j::j+bn) store tileC

Latency=8, II=1


Counter: x3071
Stream Info

Set(x3056)----->

x3091: Sequenced (InnerControl)
HelloSpatial.scala:127:31 - C(i::i+bm, j::j+bn) store tileC

Latency=1, II=1

Stream Info

----->Set(x3057)

NBuf Mems

x369 (BankedSRAM "tileB_0")
lca = x3094
nBufs = 2
volume = 4096 (dims List(64, 64) + pads List(0, 0))
nBufs*volume = 8192
nBanks = List(8), a = List(1, 4), p = List(4, 2)
has XBarR, has XBarW

x368 (BankedSRAM "tileB_0")
lca = x3094
nBufs = 2
volume = 4096 (dims List(64, 64) + pads List(0, 0))
nBufs*volume = 8192
nBanks = List(8), a = List(1, 4), p = List(4, 2)
has XBarR, has XBarW

x370 (BankedSRAM "tileB_0")
lca = x3094
nBufs = 2
volume = 4096 (dims List(64, 64) + pads List(0, 0))
nBufs*volume = 8192
nBanks = List(8), a = List(1, 4), p = List(4, 2)
has XBarR, has XBarW

x367 (BankedSRAM "tileB_0")
lca = x3094
nBufs = 2
volume = 4096 (dims List(64, 64) + pads List(0, 0))
nBufs*volume = 8192
nBanks = List(8), a = List(1, 4), p = List(4, 2)
has XBarR, has XBarW

x364 (BankedSRAM "tileA_0")
lca = x3094
nBufs = 2
volume = 1024 (dims List(16, 64) + pads List(0, 0))
nBufs*volume = 2048
nBanks = List(2, 4), a = List(1, 1), p = List(2, 4)
has XBarR, has XBarW

x346 (BankedSRAM "tileC_4")
lca = x3094
nBufs = 2
volume = 1024 (dims List(16, 64) + pads List(0, 0))
nBufs*volume = 2048
nBanks = List(2, 2), a = List(1, 1), p = List(2, 2)
has XBarR, has XBarW

x363 (BankedSRAM "tileA_0")
lca = x3094
nBufs = 2
volume = 1024 (dims List(16, 64) + pads List(0, 0))
nBufs*volume = 2048
nBanks = List(2, 4), a = List(1, 1), p = List(2, 4)
has XBarR, has XBarW

x342 (BankedSRAM "tileC_0")
lca = x3094
nBufs = 2
volume = 1024 (dims List(16, 64) + pads List(0, 0))
nBufs*volume = 2048
nBanks = List(2, 2), a = List(1, 1), p = List(2, 2)
has XBarR, has XBarW

x343 (BankedSRAM "tileC_1")
lca = x3094
nBufs = 2
volume = 1024 (dims List(16, 64) + pads List(0, 0))
nBufs*volume = 2048
nBanks = List(2, 2), a = List(1, 1), p = List(2, 2)
has XBarR, has XBarW

x349 (BankedSRAM "tileC_7")
lca = x3094
nBufs = 2
volume = 1024 (dims List(16, 64) + pads List(0, 0))
nBufs*volume = 2048
nBanks = List(2, 2), a = List(1, 1), p = List(2, 2)
has XBarR, has XBarW

x366 (BankedSRAM "tileA_0")
lca = x3094
nBufs = 2
volume = 1024 (dims List(16, 64) + pads List(0, 0))
nBufs*volume = 2048
nBanks = List(2, 4), a = List(1, 1), p = List(2, 4)
has XBarR, has XBarW

x365 (BankedSRAM "tileA_0")
lca = x3094
nBufs = 2
volume = 1024 (dims List(16, 64) + pads List(0, 0))
nBufs*volume = 2048
nBanks = List(2, 4), a = List(1, 1), p = List(2, 4)
has XBarR, has XBarW

x702 (FF "prod_0")
lca = x1246
nBufs = 2
volume = 1 (dims List() + pads List())
nBufs*volume = 2
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x700 (FF "prod_0")
lca = x1246
nBufs = 2
volume = 1 (dims List() + pads List())
nBufs*volume = 2
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x698 (FF "prod_0")
lca = x1246
nBufs = 2
volume = 1 (dims List() + pads List())
nBufs*volume = 2
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x696 (FF "prod_0")
lca = x1246
nBufs = 2
volume = 1 (dims List() + pads List())
nBufs*volume = 2
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x2379 (FF "prod_0")
lca = x2923
nBufs = 2
volume = 1 (dims List() + pads List())
nBufs*volume = 2
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x2377 (FF "prod_0")
lca = x2923
nBufs = 2
volume = 1 (dims List() + pads List())
nBufs*volume = 2
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x2375 (FF "prod_0")
lca = x2923
nBufs = 2
volume = 1 (dims List() + pads List())
nBufs*volume = 2
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x2373 (FF "prod_0")
lca = x2923
nBufs = 2
volume = 1 (dims List() + pads List())
nBufs*volume = 2
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x1820 (FF "prod_0")
lca = x2364
nBufs = 2
volume = 1 (dims List() + pads List())
nBufs*volume = 2
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x1818 (FF "prod_0")
lca = x2364
nBufs = 2
volume = 1 (dims List() + pads List())
nBufs*volume = 2
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x1816 (FF "prod_0")
lca = x2364
nBufs = 2
volume = 1 (dims List() + pads List())
nBufs*volume = 2
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x1814 (FF "prod_0")
lca = x2364
nBufs = 2
volume = 1 (dims List() + pads List())
nBufs*volume = 2
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x1261 (FF "prod_0")
lca = x1805
nBufs = 2
volume = 1 (dims List() + pads List())
nBufs*volume = 2
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x1259 (FF "prod_0")
lca = x1805
nBufs = 2
volume = 1 (dims List() + pads List())
nBufs*volume = 2
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x1257 (FF "prod_0")
lca = x1805
nBufs = 2
volume = 1 (dims List() + pads List())
nBufs*volume = 2
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x1255 (FF "prod_0")
lca = x1805
nBufs = 2
volume = 1 (dims List() + pads List())
nBufs*volume = 2
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

Single-Buffered Mems

x348 (BankedSRAM "tileC_6")
volume = 1024 (dims List(16, 64) + pads List(0, 0))
nBanks = List(2, 2), a = List(1, 1), p = List(2, 2)
has XBarR, has XBarW

x347 (BankedSRAM "tileC_5")
volume = 1024 (dims List(16, 64) + pads List(0, 0))
nBanks = List(2, 2), a = List(1, 1), p = List(2, 2)
has XBarR, has XBarW

x345 (BankedSRAM "tileC_3")
volume = 1024 (dims List(16, 64) + pads List(0, 0))
nBanks = List(2, 2), a = List(1, 1), p = List(2, 2)
has XBarR, has XBarW

x344 (BankedSRAM "tileC_2")
volume = 1024 (dims List(16, 64) + pads List(0, 0))
nBanks = List(2, 2), a = List(1, 1), p = List(2, 2)
has XBarR, has XBarW

x1815 (FF "prod_1")
volume = 1 (dims List() + pads List())
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x2374 (FF "prod_1")
volume = 1 (dims List() + pads List())
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x697 (FF "prod_1")
volume = 1 (dims List() + pads List())
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x1262 (FF "prod_1")
volume = 1 (dims List() + pads List())
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x703 (FF "prod_1")
volume = 1 (dims List() + pads List())
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x1821 (FF "prod_1")
volume = 1 (dims List() + pads List())
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x2380 (FF "prod_1")
volume = 1 (dims List() + pads List())
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x1819 (FF "prod_1")
volume = 1 (dims List() + pads List())
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x2378 (FF "prod_1")
volume = 1 (dims List() + pads List())
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x1260 (FF "prod_1")
volume = 1 (dims List() + pads List())
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x701 (FF "prod_1")
volume = 1 (dims List() + pads List())
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x699 (FF "prod_1")
volume = 1 (dims List() + pads List())
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x1258 (FF "prod_1")
volume = 1 (dims List() + pads List())
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x1817 (FF "prod_1")
volume = 1 (dims List() + pads List())
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x2376 (FF "prod_1")
volume = 1 (dims List() + pads List())
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW

x1256 (FF "prod_1")
volume = 1 (dims List() + pads List())
nBanks = List(1), a = List(), p = List()
has XBarR, has XBarW