replace DefaultBusConfiguration trait with HierarchicalBusTopology trait from FireSim
This commit is contained in:
@@ -14,30 +14,6 @@ import firesim.endpoints.{TraceOutputTop, DeclockedTracedInstruction}
|
|||||||
import midas.models.AXI4BundleWithEdge
|
import midas.models.AXI4BundleWithEdge
|
||||||
import midas.targetutils.ExcludeInstanceAsserts
|
import midas.targetutils.ExcludeInstanceAsserts
|
||||||
|
|
||||||
/** Ties together Subsystem buses in the same fashion done in the example top of Rocket Chip */
|
|
||||||
trait HasDefaultBusConfiguration {
|
|
||||||
this: BaseSubsystem =>
|
|
||||||
// The sbus masters the cbus; here we convert TL-UH -> TL-UL
|
|
||||||
sbus.crossToBus(cbus, NoCrossing)
|
|
||||||
|
|
||||||
// The cbus masters the pbus; which might be clocked slower
|
|
||||||
cbus.crossToBus(pbus, SynchronousCrossing())
|
|
||||||
|
|
||||||
// The fbus masters the sbus; both are TL-UH or TL-C
|
|
||||||
FlipRendering { implicit p =>
|
|
||||||
sbus.crossFromBus(fbus, SynchronousCrossing())
|
|
||||||
}
|
|
||||||
|
|
||||||
// The sbus masters the mbus; here we convert TL-C -> TL-UH
|
|
||||||
private val BankedL2Params(nBanks, coherenceManager) = p(BankedL2Key)
|
|
||||||
private val (in, out, halt) = coherenceManager(this)
|
|
||||||
if (nBanks != 0) {
|
|
||||||
sbus.coupleTo("coherence_manager") { in :*= _ }
|
|
||||||
mbus.coupleFrom("coherence_manager") { _ :=* BankBinder(mbus.blockBytes * (nBanks-1)) :*= out }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/** Copied from RC and modified to change the IO type of the Imp to include the Diplomatic edges
|
/** Copied from RC and modified to change the IO type of the Imp to include the Diplomatic edges
|
||||||
* associated with each port. This drives FASED functional model sizing
|
* associated with each port. This drives FASED functional model sizing
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ import java.io.File
|
|||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
class FireSim(implicit p: Parameters) extends RocketSubsystem
|
class FireSim(implicit p: Parameters) extends RocketSubsystem
|
||||||
with HasDefaultBusConfiguration
|
with HasHierarchicalBusTopology
|
||||||
with CanHaveFASEDOptimizedMasterAXI4MemPort
|
with CanHaveFASEDOptimizedMasterAXI4MemPort
|
||||||
with HasPeripheryBootROM
|
with HasPeripheryBootROM
|
||||||
with HasNoDebug
|
with HasNoDebug
|
||||||
@@ -57,7 +57,7 @@ class FireSimModuleImp[+L <: FireSim](l: L) extends RocketSubsystemModuleImp(l)
|
|||||||
|
|
||||||
|
|
||||||
class FireSimNoNIC(implicit p: Parameters) extends RocketSubsystem
|
class FireSimNoNIC(implicit p: Parameters) extends RocketSubsystem
|
||||||
with HasDefaultBusConfiguration
|
with HasHierarchicalBusTopology
|
||||||
with CanHaveFASEDOptimizedMasterAXI4MemPort
|
with CanHaveFASEDOptimizedMasterAXI4MemPort
|
||||||
with HasPeripheryBootROM
|
with HasPeripheryBootROM
|
||||||
with HasNoDebug
|
with HasNoDebug
|
||||||
@@ -81,7 +81,7 @@ class FireSimNoNICModuleImp[+L <: FireSimNoNIC](l: L) extends RocketSubsystemMod
|
|||||||
|
|
||||||
|
|
||||||
class FireBoom(implicit p: Parameters) extends BoomRocketSubsystem
|
class FireBoom(implicit p: Parameters) extends BoomRocketSubsystem
|
||||||
with HasDefaultBusConfiguration
|
with HasHierarchicalBusTopology
|
||||||
with CanHaveFASEDOptimizedMasterAXI4MemPort
|
with CanHaveFASEDOptimizedMasterAXI4MemPort
|
||||||
with HasPeripheryBootROM
|
with HasPeripheryBootROM
|
||||||
with HasNoDebug
|
with HasNoDebug
|
||||||
@@ -107,7 +107,7 @@ class FireBoomModuleImp[+L <: FireBoom](l: L) extends BoomRocketSubsystemModuleI
|
|||||||
with ExcludeInvalidBoomAssertions
|
with ExcludeInvalidBoomAssertions
|
||||||
|
|
||||||
class FireBoomNoNIC(implicit p: Parameters) extends BoomRocketSubsystem
|
class FireBoomNoNIC(implicit p: Parameters) extends BoomRocketSubsystem
|
||||||
with HasDefaultBusConfiguration
|
with HasHierarchicalBusTopology
|
||||||
with CanHaveFASEDOptimizedMasterAXI4MemPort
|
with CanHaveFASEDOptimizedMasterAXI4MemPort
|
||||||
with HasPeripheryBootROM
|
with HasPeripheryBootROM
|
||||||
with HasNoDebug
|
with HasNoDebug
|
||||||
|
|||||||
Reference in New Issue
Block a user