make shared memory use external spad
This commit is contained in:
@@ -321,18 +321,18 @@ class VortexTile private (
|
|||||||
//
|
//
|
||||||
// Instantiate the same number of banks as there are lanes.
|
// Instantiate the same number of banks as there are lanes.
|
||||||
// TODO: parametrize
|
// TODO: parametrize
|
||||||
val smemBanks = Seq.tabulate(numLsuLanes) { bankId =>
|
// val smemBanks = Seq.tabulate(numLsuLanes) { bankId =>
|
||||||
// Banked-by-word (4 bytes)
|
// // Banked-by-word (4 bytes)
|
||||||
// base for bank 1: ff...000000|01|00
|
// // base for bank 1: ff...000000|01|00
|
||||||
// mask for bank 1; 00...111111|00|11
|
// // mask for bank 1; 00...111111|00|11
|
||||||
val base = 0xff000000L | (bankId * 4 /*wordSize*/ )
|
// val base = 0xff000000L | (bankId * 4 /*wordSize*/ )
|
||||||
val mask = 0x00001fffL ^ ((numLsuLanes - 1) * 4 /*wordSize*/ )
|
// val mask = 0x00001fffL ^ ((numLsuLanes - 1) * 4 /*wordSize*/ )
|
||||||
LazyModule(new TLRAM(AddressSet(base, mask), beatBytes = 4 /*wordSize*/ ))
|
// LazyModule(new TLRAM(AddressSet(base, mask), beatBytes = 4 /*wordSize*/ ))
|
||||||
}
|
// }
|
||||||
// smem lanes-to-banks crossbar
|
// smem lanes-to-banks crossbar
|
||||||
val smemXbar = LazyModule(new TLXbar)
|
val smemXbar = LazyModule(new TLXbar)
|
||||||
smemNodes.foreach(smemXbar.node := _)
|
smemNodes.foreach(smemXbar.node := _)
|
||||||
smemBanks.foreach(_.node := smemXbar.node)
|
// smemBanks.foreach(_.node := smemXbar.node)
|
||||||
|
|
||||||
if (vortexParams.useVxCache) {
|
if (vortexParams.useVxCache) {
|
||||||
tlMasterXbar.node := TLWidthWidget(16) := memNode
|
tlMasterXbar.node := TLWidthWidget(16) := memNode
|
||||||
@@ -350,6 +350,7 @@ class VortexTile private (
|
|||||||
tlOtherMastersNode :=* gemmini.tlNode
|
tlOtherMastersNode :=* gemmini.tlNode
|
||||||
|
|
||||||
gemmini.stlNode :=* TLWidthWidget(4) :=* smemXbar.node
|
gemmini.stlNode :=* TLWidthWidget(4) :=* smemXbar.node
|
||||||
|
gemmini.unified_mem_node :=* TLWidthWidget(4) :=* smemXbar.node
|
||||||
|
|
||||||
/* below are copied from rocket */
|
/* below are copied from rocket */
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user