X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmain%2Fscala%2Fdevices%2Fxilinxvc707pciex1%2FXilinxVC707PCIeX1.scala;h=2e376d0fc9d7a0db3cf499ee1586a253a48dbf8b;hb=a24fa9b444c3e33e356e83dba07572b26098f17e;hp=f657459637f903ed4c86fb0addafba70b0563815;hpb=46aa6b0ac432431e013b25a24331f21457b025a8;p=sifive-blocks.git diff --git a/src/main/scala/devices/xilinxvc707pciex1/XilinxVC707PCIeX1.scala b/src/main/scala/devices/xilinxvc707pciex1/XilinxVC707PCIeX1.scala index f657459..2e376d0 100644 --- a/src/main/scala/devices/xilinxvc707pciex1/XilinxVC707PCIeX1.scala +++ b/src/main/scala/devices/xilinxvc707pciex1/XilinxVC707PCIeX1.scala @@ -26,9 +26,31 @@ class XilinxVC707PCIeX1(implicit p: Parameters) extends LazyModule { val intnode = IntOutputNode() val axi_to_pcie_x1 = LazyModule(new VC707AXIToPCIeX1) - axi_to_pcie_x1.slave := AXI4Buffer()(TLToAXI4(idBits=4)(slave)) - axi_to_pcie_x1.control := AXI4Buffer()(AXI4Fragmenter(lite=true, maxInFlight=4)(TLToAXI4(idBits=0)(control))) - master := TLWidthWidget(8)(AXI4ToTL()(AXI4Fragmenter()(axi_to_pcie_x1.master))) + + axi_to_pcie_x1.slave := + AXI4Buffer()( + AXI4UserYanker()( + AXI4Deinterleaver(p(coreplex.CacheBlockBytes))( + AXI4IdIndexer(idBits=4)( + TLToAXI4(beatBytes=8)( + slave))))) + + axi_to_pcie_x1.control := + AXI4Buffer()( + AXI4UserYanker()( + AXI4Fragmenter()( + AXI4IdIndexer(idBits=0)( + TLToAXI4(beatBytes=4)( + control))))) + + master := + TLWidthWidget(8)( + AXI4ToTL()( + AXI4UserYanker(capMaxFlight=Some(8))( + AXI4Fragmenter()( + AXI4IdIndexer(idBits=0)( + axi_to_pcie_x1.master))))) + intnode := axi_to_pcie_x1.intnode lazy val module = new LazyModuleImp(this) {