31 lines
949 B
Scala
31 lines
949 B
Scala
// See LICENSE for license details.
|
|
package sifive.fpgashells.devices.xilinx.xilinxvc707mig
|
|
|
|
import Chisel._
|
|
import freechips.rocketchip.coreplex.HasMemoryBus
|
|
import freechips.rocketchip.diplomacy.{LazyModule, LazyMultiIOModuleImp}
|
|
|
|
trait HasMemoryXilinxVC707MIG extends HasMemoryBus {
|
|
val module: HasMemoryXilinxVC707MIGModuleImp
|
|
|
|
val xilinxvc707mig = LazyModule(new XilinxVC707MIG)
|
|
|
|
require(nMemoryChannels == 1, "Coreplex must have 1 master memory port")
|
|
xilinxvc707mig.node := memBuses.head.toDRAMController
|
|
}
|
|
|
|
trait HasMemoryXilinxVC707MIGBundle {
|
|
val xilinxvc707mig: XilinxVC707MIGIO
|
|
def connectXilinxVC707MIGToPads(pads: XilinxVC707MIGPads) {
|
|
pads <> xilinxvc707mig
|
|
}
|
|
}
|
|
|
|
trait HasMemoryXilinxVC707MIGModuleImp extends LazyMultiIOModuleImp
|
|
with HasMemoryXilinxVC707MIGBundle {
|
|
val outer: HasMemoryXilinxVC707MIG
|
|
val xilinxvc707mig = IO(new XilinxVC707MIGIO)
|
|
|
|
xilinxvc707mig <> outer.xilinxvc707mig.module.io.port
|
|
}
|