X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmain%2Fscala%2Fdevices%2Fxilinxvc707mig%2FXilinxVC707MIGPeriphery.scala;h=068f64cbd3a16987cbe6948202e762c0b7903039;hb=d973c659eb239d8bb1447ffe9a73df20cdd7bf04;hp=4586949c0eada15181f58e5c4186f7118fa87841;hpb=a915e84a9ee5fc195051c518f946322037e7cdb5;p=sifive-blocks.git diff --git a/src/main/scala/devices/xilinxvc707mig/XilinxVC707MIGPeriphery.scala b/src/main/scala/devices/xilinxvc707mig/XilinxVC707MIGPeriphery.scala index 4586949..068f64c 100644 --- a/src/main/scala/devices/xilinxvc707mig/XilinxVC707MIGPeriphery.scala +++ b/src/main/scala/devices/xilinxvc707mig/XilinxVC707MIGPeriphery.scala @@ -2,25 +2,29 @@ package sifive.blocks.devices.xilinxvc707mig import Chisel._ -import diplomacy._ -import rocketchip.{TopNetwork,TopNetworkModule,TopNetworkBundle} -import coreplex.BankedL2Config +import freechips.rocketchip.coreplex.HasMemoryBus +import freechips.rocketchip.diplomacy.{LazyModule, LazyMultiIOModuleImp} -trait PeripheryXilinxVC707MIG extends TopNetwork { - val module: PeripheryXilinxVC707MIGModule +trait HasMemoryXilinxVC707MIG extends HasMemoryBus { + val module: HasMemoryXilinxVC707MIGModuleImp val xilinxvc707mig = LazyModule(new XilinxVC707MIG) - require(p(BankedL2Config).nMemoryChannels == 1, "Coreplex must have 1 master memory port") - xilinxvc707mig.node := mem(0).node + + require(nMemoryChannels == 1, "Coreplex must have 1 master memory port") + xilinxvc707mig.node := memBuses.head.toDRAMController } -trait PeripheryXilinxVC707MIGBundle extends TopNetworkBundle { - val xilinxvc707mig = new XilinxVC707MIGIO +trait HasMemoryXilinxVC707MIGBundle { + val xilinxvc707mig: XilinxVC707MIGIO + def connectXilinxVC707MIGToPads(pads: XilinxVC707MIGPads) { + pads <> xilinxvc707mig + } } -trait PeripheryXilinxVC707MIGModule extends TopNetworkModule { - val outer: PeripheryXilinxVC707MIG - val io: PeripheryXilinxVC707MIGBundle +trait HasMemoryXilinxVC707MIGModuleImp extends LazyMultiIOModuleImp + with HasMemoryXilinxVC707MIGBundle { + val outer: HasMemoryXilinxVC707MIG + val xilinxvc707mig = IO(new XilinxVC707MIGIO) - io.xilinxvc707mig <> outer.xilinxvc707mig.module.io.port + xilinxvc707mig <> outer.xilinxvc707mig.module.io.port }