[firechip] Update regfile optimization mixins
This commit is contained in:
@@ -105,10 +105,10 @@ trait ExcludeInvalidBoomAssertions extends LazyModuleImp {
|
|||||||
ExcludeInstanceAsserts(("NonBlockingDCache", "dtlb"))
|
ExcludeInstanceAsserts(("NonBlockingDCache", "dtlb"))
|
||||||
}
|
}
|
||||||
|
|
||||||
trait CanHaveBoomMultiCycleRegfileImp {
|
trait CanHaveMultiCycleRegfileImp {
|
||||||
val outer: boom.system.BoomRocketSubsystem
|
val outer: utilities.HasBoomAndRocketTiles
|
||||||
val cores = outer.boomTiles.map(tile => tile.module.core)
|
val boomCores = outer.boomTiles.map(tile => tile.module.core)
|
||||||
cores.foreach({ core =>
|
boomCores.foreach({ core =>
|
||||||
core.iregfile match {
|
core.iregfile match {
|
||||||
case irf: boom.exu.RegisterFileSynthesizable => annotate(MemModelAnnotation(irf.regfile))
|
case irf: boom.exu.RegisterFileSynthesizable => annotate(MemModelAnnotation(irf.regfile))
|
||||||
case _ => Nil
|
case _ => Nil
|
||||||
@@ -118,11 +118,8 @@ trait CanHaveBoomMultiCycleRegfileImp {
|
|||||||
case irf: boom.exu.RegisterFileSynthesizable => annotate(MemModelAnnotation(irf.regfile))
|
case irf: boom.exu.RegisterFileSynthesizable => annotate(MemModelAnnotation(irf.regfile))
|
||||||
case _ => Nil
|
case _ => Nil
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
|
||||||
})
|
|
||||||
}
|
|
||||||
trait CanHaveRocketMultiCycleRegfileImp {
|
|
||||||
val outer: RocketSubsystem
|
|
||||||
outer.rocketTiles.foreach({ tile =>
|
outer.rocketTiles.foreach({ tile =>
|
||||||
annotate(MemModelAnnotation(tile.module.core.rocketImpl.rf.rf))
|
annotate(MemModelAnnotation(tile.module.core.rocketImpl.rf.rf))
|
||||||
tile.module.fpuOpt.foreach(fpu => annotate(MemModelAnnotation(fpu.fpuImpl.regfile)))
|
tile.module.fpuOpt.foreach(fpu => annotate(MemModelAnnotation(fpu.fpuImpl.regfile)))
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ import java.io.File
|
|||||||
* determine which driver to build.
|
* determine which driver to build.
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
class FireSim(implicit p: Parameters) extends RocketSubsystem
|
class FireSim(implicit p: Parameters) extends Subsystem
|
||||||
with HasHierarchicalBusTopology
|
with HasHierarchicalBusTopology
|
||||||
with CanHaveFASEDOptimizedMasterAXI4MemPort
|
with CanHaveFASEDOptimizedMasterAXI4MemPort
|
||||||
with HasPeripheryBootROM
|
with HasPeripheryBootROM
|
||||||
@@ -45,7 +45,7 @@ class FireSim(implicit p: Parameters) extends RocketSubsystem
|
|||||||
override lazy val module = new FireSimModuleImp(this)
|
override lazy val module = new FireSimModuleImp(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
class FireSimModuleImp[+L <: FireSim](l: L) extends RocketSubsystemModuleImp(l)
|
class FireSimModuleImp[+L <: FireSim](l: L) extends SubsystemModuleImp(l)
|
||||||
with HasRTCModuleImp
|
with HasRTCModuleImp
|
||||||
with CanHaveFASEDOptimizedMasterAXI4MemPortModuleImp
|
with CanHaveFASEDOptimizedMasterAXI4MemPortModuleImp
|
||||||
with HasPeripheryBootROMModuleImp
|
with HasPeripheryBootROMModuleImp
|
||||||
@@ -55,10 +55,10 @@ class FireSimModuleImp[+L <: FireSim](l: L) extends RocketSubsystemModuleImp(l)
|
|||||||
with HasPeripheryIceNICModuleImpValidOnly
|
with HasPeripheryIceNICModuleImpValidOnly
|
||||||
with HasPeripheryBlockDeviceModuleImp
|
with HasPeripheryBlockDeviceModuleImp
|
||||||
with HasTraceIOImp
|
with HasTraceIOImp
|
||||||
with CanHaveRocketMultiCycleRegfileImp
|
with CanHaveMultiCycleRegfileImp
|
||||||
|
|
||||||
|
|
||||||
class FireSimNoNIC(implicit p: Parameters) extends RocketSubsystem
|
class FireSimNoNIC(implicit p: Parameters) extends Subsystem
|
||||||
with HasHierarchicalBusTopology
|
with HasHierarchicalBusTopology
|
||||||
with CanHaveFASEDOptimizedMasterAXI4MemPort
|
with CanHaveFASEDOptimizedMasterAXI4MemPort
|
||||||
with HasPeripheryBootROM
|
with HasPeripheryBootROM
|
||||||
@@ -71,7 +71,7 @@ class FireSimNoNIC(implicit p: Parameters) extends RocketSubsystem
|
|||||||
override lazy val module = new FireSimNoNICModuleImp(this)
|
override lazy val module = new FireSimNoNICModuleImp(this)
|
||||||
}
|
}
|
||||||
|
|
||||||
class FireSimNoNICModuleImp[+L <: FireSimNoNIC](l: L) extends RocketSubsystemModuleImp(l)
|
class FireSimNoNICModuleImp[+L <: FireSimNoNIC](l: L) extends SubsystemModuleImp(l)
|
||||||
with HasRTCModuleImp
|
with HasRTCModuleImp
|
||||||
with CanHaveFASEDOptimizedMasterAXI4MemPortModuleImp
|
with CanHaveFASEDOptimizedMasterAXI4MemPortModuleImp
|
||||||
with HasPeripheryBootROMModuleImp
|
with HasPeripheryBootROMModuleImp
|
||||||
@@ -80,7 +80,7 @@ class FireSimNoNICModuleImp[+L <: FireSimNoNIC](l: L) extends RocketSubsystemMod
|
|||||||
with HasPeripheryUARTModuleImp
|
with HasPeripheryUARTModuleImp
|
||||||
with HasPeripheryBlockDeviceModuleImp
|
with HasPeripheryBlockDeviceModuleImp
|
||||||
with HasTraceIOImp
|
with HasTraceIOImp
|
||||||
with CanHaveRocketMultiCycleRegfileImp
|
with CanHaveMultiCycleRegfileImp
|
||||||
|
|
||||||
|
|
||||||
class FireBoom(implicit p: Parameters) extends Subsystem
|
class FireBoom(implicit p: Parameters) extends Subsystem
|
||||||
@@ -108,7 +108,7 @@ class FireBoomModuleImp[+L <: FireBoom](l: L) extends SubsystemModuleImp(l)
|
|||||||
with HasPeripheryBlockDeviceModuleImp
|
with HasPeripheryBlockDeviceModuleImp
|
||||||
with HasTraceIOImp
|
with HasTraceIOImp
|
||||||
with ExcludeInvalidBoomAssertions
|
with ExcludeInvalidBoomAssertions
|
||||||
with CanHaveBoomMultiCycleRegfileImp
|
with CanHaveMultiCycleRegfileImp
|
||||||
|
|
||||||
class FireBoomNoNIC(implicit p: Parameters) extends Subsystem
|
class FireBoomNoNIC(implicit p: Parameters) extends Subsystem
|
||||||
with HasHierarchicalBusTopology
|
with HasHierarchicalBusTopology
|
||||||
@@ -133,7 +133,7 @@ class FireBoomNoNICModuleImp[+L <: FireBoomNoNIC](l: L) extends SubsystemModuleI
|
|||||||
with HasPeripheryBlockDeviceModuleImp
|
with HasPeripheryBlockDeviceModuleImp
|
||||||
with HasTraceIOImp
|
with HasTraceIOImp
|
||||||
with ExcludeInvalidBoomAssertions
|
with ExcludeInvalidBoomAssertions
|
||||||
with CanHaveBoomMultiCycleRegfileImp
|
with CanHaveMultiCycleRegfileImp
|
||||||
|
|
||||||
case object NumNodes extends Field[Int]
|
case object NumNodes extends Field[Int]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user