fix gemmini config specification and add buffer
This commit is contained in:
@@ -17,7 +17,7 @@ import freechips.rocketchip.prci.ClockSinkParameters
|
|||||||
import freechips.rocketchip.regmapper.RegField
|
import freechips.rocketchip.regmapper.RegField
|
||||||
import freechips.rocketchip.tile._
|
import freechips.rocketchip.tile._
|
||||||
import radiance.memory._
|
import radiance.memory._
|
||||||
import gemmini.{Gemmini, GemminiCustomConfigs}
|
import gemmini.{CapacityInKilobytes, Gemmini, GemminiCustomConfigs, GemminiFPConfigs}
|
||||||
import radiance.subsystem.{GPUMemParams, GPUMemory}
|
import radiance.subsystem.{GPUMemParams, GPUMemory}
|
||||||
|
|
||||||
case class RadianceTileParams(
|
case class RadianceTileParams(
|
||||||
@@ -349,7 +349,19 @@ class RadianceTile private (
|
|||||||
|
|
||||||
// ROCC
|
// ROCC
|
||||||
// TODO: parametrize
|
// TODO: parametrize
|
||||||
val gemmini = LazyModule(new Gemmini(GemminiCustomConfigs.unifiedMemConfig))
|
val gemmini = LazyModule(new Gemmini(GemminiFPConfigs.FP32DefaultConfig.copy(
|
||||||
|
has_training_convs = false,
|
||||||
|
has_max_pool = false,
|
||||||
|
use_tl_ext_mem = true,
|
||||||
|
tl_ext_mem_base = x"ff000000",
|
||||||
|
sp_singleported = false,
|
||||||
|
spad_read_delay = 8,
|
||||||
|
use_shared_ext_mem = true,
|
||||||
|
acc_sub_banks = 1,
|
||||||
|
has_normalizations = false,
|
||||||
|
sp_capacity = CapacityInKilobytes(16),
|
||||||
|
acc_capacity = CapacityInKilobytes(8),
|
||||||
|
)))
|
||||||
val roccs: Seq[LazyRoCC] = Seq(gemmini)
|
val roccs: Seq[LazyRoCC] = Seq(gemmini)
|
||||||
tlMasterXbar.node :=* AddressOrNode(base) :=* gemmini.atlNode
|
tlMasterXbar.node :=* AddressOrNode(base) :=* gemmini.atlNode
|
||||||
tlOtherMastersNode :=* AddressOrNode(base) :=* gemmini.tlNode
|
tlOtherMastersNode :=* AddressOrNode(base) :=* gemmini.tlNode
|
||||||
@@ -362,6 +374,7 @@ class RadianceTile private (
|
|||||||
// to consolidate by either coalescing, or changing gemmini spad to
|
// to consolidate by either coalescing, or changing gemmini spad to
|
||||||
// strided-by-word
|
// strided-by-word
|
||||||
gemmini.unified_mem_node :=* TLWidthWidget(4) :=* smemXbar.node
|
gemmini.unified_mem_node :=* TLWidthWidget(4) :=* smemXbar.node
|
||||||
|
TLRAM(AddressSet(x"ff004000", 0xfff)) := TLFragmenter(4, 4) := smemXbar.node
|
||||||
|
|
||||||
/* below are copied from rocket */
|
/* below are copied from rocket */
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user