First pass on using CY make system
This commit is contained in:
@@ -47,8 +47,8 @@ class E300DevKitPeripherals extends Config((site, here, up) => {
|
||||
I2CParams(address = 0x10016000))
|
||||
case PeripheryMockAONKey =>
|
||||
MockAONParams(address = 0x10000000)
|
||||
case PeripheryMaskROMKey => List(
|
||||
MaskROMParams(address = 0x10000, name = "BootROM"))
|
||||
case MaskROMLocated(InSubsystem) => List(MaskROMParams(address = 0x10000, name = "BootROM"))
|
||||
case BootROMLocated(InSubsystem) => None
|
||||
})
|
||||
|
||||
// Freedom E300 Arty Dev Kit Peripherals
|
||||
|
||||
@@ -51,6 +51,7 @@ class E300ArtyDevKitPlatformIO(implicit val p: Parameters) extends Bundle {
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
class E300ArtyDevKitPlatform(implicit val p: Parameters) extends Module {
|
||||
//val sys = Module(LazyModule(new E300ArtyDevKitSystem).module) This can be DigitalTop?
|
||||
val sys = Module(LazyModule(new E300ArtyDevKitSystem).module)
|
||||
val io = new E300ArtyDevKitPlatformIO
|
||||
|
||||
|
||||
@@ -31,6 +31,12 @@ class E300ArtyDevKitSystem(implicit p: Parameters) extends RocketSubsystem
|
||||
with HasPeripheryGPIO
|
||||
with HasPeripheryPWM
|
||||
with HasPeripheryI2C {
|
||||
val bootROM = p(BootROMLocated(location)).map { BootROM.attach(_, this, CBUS) }
|
||||
val maskROMs = p(MaskROMLocated(location)).map { MaskROM.attach(_, this, CBUS) }
|
||||
|
||||
val maskROMResetVectorSourceNode = BundleBridgeSource[UInt]()
|
||||
tileResetVectorNexusNode := maskROMResetVectorSourceNode
|
||||
|
||||
override lazy val module = new E300ArtyDevKitSystemModule(this)
|
||||
}
|
||||
|
||||
@@ -45,7 +51,7 @@ class E300ArtyDevKitSystemModule[+L <: E300ArtyDevKitSystem](_outer: L)
|
||||
with HasPeripheryMockAONModuleImp
|
||||
with HasPeripheryPWMModuleImp
|
||||
with HasPeripheryI2CModuleImp {
|
||||
// Reset vector is set to the location of the mask rom
|
||||
val maskROMParams = p(PeripheryMaskROMKey)
|
||||
global_reset_vector := maskROMParams(0).address.U
|
||||
|
||||
// connect reset vector to 1st MaskROM
|
||||
_outer.maskROMResetVectorSourceNode.bundle := p(MaskROMLocated(_outer.location))(0).address.U
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user