renamed classes to BoomRocket to clarify | clearer comments | readd the bmark timeout

This commit is contained in:
abejgonzalez
2019-05-27 17:21:19 -07:00
parent c19855bfa6
commit ee62fa8bac
5 changed files with 84 additions and 83 deletions

View File

@@ -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) => { class WithNormalBoomRocketTop extends Config((site, here, up) => {
case BuildBoomAndRocketTop => (clock: Clock, reset: Bool, p: Parameters) => { case BuildBoomRocketTop => (clock: Clock, reset: Bool, p: Parameters) => {
Module(LazyModule(new BoomAndRocketTop()(p)).module) 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) => { class WithPWMBoomRocketTop extends Config((site, here, up) => {
case BuildBoomAndRocketTop => (clock: Clock, reset: Bool, p: Parameters) => case BuildBoomRocketTop => (clock: Clock, reset: Bool, p: Parameters) =>
Module(LazyModule(new BoomAndRocketTopWithPWMTL()(p)).module) 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) => { class WithPWMAXI4BoomRocketTop extends Config((site, here, up) => {
case BuildBoomAndRocketTop => (clock: Clock, reset: Bool, p: Parameters) => case BuildBoomRocketTop => (clock: Clock, reset: Bool, p: Parameters) =>
Module(LazyModule(new BoomAndRocketTopWithPWMAXI4()(p)).module) 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) => { class WithBlockDeviceModelBoomRocketTop extends Config((site, here, up) => {
case BuildBoomAndRocketTop => (clock: Clock, reset: Bool, p: Parameters) => { case BuildBoomRocketTop => (clock: Clock, reset: Bool, p: Parameters) => {
val top = Module(LazyModule(new BoomAndRocketTopWithBlockDevice()(p)).module) val top = Module(LazyModule(new BoomRocketTopWithBlockDevice()(p)).module)
top.connectBlockDeviceModel() top.connectBlockDeviceModel()
top 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) => { class WithSimBlockDeviceBoomRocketTop extends Config((site, here, up) => {
case BuildBoomAndRocketTop => (clock: Clock, reset: Bool, p: Parameters) => { case BuildBoomRocketTop => (clock: Clock, reset: Bool, p: Parameters) => {
val top = Module(LazyModule(new BoomAndRocketTopWithBlockDevice()(p)).module) val top = Module(LazyModule(new BoomRocketTopWithBlockDevice()(p)).module)
top.connectSimBlockDevice(clock, reset) top.connectSimBlockDevice(clock, reset)
top 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) => { class WithGPIOBoomRocketTop extends Config((site, here, up) => {
case BuildBoomAndRocketTop => (clock: Clock, reset: Bool, p: Parameters) => { case BuildBoomRocketTop => (clock: Clock, reset: Bool, p: Parameters) => {
val top = Module(LazyModule(new BoomAndRocketTopWithGPIO()(p)).module) val top = Module(LazyModule(new BoomRocketTopWithGPIO()(p)).module)
for (gpio <- top.gpio) { for (gpio <- top.gpio) {
for (pin <- gpio.pins) { for (pin <- gpio.pins) {
pin.i.ival := false.B pin.i.ival := false.B

View File

@@ -16,7 +16,7 @@ class BaseRocketConfig extends Config(
new freechips.rocketchip.system.DefaultConfig) new freechips.rocketchip.system.DefaultConfig)
class DefaultRocketConfig extends Config( class DefaultRocketConfig extends Config(
new WithNormalBoomAndRocketTop ++ new WithNormalBoomRocketTop ++
new BaseRocketConfig) new BaseRocketConfig)
class HwachaConfig extends Config( class HwachaConfig extends Config(
@@ -28,26 +28,26 @@ class RoccRocketConfig extends Config(
new DefaultRocketConfig) new DefaultRocketConfig)
class PWMRocketConfig extends Config( class PWMRocketConfig extends Config(
new WithPWMBoomAndRocketTop ++ new WithPWMBoomRocketTop ++
new BaseRocketConfig) new BaseRocketConfig)
class PWMAXI4RocketConfig extends Config( class PWMAXI4RocketConfig extends Config(
new WithPWMAXI4BoomAndRocketTop ++ new WithPWMAXI4BoomRocketTop ++
new BaseRocketConfig) new BaseRocketConfig)
class SimBlockDeviceRocketConfig extends Config( class SimBlockDeviceRocketConfig extends Config(
new WithBlockDevice ++ new WithBlockDevice ++
new WithSimBlockDeviceBoomAndRocketTop ++ new WithSimBlockDeviceBoomRocketTop ++
new BaseRocketConfig) new BaseRocketConfig)
class BlockDeviceModelRocketConfig extends Config( class BlockDeviceModelRocketConfig extends Config(
new WithBlockDevice ++ new WithBlockDevice ++
new WithBlockDeviceModelBoomAndRocketTop ++ new WithBlockDeviceModelBoomRocketTop ++
new BaseRocketConfig) new BaseRocketConfig)
class GPIORocketConfig extends Config( class GPIORocketConfig extends Config(
new WithGPIO ++ new WithGPIO ++
new WithGPIOBoomAndRocketTop ++ new WithGPIOBoomRocketTop ++
new BaseRocketConfig) new BaseRocketConfig)
class DualCoreRocketConfig extends Config( class DualCoreRocketConfig extends Config(
@@ -75,11 +75,11 @@ class SmallBaseBoomConfig extends Config(
new boom.system.SmallBoomConfig) new boom.system.SmallBoomConfig)
class DefaultBoomConfig extends Config( class DefaultBoomConfig extends Config(
new WithNormalBoomAndRocketTop ++ new WithNormalBoomRocketTop ++
new BaseBoomConfig) new BaseBoomConfig)
class SmallDefaultBoomConfig extends Config( class SmallDefaultBoomConfig extends Config(
new WithNormalBoomAndRocketTop ++ new WithNormalBoomRocketTop ++
new SmallBaseBoomConfig) new SmallBaseBoomConfig)
class HwachaBoomConfig extends Config( class HwachaBoomConfig extends Config(
@@ -91,26 +91,26 @@ class RoccBoomConfig extends Config(
new DefaultBoomConfig) new DefaultBoomConfig)
class PWMBoomConfig extends Config( class PWMBoomConfig extends Config(
new WithPWMBoomAndRocketTop ++ new WithPWMBoomRocketTop ++
new BaseBoomConfig) new BaseBoomConfig)
class PWMAXI4BoomConfig extends Config( class PWMAXI4BoomConfig extends Config(
new WithPWMAXI4BoomAndRocketTop ++ new WithPWMAXI4BoomRocketTop ++
new BaseBoomConfig) new BaseBoomConfig)
class SimBlockDeviceBoomConfig extends Config( class SimBlockDeviceBoomConfig extends Config(
new WithBlockDevice ++ new WithBlockDevice ++
new WithSimBlockDeviceBoomAndRocketTop ++ new WithSimBlockDeviceBoomRocketTop ++
new BaseBoomConfig) new BaseBoomConfig)
class BlockDeviceModelBoomConfig extends Config( class BlockDeviceModelBoomConfig extends Config(
new WithBlockDevice ++ new WithBlockDevice ++
new WithBlockDeviceModelBoomAndRocketTop ++ new WithBlockDeviceModelBoomRocketTop ++
new BaseBoomConfig) new BaseBoomConfig)
class GPIOBoomConfig extends Config( class GPIOBoomConfig extends Config(
new WithGPIO ++ new WithGPIO ++
new WithGPIOBoomAndRocketTop ++ new WithGPIOBoomRocketTop ++
new BaseBoomConfig) new BaseBoomConfig)
/** /**
@@ -118,7 +118,7 @@ class GPIOBoomConfig extends Config(
* the `WithNBoomCores` with the DefaultBoomConfig params * the `WithNBoomCores` with the DefaultBoomConfig params
*/ */
class DualCoreBoomConfig extends Config( class DualCoreBoomConfig extends Config(
new WithNormalBoomAndRocketTop ++ new WithNormalBoomRocketTop ++
new WithBootROM ++ new WithBootROM ++
new boom.common.WithRVC ++ new boom.common.WithRVC ++
new boom.common.DefaultBoomConfig ++ new boom.common.DefaultBoomConfig ++
@@ -127,7 +127,7 @@ class DualCoreBoomConfig extends Config(
new freechips.rocketchip.system.BaseConfig) new freechips.rocketchip.system.BaseConfig)
class DualCoreSmallBoomConfig extends Config( class DualCoreSmallBoomConfig extends Config(
new WithNormalBoomAndRocketTop ++ new WithNormalBoomRocketTop ++
new WithBootROM ++ new WithBootROM ++
new boom.common.WithRVC ++ new boom.common.WithRVC ++
new boom.common.WithSmallBooms ++ new boom.common.WithSmallBooms ++
@@ -137,12 +137,12 @@ class DualCoreSmallBoomConfig extends Config(
new freechips.rocketchip.system.BaseConfig) new freechips.rocketchip.system.BaseConfig)
class RV32UnifiedBoomConfig extends Config( class RV32UnifiedBoomConfig extends Config(
new WithNormalBoomAndRocketTop ++ new WithNormalBoomRocketTop ++
new WithBootROM ++ new WithBootROM ++
new boom.system.SmallRV32UnifiedBoomConfig) new boom.system.SmallRV32UnifiedBoomConfig)
// --------------------- // ---------------------
// BOOM + Rocket Configs // BOOM and Rocket Configs
// --------------------- // ---------------------
class BaseBoomAndRocketConfig extends Config( class BaseBoomAndRocketConfig extends Config(
@@ -167,46 +167,46 @@ class SmallBaseBoomAndRocketConfig extends Config(
new freechips.rocketchip.system.BaseConfig) new freechips.rocketchip.system.BaseConfig)
class DefaultBoomAndRocketConfig extends Config( class DefaultBoomAndRocketConfig extends Config(
new WithNormalBoomAndRocketTop ++ new WithNormalBoomRocketTop ++
new BaseBoomAndRocketConfig) new BaseBoomRocketConfig)
class SmallDefaultBoomAndRocketConfig extends Config( class SmallDefaultBoomAndRocketConfig extends Config(
new WithNormalBoomAndRocketTop ++ new WithNormalBoomRocketTop ++
new SmallBaseBoomAndRocketConfig) new SmallBaseBoomRocketConfig)
class HwachaBoomAndRocketConfig extends Config( class HwachaBoomAndRocketConfig extends Config(
new hwacha.DefaultHwachaConfig ++ new hwacha.DefaultHwachaConfig ++
new DefaultBoomAndRocketConfig) new DefaultBoomRocketConfig)
class RoccBoomAndRocketConfig extends Config( class RoccBoomAndRocketConfig extends Config(
new WithRoccExample ++ new WithRoccExample ++
new DefaultBoomAndRocketConfig) new DefaultBoomRocketConfig)
class PWMBoomAndRocketConfig extends Config( class PWMBoomAndRocketConfig extends Config(
new WithPWMBoomAndRocketTop ++ new WithPWMBoomRocketTop ++
new BaseBoomAndRocketConfig) new BaseBoomRocketConfig)
class PWMAXI4BoomAndRocketConfig extends Config( class PWMAXI4BoomAndRocketConfig extends Config(
new WithPWMAXI4BoomAndRocketTop ++ new WithPWMAXI4BoomRocketTop ++
new BaseBoomAndRocketConfig) new BaseBoomRocketConfig)
class SimBlockDeviceBoomAndRocketConfig extends Config( class SimBlockDeviceBoomAndRocketConfig extends Config(
new WithBlockDevice ++ new WithBlockDevice ++
new WithSimBlockDeviceBoomAndRocketTop ++ new WithSimBlockDeviceBoomRocketTop ++
new BaseBoomAndRocketConfig) new BaseBoomRocketConfig)
class BlockDeviceModelBoomAndRocketConfig extends Config( class BlockDeviceModelBoomAndRocketConfig extends Config(
new WithBlockDevice ++ new WithBlockDevice ++
new WithBlockDeviceModelBoomAndRocketTop ++ new WithBlockDeviceModelBoomRocketTop ++
new BaseBoomAndRocketConfig) new BaseBoomRocketConfig)
class GPIOBoomAndRocketConfig extends Config( class GPIOBoomAndRocketConfig extends Config(
new WithGPIO ++ new WithGPIO ++
new WithGPIOBoomAndRocketTop ++ new WithGPIOBoomRocketTop ++
new BaseBoomAndRocketConfig) new BaseBoomRocketConfig)
class DualCoreBoomAndOneRocketConfig extends Config( class DualCoreBoomAndOneRocketConfig extends Config(
new WithNormalBoomAndRocketTop ++ new WithNormalBoomRocketTop ++
new WithBootROM ++ new WithBootROM ++
new boom.system.WithRenumberHarts ++ new boom.system.WithRenumberHarts ++
new boom.common.WithRVC ++ new boom.common.WithRVC ++
@@ -217,7 +217,7 @@ class DualCoreBoomAndOneRocketConfig extends Config(
new freechips.rocketchip.system.BaseConfig) new freechips.rocketchip.system.BaseConfig)
class RV32BoomAndRocketConfig extends Config( class RV32BoomAndRocketConfig extends Config(
new WithNormalBoomAndRocketTop ++ new WithNormalBoomRocketTop ++
new WithBootROM ++ new WithBootROM ++
new boom.system.WithRenumberHarts ++ new boom.system.WithRenumberHarts ++
new boom.common.WithBoomRV32 ++ new boom.common.WithBoomRV32 ++

View File

@@ -10,12 +10,12 @@ import freechips.rocketchip.config.{Field, Parameters}
import freechips.rocketchip.util.GeneratorApp 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 io = IO(new Bundle {
val success = Output(Bool()) val success = Output(Bool())
}) })
@@ -23,7 +23,7 @@ class BoomAndRocketTestHarness(implicit val p: Parameters) extends Module {
// force Chisel to rename module // force Chisel to rename module
override def desiredName = "TestHarness" override def desiredName = "TestHarness"
val dut = p(BuildBoomAndRocketTop)(clock, reset.toBool, p) val dut = p(BuildBoomRocketTop)(clock, reset.toBool, p)
dut.debug := DontCare dut.debug := DontCare
dut.connectSimAXIMem() dut.connectSimAXIMem()
dut.connectSimAXIMMIO() dut.connectSimAXIMMIO()

View File

@@ -13,57 +13,57 @@ import testchipip._
import sifive.blocks.devices.gpio._ 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 HasNoDebug
with HasPeripherySerial { 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 HasNoDebugModuleImp
with HasPeripherySerialModuleImp with HasPeripherySerialModuleImp
with DontTouch with DontTouch
//--------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------
class BoomAndRocketTopWithPWMTL(implicit p: Parameters) extends BoomAndRocketTop class BoomRocketTopWithPWMTL(implicit p: Parameters) extends BoomRocketTop
with HasPeripheryPWMTL { 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 with HasPeripheryPWMTLModuleImp
//--------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------
class BoomAndRocketTopWithPWMAXI4(implicit p: Parameters) extends BoomAndRocketTop class BoomRocketTopWithPWMAXI4(implicit p: Parameters) extends BoomRocketTop
with HasPeripheryPWMAXI4 { 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 with HasPeripheryPWMAXI4ModuleImp
//--------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------
class BoomAndRocketTopWithBlockDevice(implicit p: Parameters) extends BoomAndRocketTop class BoomRocketTopWithBlockDevice(implicit p: Parameters) extends BoomRocketTop
with HasPeripheryBlockDevice { 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 with HasPeripheryBlockDeviceModuleImp
//--------------------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------------------
class BoomAndRocketTopWithGPIO(implicit p: Parameters) extends BoomAndRocketTop class BoomRocketTopWithGPIO(implicit p: Parameters) extends BoomRocketTop
with HasPeripheryGPIO { with HasPeripheryGPIO {
override lazy val module = new BoomAndRocketTopWithGPIOModule(this) override lazy val module = new BoomRocketTopWithGPIOModule(this)
} }
class BoomAndRocketTopWithGPIOModule(l: BoomAndRocketTopWithGPIO) class BoomRocketTopWithGPIOModule(l: BoomRocketTopWithGPIO)
extends BoomAndRocketTopModule(l) extends BoomRocketTopModule(l)
with HasPeripheryGPIOModuleImp with HasPeripheryGPIOModuleImp

View File

@@ -29,14 +29,14 @@ SUB_PROJECT ?= example
ifeq ($(SUB_PROJECT),example) ifeq ($(SUB_PROJECT),example)
SBT_PROJECT ?= example SBT_PROJECT ?= example
MODEL ?= BoomAndRocketTestHarness MODEL ?= BoomRocketTestHarness
VLOG_MODEL ?= TestHarness VLOG_MODEL ?= TestHarness
MODEL_PACKAGE ?= $(SBT_PROJECT) MODEL_PACKAGE ?= $(SBT_PROJECT)
CONFIG ?= DefaultRocketConfig CONFIG ?= DefaultRocketConfig
CONFIG_PACKAGE ?= $(SBT_PROJECT) CONFIG_PACKAGE ?= $(SBT_PROJECT)
GENERATOR_PACKAGE ?= $(SBT_PROJECT) GENERATOR_PACKAGE ?= $(SBT_PROJECT)
TB ?= TestDriver TB ?= TestDriver
TOP ?= BoomAndRocketTop TOP ?= BoomRocketTop
endif endif
# for BOOM developers # for BOOM developers
ifeq ($(SUB_PROJECT),boom) ifeq ($(SUB_PROJECT),boom)
@@ -162,3 +162,4 @@ sim_vsrcs = \
# assembly/benchmark variables # assembly/benchmark variables
######################################################################################### #########################################################################################
timeout_cycles = 10000000 timeout_cycles = 10000000
bmark_timeout_cycles = 100000000