X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmain%2Fscala%2Fdevices%2Fxilinxvc707mig%2FXilinxVC707MIGPeriphery.scala;h=068f64cbd3a16987cbe6948202e762c0b7903039;hb=d973c659eb239d8bb1447ffe9a73df20cdd7bf04;hp=5a5fb4f211453055db8768b25e21e6d710c10680;hpb=baccd5ada2ab54381d9f4c75a3e3e72f39b2bcef;p=sifive-blocks.git diff --git a/src/main/scala/devices/xilinxvc707mig/XilinxVC707MIGPeriphery.scala b/src/main/scala/devices/xilinxvc707mig/XilinxVC707MIGPeriphery.scala index 5a5fb4f..068f64c 100644 --- a/src/main/scala/devices/xilinxvc707mig/XilinxVC707MIGPeriphery.scala +++ b/src/main/scala/devices/xilinxvc707mig/XilinxVC707MIGPeriphery.scala @@ -2,29 +2,29 @@ package sifive.blocks.devices.xilinxvc707mig import Chisel._ -import diplomacy._ -import rocketchip.{ - HasTopLevelNetworks, - HasTopLevelNetworksModule, - HasTopLevelNetworksBundle -} -import coreplex.BankedL2Config +import freechips.rocketchip.coreplex.HasMemoryBus +import freechips.rocketchip.diplomacy.{LazyModule, LazyMultiIOModuleImp} -trait HasPeripheryXilinxVC707MIG extends HasTopLevelNetworks { - val module: HasPeripheryXilinxVC707MIGModule +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 HasPeripheryXilinxVC707MIGBundle extends HasTopLevelNetworksBundle { - val xilinxvc707mig = new XilinxVC707MIGIO +trait HasMemoryXilinxVC707MIGBundle { + val xilinxvc707mig: XilinxVC707MIGIO + def connectXilinxVC707MIGToPads(pads: XilinxVC707MIGPads) { + pads <> xilinxvc707mig + } } -trait HasPeripheryXilinxVC707MIGModule extends HasTopLevelNetworksModule { - val outer: HasPeripheryXilinxVC707MIG - val io: HasPeripheryXilinxVC707MIGBundle +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 }