X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmain%2Fscala%2Fdevices%2Fxilinxvc707pciex1%2FXilinxVC707PCIeX1.scala;h=cf8eae744e9408fa46fee00ce7cbb5a37fc5384d;hb=d973c659eb239d8bb1447ffe9a73df20cdd7bf04;hp=2e376d0fc9d7a0db3cf499ee1586a253a48dbf8b;hpb=9cb80ac9134ad4036e2ae40fb9be8f0f3e7065a4;p=sifive-blocks.git diff --git a/src/main/scala/devices/xilinxvc707pciex1/XilinxVC707PCIeX1.scala b/src/main/scala/devices/xilinxvc707pciex1/XilinxVC707PCIeX1.scala index 2e376d0..cf8eae7 100644 --- a/src/main/scala/devices/xilinxvc707pciex1/XilinxVC707PCIeX1.scala +++ b/src/main/scala/devices/xilinxvc707pciex1/XilinxVC707PCIeX1.scala @@ -2,11 +2,11 @@ package sifive.blocks.devices.xilinxvc707pciex1 import Chisel._ -import config._ -import diplomacy._ -import uncore.tilelink2._ -import uncore.axi4._ -import rocketchip._ +import freechips.rocketchip.amba.axi4._ +import freechips.rocketchip.coreplex.CacheBlockBytes +import freechips.rocketchip.config.Parameters +import freechips.rocketchip.diplomacy._ +import freechips.rocketchip.tilelink._ import sifive.blocks.ip.xilinx.vc707axi_to_pcie_x1.{VC707AXIToPCIeX1, VC707AXIToPCIeX1IOClocksReset, VC707AXIToPCIeX1IOSerial} import sifive.blocks.ip.xilinx.ibufds_gte2.IBUFDS_GTE2 @@ -20,9 +20,9 @@ class XilinxVC707PCIeX1IO extends Bundle with VC707AXIToPCIeX1IOSerial } class XilinxVC707PCIeX1(implicit p: Parameters) extends LazyModule { - val slave = TLInputNode() - val control = TLInputNode() - val master = TLOutputNode() + val slave = TLAsyncInputNode() + val control = TLAsyncInputNode() + val master = TLAsyncOutputNode() val intnode = IntOutputNode() val axi_to_pcie_x1 = LazyModule(new VC707AXIToPCIeX1) @@ -30,25 +30,26 @@ class XilinxVC707PCIeX1(implicit p: Parameters) extends LazyModule { axi_to_pcie_x1.slave := AXI4Buffer()( AXI4UserYanker()( - AXI4Deinterleaver(p(coreplex.CacheBlockBytes))( + AXI4Deinterleaver(p(CacheBlockBytes))( AXI4IdIndexer(idBits=4)( - TLToAXI4(beatBytes=8)( - slave))))) + TLToAXI4(beatBytes=8, adapterName = Some("pcie-slave"))( + TLAsyncCrossingSink()( + slave)))))) axi_to_pcie_x1.control := AXI4Buffer()( - AXI4UserYanker()( - AXI4Fragmenter()( - AXI4IdIndexer(idBits=0)( + AXI4UserYanker(capMaxFlight = Some(2))( TLToAXI4(beatBytes=4)( + TLFragmenter(4, p(CacheBlockBytes))( + TLAsyncCrossingSink()( control))))) master := + TLAsyncCrossingSource()( TLWidthWidget(8)( AXI4ToTL()( AXI4UserYanker(capMaxFlight=Some(8))( AXI4Fragmenter()( - AXI4IdIndexer(idBits=0)( axi_to_pcie_x1.master))))) intnode := axi_to_pcie_x1.intnode