renamed classes to BoomRocket to clarify | clearer comments | readd the bmark timeout
This commit is contained in:
@@ -42,62 +42,62 @@ class WithGPIO extends Config((site, here, up) => {
|
||||
})
|
||||
|
||||
// -----------------------------------------------
|
||||
// BOOM + Rocket Top Level System Parameter Mixins
|
||||
// BOOM and/or Rocket Top Level System Parameter Mixins
|
||||
// -----------------------------------------------
|
||||
|
||||
/**
|
||||
* Class to specify a "plain" top level BOOM + Rocket system
|
||||
* Class to specify a "plain" top level BOOM and/or Rocket system
|
||||
*/
|
||||
class WithNormalBoomAndRocketTop extends Config((site, here, up) => {
|
||||
case BuildBoomAndRocketTop => (clock: Clock, reset: Bool, p: Parameters) => {
|
||||
Module(LazyModule(new BoomAndRocketTop()(p)).module)
|
||||
class WithNormalBoomRocketTop extends Config((site, here, up) => {
|
||||
case BuildBoomRocketTop => (clock: Clock, reset: Bool, p: Parameters) => {
|
||||
Module(LazyModule(new BoomRocketTop()(p)).module)
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* Class to specify a top level BOOM + Rocket system with PWM
|
||||
* Class to specify a top level BOOM and/or Rocket system with PWM
|
||||
*/
|
||||
class WithPWMBoomAndRocketTop extends Config((site, here, up) => {
|
||||
case BuildBoomAndRocketTop => (clock: Clock, reset: Bool, p: Parameters) =>
|
||||
Module(LazyModule(new BoomAndRocketTopWithPWMTL()(p)).module)
|
||||
class WithPWMBoomRocketTop extends Config((site, here, up) => {
|
||||
case BuildBoomRocketTop => (clock: Clock, reset: Bool, p: Parameters) =>
|
||||
Module(LazyModule(new BoomRocketTopWithPWMTL()(p)).module)
|
||||
})
|
||||
|
||||
/**
|
||||
* Class to specify a top level BOOM + Rocket system with a PWM AXI4
|
||||
* Class to specify a top level BOOM and/or Rocket system with a PWM AXI4
|
||||
*/
|
||||
class WithPWMAXI4BoomAndRocketTop extends Config((site, here, up) => {
|
||||
case BuildBoomAndRocketTop => (clock: Clock, reset: Bool, p: Parameters) =>
|
||||
Module(LazyModule(new BoomAndRocketTopWithPWMAXI4()(p)).module)
|
||||
class WithPWMAXI4BoomRocketTop extends Config((site, here, up) => {
|
||||
case BuildBoomRocketTop => (clock: Clock, reset: Bool, p: Parameters) =>
|
||||
Module(LazyModule(new BoomRocketTopWithPWMAXI4()(p)).module)
|
||||
})
|
||||
|
||||
/**
|
||||
* Class to specify a top level BOOM + Rocket system with a block device
|
||||
* Class to specify a top level BOOM and/or Rocket system with a block device
|
||||
*/
|
||||
class WithBlockDeviceModelBoomAndRocketTop extends Config((site, here, up) => {
|
||||
case BuildBoomAndRocketTop => (clock: Clock, reset: Bool, p: Parameters) => {
|
||||
val top = Module(LazyModule(new BoomAndRocketTopWithBlockDevice()(p)).module)
|
||||
class WithBlockDeviceModelBoomRocketTop extends Config((site, here, up) => {
|
||||
case BuildBoomRocketTop => (clock: Clock, reset: Bool, p: Parameters) => {
|
||||
val top = Module(LazyModule(new BoomRocketTopWithBlockDevice()(p)).module)
|
||||
top.connectBlockDeviceModel()
|
||||
top
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* Class to specify a top level BOOM + Rocket system with a simulator block device
|
||||
* Class to specify a top level BOOM and/or Rocket system with a simulator block device
|
||||
*/
|
||||
class WithSimBlockDeviceBoomAndRocketTop extends Config((site, here, up) => {
|
||||
case BuildBoomAndRocketTop => (clock: Clock, reset: Bool, p: Parameters) => {
|
||||
val top = Module(LazyModule(new BoomAndRocketTopWithBlockDevice()(p)).module)
|
||||
class WithSimBlockDeviceBoomRocketTop extends Config((site, here, up) => {
|
||||
case BuildBoomRocketTop => (clock: Clock, reset: Bool, p: Parameters) => {
|
||||
val top = Module(LazyModule(new BoomRocketTopWithBlockDevice()(p)).module)
|
||||
top.connectSimBlockDevice(clock, reset)
|
||||
top
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* Class to specify a top level BOOM + Rocket system with GPIO
|
||||
* Class to specify a top level BOOM and/or Rocket system with GPIO
|
||||
*/
|
||||
class WithGPIOBoomAndRocketTop extends Config((site, here, up) => {
|
||||
case BuildBoomAndRocketTop => (clock: Clock, reset: Bool, p: Parameters) => {
|
||||
val top = Module(LazyModule(new BoomAndRocketTopWithGPIO()(p)).module)
|
||||
class WithGPIOBoomRocketTop extends Config((site, here, up) => {
|
||||
case BuildBoomRocketTop => (clock: Clock, reset: Bool, p: Parameters) => {
|
||||
val top = Module(LazyModule(new BoomRocketTopWithGPIO()(p)).module)
|
||||
for (gpio <- top.gpio) {
|
||||
for (pin <- gpio.pins) {
|
||||
pin.i.ival := false.B
|
||||
|
||||
@@ -16,7 +16,7 @@ class BaseRocketConfig extends Config(
|
||||
new freechips.rocketchip.system.DefaultConfig)
|
||||
|
||||
class DefaultRocketConfig extends Config(
|
||||
new WithNormalBoomAndRocketTop ++
|
||||
new WithNormalBoomRocketTop ++
|
||||
new BaseRocketConfig)
|
||||
|
||||
class HwachaConfig extends Config(
|
||||
@@ -28,26 +28,26 @@ class RoccRocketConfig extends Config(
|
||||
new DefaultRocketConfig)
|
||||
|
||||
class PWMRocketConfig extends Config(
|
||||
new WithPWMBoomAndRocketTop ++
|
||||
new WithPWMBoomRocketTop ++
|
||||
new BaseRocketConfig)
|
||||
|
||||
class PWMAXI4RocketConfig extends Config(
|
||||
new WithPWMAXI4BoomAndRocketTop ++
|
||||
new WithPWMAXI4BoomRocketTop ++
|
||||
new BaseRocketConfig)
|
||||
|
||||
class SimBlockDeviceRocketConfig extends Config(
|
||||
new WithBlockDevice ++
|
||||
new WithSimBlockDeviceBoomAndRocketTop ++
|
||||
new WithSimBlockDeviceBoomRocketTop ++
|
||||
new BaseRocketConfig)
|
||||
|
||||
class BlockDeviceModelRocketConfig extends Config(
|
||||
new WithBlockDevice ++
|
||||
new WithBlockDeviceModelBoomAndRocketTop ++
|
||||
new WithBlockDeviceModelBoomRocketTop ++
|
||||
new BaseRocketConfig)
|
||||
|
||||
class GPIORocketConfig extends Config(
|
||||
new WithGPIO ++
|
||||
new WithGPIOBoomAndRocketTop ++
|
||||
new WithGPIOBoomRocketTop ++
|
||||
new BaseRocketConfig)
|
||||
|
||||
class DualCoreRocketConfig extends Config(
|
||||
@@ -75,11 +75,11 @@ class SmallBaseBoomConfig extends Config(
|
||||
new boom.system.SmallBoomConfig)
|
||||
|
||||
class DefaultBoomConfig extends Config(
|
||||
new WithNormalBoomAndRocketTop ++
|
||||
new WithNormalBoomRocketTop ++
|
||||
new BaseBoomConfig)
|
||||
|
||||
class SmallDefaultBoomConfig extends Config(
|
||||
new WithNormalBoomAndRocketTop ++
|
||||
new WithNormalBoomRocketTop ++
|
||||
new SmallBaseBoomConfig)
|
||||
|
||||
class HwachaBoomConfig extends Config(
|
||||
@@ -91,26 +91,26 @@ class RoccBoomConfig extends Config(
|
||||
new DefaultBoomConfig)
|
||||
|
||||
class PWMBoomConfig extends Config(
|
||||
new WithPWMBoomAndRocketTop ++
|
||||
new WithPWMBoomRocketTop ++
|
||||
new BaseBoomConfig)
|
||||
|
||||
class PWMAXI4BoomConfig extends Config(
|
||||
new WithPWMAXI4BoomAndRocketTop ++
|
||||
new WithPWMAXI4BoomRocketTop ++
|
||||
new BaseBoomConfig)
|
||||
|
||||
class SimBlockDeviceBoomConfig extends Config(
|
||||
new WithBlockDevice ++
|
||||
new WithSimBlockDeviceBoomAndRocketTop ++
|
||||
new WithSimBlockDeviceBoomRocketTop ++
|
||||
new BaseBoomConfig)
|
||||
|
||||
class BlockDeviceModelBoomConfig extends Config(
|
||||
new WithBlockDevice ++
|
||||
new WithBlockDeviceModelBoomAndRocketTop ++
|
||||
new WithBlockDeviceModelBoomRocketTop ++
|
||||
new BaseBoomConfig)
|
||||
|
||||
class GPIOBoomConfig extends Config(
|
||||
new WithGPIO ++
|
||||
new WithGPIOBoomAndRocketTop ++
|
||||
new WithGPIOBoomRocketTop ++
|
||||
new BaseBoomConfig)
|
||||
|
||||
/**
|
||||
@@ -118,7 +118,7 @@ class GPIOBoomConfig extends Config(
|
||||
* the `WithNBoomCores` with the DefaultBoomConfig params
|
||||
*/
|
||||
class DualCoreBoomConfig extends Config(
|
||||
new WithNormalBoomAndRocketTop ++
|
||||
new WithNormalBoomRocketTop ++
|
||||
new WithBootROM ++
|
||||
new boom.common.WithRVC ++
|
||||
new boom.common.DefaultBoomConfig ++
|
||||
@@ -127,7 +127,7 @@ class DualCoreBoomConfig extends Config(
|
||||
new freechips.rocketchip.system.BaseConfig)
|
||||
|
||||
class DualCoreSmallBoomConfig extends Config(
|
||||
new WithNormalBoomAndRocketTop ++
|
||||
new WithNormalBoomRocketTop ++
|
||||
new WithBootROM ++
|
||||
new boom.common.WithRVC ++
|
||||
new boom.common.WithSmallBooms ++
|
||||
@@ -137,12 +137,12 @@ class DualCoreSmallBoomConfig extends Config(
|
||||
new freechips.rocketchip.system.BaseConfig)
|
||||
|
||||
class RV32UnifiedBoomConfig extends Config(
|
||||
new WithNormalBoomAndRocketTop ++
|
||||
new WithNormalBoomRocketTop ++
|
||||
new WithBootROM ++
|
||||
new boom.system.SmallRV32UnifiedBoomConfig)
|
||||
|
||||
// ---------------------
|
||||
// BOOM + Rocket Configs
|
||||
// BOOM and Rocket Configs
|
||||
// ---------------------
|
||||
|
||||
class BaseBoomAndRocketConfig extends Config(
|
||||
@@ -167,46 +167,46 @@ class SmallBaseBoomAndRocketConfig extends Config(
|
||||
new freechips.rocketchip.system.BaseConfig)
|
||||
|
||||
class DefaultBoomAndRocketConfig extends Config(
|
||||
new WithNormalBoomAndRocketTop ++
|
||||
new BaseBoomAndRocketConfig)
|
||||
new WithNormalBoomRocketTop ++
|
||||
new BaseBoomRocketConfig)
|
||||
|
||||
class SmallDefaultBoomAndRocketConfig extends Config(
|
||||
new WithNormalBoomAndRocketTop ++
|
||||
new SmallBaseBoomAndRocketConfig)
|
||||
new WithNormalBoomRocketTop ++
|
||||
new SmallBaseBoomRocketConfig)
|
||||
|
||||
class HwachaBoomAndRocketConfig extends Config(
|
||||
new hwacha.DefaultHwachaConfig ++
|
||||
new DefaultBoomAndRocketConfig)
|
||||
new DefaultBoomRocketConfig)
|
||||
|
||||
class RoccBoomAndRocketConfig extends Config(
|
||||
new WithRoccExample ++
|
||||
new DefaultBoomAndRocketConfig)
|
||||
new DefaultBoomRocketConfig)
|
||||
|
||||
class PWMBoomAndRocketConfig extends Config(
|
||||
new WithPWMBoomAndRocketTop ++
|
||||
new BaseBoomAndRocketConfig)
|
||||
new WithPWMBoomRocketTop ++
|
||||
new BaseBoomRocketConfig)
|
||||
|
||||
class PWMAXI4BoomAndRocketConfig extends Config(
|
||||
new WithPWMAXI4BoomAndRocketTop ++
|
||||
new BaseBoomAndRocketConfig)
|
||||
new WithPWMAXI4BoomRocketTop ++
|
||||
new BaseBoomRocketConfig)
|
||||
|
||||
class SimBlockDeviceBoomAndRocketConfig extends Config(
|
||||
new WithBlockDevice ++
|
||||
new WithSimBlockDeviceBoomAndRocketTop ++
|
||||
new BaseBoomAndRocketConfig)
|
||||
new WithSimBlockDeviceBoomRocketTop ++
|
||||
new BaseBoomRocketConfig)
|
||||
|
||||
class BlockDeviceModelBoomAndRocketConfig extends Config(
|
||||
new WithBlockDevice ++
|
||||
new WithBlockDeviceModelBoomAndRocketTop ++
|
||||
new BaseBoomAndRocketConfig)
|
||||
new WithBlockDeviceModelBoomRocketTop ++
|
||||
new BaseBoomRocketConfig)
|
||||
|
||||
class GPIOBoomAndRocketConfig extends Config(
|
||||
new WithGPIO ++
|
||||
new WithGPIOBoomAndRocketTop ++
|
||||
new BaseBoomAndRocketConfig)
|
||||
new WithGPIOBoomRocketTop ++
|
||||
new BaseBoomRocketConfig)
|
||||
|
||||
class DualCoreBoomAndOneRocketConfig extends Config(
|
||||
new WithNormalBoomAndRocketTop ++
|
||||
new WithNormalBoomRocketTop ++
|
||||
new WithBootROM ++
|
||||
new boom.system.WithRenumberHarts ++
|
||||
new boom.common.WithRVC ++
|
||||
@@ -217,7 +217,7 @@ class DualCoreBoomAndOneRocketConfig extends Config(
|
||||
new freechips.rocketchip.system.BaseConfig)
|
||||
|
||||
class RV32BoomAndRocketConfig extends Config(
|
||||
new WithNormalBoomAndRocketTop ++
|
||||
new WithNormalBoomRocketTop ++
|
||||
new WithBootROM ++
|
||||
new boom.system.WithRenumberHarts ++
|
||||
new boom.common.WithBoomRV32 ++
|
||||
|
||||
@@ -10,12 +10,12 @@ import freechips.rocketchip.config.{Field, Parameters}
|
||||
import freechips.rocketchip.util.GeneratorApp
|
||||
|
||||
// --------------------------
|
||||
// BOOM + Rocket Test Harness
|
||||
// BOOM and/or Rocket Test Harness
|
||||
// --------------------------
|
||||
|
||||
case object BuildBoomAndRocketTop extends Field[(Clock, Bool, Parameters) => BoomAndRocketTopModule[BoomAndRocketTop]]
|
||||
case object BuildBoomRocketTop extends Field[(Clock, Bool, Parameters) => BoomRocketTopModule[BoomRocketTop]]
|
||||
|
||||
class BoomAndRocketTestHarness(implicit val p: Parameters) extends Module {
|
||||
class BoomRocketTestHarness(implicit val p: Parameters) extends Module {
|
||||
val io = IO(new Bundle {
|
||||
val success = Output(Bool())
|
||||
})
|
||||
@@ -23,7 +23,7 @@ class BoomAndRocketTestHarness(implicit val p: Parameters) extends Module {
|
||||
// force Chisel to rename module
|
||||
override def desiredName = "TestHarness"
|
||||
|
||||
val dut = p(BuildBoomAndRocketTop)(clock, reset.toBool, p)
|
||||
val dut = p(BuildBoomRocketTop)(clock, reset.toBool, p)
|
||||
dut.debug := DontCare
|
||||
dut.connectSimAXIMem()
|
||||
dut.connectSimAXIMMIO()
|
||||
|
||||
@@ -13,57 +13,57 @@ import testchipip._
|
||||
import sifive.blocks.devices.gpio._
|
||||
|
||||
// -------------------------------
|
||||
// BOOM + Rocket Top Level Systems
|
||||
// BOOM and/or Rocket Top Level Systems
|
||||
// -------------------------------
|
||||
|
||||
class BoomAndRocketTop(implicit p: Parameters) extends boom.system.ExampleBoomAndRocketSystem
|
||||
class BoomRocketTop(implicit p: Parameters) extends boom.system.ExampleBoomAndRocketSystem
|
||||
with HasNoDebug
|
||||
with HasPeripherySerial {
|
||||
override lazy val module = new BoomAndRocketTopModule(this)
|
||||
override lazy val module = new BoomRocketTopModule(this)
|
||||
}
|
||||
|
||||
class BoomAndRocketTopModule[+L <: BoomAndRocketTop](l: L) extends boom.system.ExampleBoomAndRocketSystemModule(l)
|
||||
class BoomRocketTopModule[+L <: BoomRocketTop](l: L) extends boom.system.ExampleBoomAndRocketSystemModule(l)
|
||||
with HasNoDebugModuleImp
|
||||
with HasPeripherySerialModuleImp
|
||||
with DontTouch
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------
|
||||
|
||||
class BoomAndRocketTopWithPWMTL(implicit p: Parameters) extends BoomAndRocketTop
|
||||
class BoomRocketTopWithPWMTL(implicit p: Parameters) extends BoomRocketTop
|
||||
with HasPeripheryPWMTL {
|
||||
override lazy val module = new BoomAndRocketTopWithPWMTLModule(this)
|
||||
override lazy val module = new BoomRocketTopWithPWMTLModule(this)
|
||||
}
|
||||
|
||||
class BoomAndRocketTopWithPWMTLModule(l: BoomAndRocketTopWithPWMTL) extends BoomAndRocketTopModule(l)
|
||||
class BoomRocketTopWithPWMTLModule(l: BoomRocketTopWithPWMTL) extends BoomRocketTopModule(l)
|
||||
with HasPeripheryPWMTLModuleImp
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------
|
||||
|
||||
class BoomAndRocketTopWithPWMAXI4(implicit p: Parameters) extends BoomAndRocketTop
|
||||
class BoomRocketTopWithPWMAXI4(implicit p: Parameters) extends BoomRocketTop
|
||||
with HasPeripheryPWMAXI4 {
|
||||
override lazy val module = new BoomAndRocketTopWithPWMAXI4Module(this)
|
||||
override lazy val module = new BoomRocketTopWithPWMAXI4Module(this)
|
||||
}
|
||||
|
||||
class BoomAndRocketTopWithPWMAXI4Module(l: BoomAndRocketTopWithPWMAXI4) extends BoomAndRocketTopModule(l)
|
||||
class BoomRocketTopWithPWMAXI4Module(l: BoomRocketTopWithPWMAXI4) extends BoomRocketTopModule(l)
|
||||
with HasPeripheryPWMAXI4ModuleImp
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------
|
||||
|
||||
class BoomAndRocketTopWithBlockDevice(implicit p: Parameters) extends BoomAndRocketTop
|
||||
class BoomRocketTopWithBlockDevice(implicit p: Parameters) extends BoomRocketTop
|
||||
with HasPeripheryBlockDevice {
|
||||
override lazy val module = new BoomAndRocketTopWithBlockDeviceModule(this)
|
||||
override lazy val module = new BoomRocketTopWithBlockDeviceModule(this)
|
||||
}
|
||||
|
||||
class BoomAndRocketTopWithBlockDeviceModule(l: BoomAndRocketTopWithBlockDevice) extends BoomAndRocketTopModule(l)
|
||||
class BoomRocketTopWithBlockDeviceModule(l: BoomRocketTopWithBlockDevice) extends BoomRocketTopModule(l)
|
||||
with HasPeripheryBlockDeviceModuleImp
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------
|
||||
|
||||
class BoomAndRocketTopWithGPIO(implicit p: Parameters) extends BoomAndRocketTop
|
||||
class BoomRocketTopWithGPIO(implicit p: Parameters) extends BoomRocketTop
|
||||
with HasPeripheryGPIO {
|
||||
override lazy val module = new BoomAndRocketTopWithGPIOModule(this)
|
||||
override lazy val module = new BoomRocketTopWithGPIOModule(this)
|
||||
}
|
||||
|
||||
class BoomAndRocketTopWithGPIOModule(l: BoomAndRocketTopWithGPIO)
|
||||
extends BoomAndRocketTopModule(l)
|
||||
class BoomRocketTopWithGPIOModule(l: BoomRocketTopWithGPIO)
|
||||
extends BoomRocketTopModule(l)
|
||||
with HasPeripheryGPIOModuleImp
|
||||
|
||||
@@ -29,14 +29,14 @@ SUB_PROJECT ?= example
|
||||
|
||||
ifeq ($(SUB_PROJECT),example)
|
||||
SBT_PROJECT ?= example
|
||||
MODEL ?= BoomAndRocketTestHarness
|
||||
MODEL ?= BoomRocketTestHarness
|
||||
VLOG_MODEL ?= TestHarness
|
||||
MODEL_PACKAGE ?= $(SBT_PROJECT)
|
||||
CONFIG ?= DefaultRocketConfig
|
||||
CONFIG_PACKAGE ?= $(SBT_PROJECT)
|
||||
GENERATOR_PACKAGE ?= $(SBT_PROJECT)
|
||||
TB ?= TestDriver
|
||||
TOP ?= BoomAndRocketTop
|
||||
TOP ?= BoomRocketTop
|
||||
endif
|
||||
# for BOOM developers
|
||||
ifeq ($(SUB_PROJECT),boom)
|
||||
@@ -162,3 +162,4 @@ sim_vsrcs = \
|
||||
# assembly/benchmark variables
|
||||
#########################################################################################
|
||||
timeout_cycles = 10000000
|
||||
bmark_timeout_cycles = 100000000
|
||||
|
||||
Reference in New Issue
Block a user