~ubuntu-branches/ubuntu/utopic/uhd/utopic

« back to all changes in this revision

Viewing changes to fpga/usrp3/top/x300/x300.v

  • Committer: Package Import Robot
  • Author(s): A. Maitland Bottoms
  • Date: 2014-07-01 22:34:32 UTC
  • mfrom: (9.1.11 sid)
  • Revision ID: package-import@ubuntu.com-20140701223432-beg73ip3q8b3lgeg
Tags: 3.7.1-2
* Apply maint branch fixes through release_003_007_001-49-gdf4cf6d
* Fix B2xx udev rules

Show diffs side-by-side

added added

removed removed

Lines of Context:
285
285
 
286
286
   bus_clk_gen bus_clk_gen (
287
287
      .CLK_IN1(fpga_clk125),                //Input Clock: 125MHz Clock from STC3
288
 
      .CLK_OUT1(bus_clk),                   //Output Clock 1: 175MHz
 
288
      .CLK_OUT1(bus_clk),                   //Output Clock 1: 166.666667MHz
289
289
      .CLK_OUT2(ioport2_clk),               //Output Clock 2: 125MHz
290
290
      .RESET(1'b0),
291
291
      .LOCKED(bus_clk_locked));
547
547
   //
548
548
   //////////////////////////////////////////////////////////////////////
549
549
 
550
 
    localparam IOP2_MSG_WIDTH       = 64;
551
 
    localparam DMA_STREAM_WIDTH     = `LVFPGA_IFACE_DMA_CHAN_WIDTH;
552
 
    localparam DMA_COUNT_WIDTH      = `LVFPGA_IFACE_DMA_SIZE_WIDTH;
553
 
    localparam NUM_TX_STREAMS       = `LVFPGA_IFACE_NUM_TX_DMA_CNT;
554
 
    localparam NUM_RX_STREAMS       = `LVFPGA_IFACE_NUM_RX_DMA_CNT;
555
 
    localparam TX_STREAM_START_IDX  = `LVFPGA_IFACE_TX_DMA_INDEX;
556
 
    localparam RX_STREAM_START_IDX  = `LVFPGA_IFACE_RX_DMA_INDEX;
557
 
 
558
 
    wire [DMA_STREAM_WIDTH-1:0] dmatx_tdata, dmarx_tdata;
559
 
    wire                        dmatx_tvalid, dmarx_tvalid;
560
 
    wire                        dmatx_tlast, dmarx_tlast;
561
 
    wire                        dmatx_tready, dmarx_tready;
562
 
 
563
 
    wire [IOP2_MSG_WIDTH-1:0]   o_iop2_msg_tdata, i_iop2_msg_tdata;
564
 
    wire                        o_iop2_msg_tvalid, o_iop2_msg_tlast, o_iop2_msg_tready;
565
 
    wire                        i_iop2_msg_tvalid, i_iop2_msg_tlast, i_iop2_msg_tready;
566
 
 
567
 
    wire            pcie_usr_reg_wr, pcie_usr_reg_rd, pcie_usr_reg_rc, pcie_usr_reg_rdy;
568
 
    wire [1:0]      pcie_usr_reg_len;
569
 
    wire [19:0]     pcie_usr_reg_addr;
570
 
    wire [31:0]     pcie_usr_reg_data_in, pcie_usr_reg_data_out;
571
 
 
572
 
    wire            chinch_reg_wr, chinch_reg_rd, chinch_reg_rc, chinch_reg_rdy;
573
 
    wire [1:0]      chinch_reg_len;
574
 
    wire [19:0]     chinch_reg_addr;
575
 
    wire [31:0]     chinch_reg_data_out;
576
 
    wire [63:0]     chinch_reg_data_in;
577
 
 
578
 
    wire [(NUM_TX_STREAMS*DMA_STREAM_WIDTH)-1:0]    dmatx_tdata_iop2;
579
 
    wire [NUM_TX_STREAMS-1:0]                       dmatx_tvalid_iop2, dmatx_tready_iop2;
580
 
 
581
 
    wire [(NUM_RX_STREAMS*DMA_STREAM_WIDTH)-1:0]    dmarx_tdata_iop2;
582
 
    wire [NUM_RX_STREAMS-1:0]                       dmarx_tvalid_iop2, dmarx_tready_iop2;
583
 
 
584
 
    //PCIe Express "Physical" DMA and Register logic
585
 
    LvFpga_Chinch_Interface lvfpga_chinch_inst
586
 
    (
587
 
        .aIoResetIn_n(aIoResetIn_n),
588
 
        .bBusReset(),   //Output
589
 
 
590
 
        // Clocks
591
 
        .BusClk(ioport2_clk),
592
 
        .Rio40Clk(rio40_clk),
593
 
        .IDelayRefClk(ioport2_idelay_ref_clk),
594
 
        .aRioClkPllLocked(rio40_clk_locked),
595
 
        .aRioClkPllReset(rio40_clk_reset),
596
 
 
597
 
        // The IO_Port2 asynchronous handshaking pins
598
 
        .aIoReadyOut(aIoReadyOut),
599
 
        .aIoReadyIn(aIoReadyIn),
600
 
        .aIoPort2Restart(aIoPort2Restart),
601
 
 
602
 
        // The IO_Port2 high speed receiver pins
603
 
        .IoRxClock(IoRxClock),
604
 
        .IoRxClock_n(IoRxClock_n),
605
 
        .irIoRxData(irIoRxData),
606
 
        .irIoRxData_n(irIoRxData_n),
607
 
        .irIoRxHeader(irIoRxHeader),
608
 
        .irIoRxHeader_n(irIoRxHeader_n),
609
 
 
610
 
        // The IO_Port2 high speed transmitter interface pins
611
 
        .IoTxClock(IoTxClock),
612
 
        .IoTxClock_n(IoTxClock_n),
613
 
        .itIoTxData(itIoTxData),
614
 
        .itIoTxData_n(itIoTxData_n),
615
 
        .itIoTxHeader(itIoTxHeader),
616
 
        .itIoTxHeader_n(itIoTxHeader_n),
617
 
 
618
 
        // DMA TX Fifos
619
 
        .bDmaTxData(dmatx_tdata_iop2),
620
 
        .bDmaTxValid(dmatx_tvalid_iop2),
621
 
        .bDmaTxReady(dmatx_tready_iop2),
622
 
        .bDmaTxEnabled(),
623
 
        .bDmaTxFifoFullCnt(),
624
 
 
625
 
        // DMA RX Fifos
626
 
        .bDmaRxData(dmarx_tdata_iop2),
627
 
        .bDmaRxValid(dmarx_tvalid_iop2),
628
 
        .bDmaRxReady(dmarx_tready_iop2),
629
 
        .bDmaRxEnabled(),
630
 
        .bDmaRxFifoFreeCnt(),
631
 
 
632
 
        // User Register Port In
633
 
        .bUserRegPortInWt(pcie_usr_reg_wr),
634
 
        .bUserRegPortInRd(pcie_usr_reg_rd),
635
 
        .bUserRegPortInAddr(pcie_usr_reg_addr),
636
 
        .bUserRegPortInData(pcie_usr_reg_data_in),
637
 
        .bUserRegPortInSize(pcie_usr_reg_len),
638
 
 
639
 
        // User Register Port Out
640
 
        .bUserRegPortOutData(pcie_usr_reg_data_out),
641
 
        .bUserRegPortOutDataValid(pcie_usr_reg_rc),
642
 
        .bUserRegPortOutReady(pcie_usr_reg_rdy),
643
 
 
644
 
        // Chinch Register Port Out
645
 
        .bChinchRegPortOutWt(chinch_reg_wr),
646
 
        .bChinchRegPortOutRd(chinch_reg_rd),
647
 
        .bChinchRegPortOutAddr({12'h0, chinch_reg_addr}),
648
 
        .bChinchRegPortOutData({32'h0, chinch_reg_data_out}),
649
 
        .bChinchRegPortOutSize(chinch_reg_len),
650
 
 
651
 
        // User Register Port In
652
 
        .bChinchRegPortInData(chinch_reg_data_in),
653
 
        .bChinchRegPortInDataValid(chinch_reg_rc),
654
 
        .bChinchRegPortInReady(chinch_reg_rdy),
655
 
 
656
 
        // Level interrupt
657
 
        .aIrq(aIrq)
658
 
    );
659
 
 
660
 
    //PCIe Express adapter logic to link to the AXI crossbar and the WB bus
661
 
    x300_pcie_int #(
662
 
        .DMA_STREAM_WIDTH(DMA_STREAM_WIDTH),
663
 
        .NUM_TX_STREAMS(NUM_TX_STREAMS),
664
 
        .NUM_RX_STREAMS(NUM_RX_STREAMS),
665
 
        .REGPORT_ADDR_WIDTH(20),
666
 
        .REGPORT_DATA_WIDTH(32),
667
 
        .IOP2_MSG_WIDTH(IOP2_MSG_WIDTH)
668
 
    ) x300_pcie_int (
669
 
        .ioport2_clk(ioport2_clk),
670
 
        .bus_clk(bus_clk),
671
 
        .bus_rst(bus_rst),
672
 
 
673
 
        //DMA TX FIFOs (IoPort2 Clock Domain)
674
 
        .dmatx_tdata_iop2(dmatx_tdata_iop2),
675
 
        .dmatx_tvalid_iop2(dmatx_tvalid_iop2),
676
 
        .dmatx_tready_iop2(dmatx_tready_iop2),
677
 
 
678
 
        //DMA TX FIFOs (IoPort2 Clock Domain)
679
 
        .dmarx_tdata_iop2(dmarx_tdata_iop2),
680
 
        .dmarx_tvalid_iop2(dmarx_tvalid_iop2),
681
 
        .dmarx_tready_iop2(dmarx_tready_iop2),
682
 
 
683
 
        //PCIe User Regport
684
 
        .pcie_usr_reg_wr(pcie_usr_reg_wr),
685
 
        .pcie_usr_reg_rd(pcie_usr_reg_rd),
686
 
        .pcie_usr_reg_addr(pcie_usr_reg_addr),
687
 
        .pcie_usr_reg_data_in(pcie_usr_reg_data_in),
688
 
        .pcie_usr_reg_len(pcie_usr_reg_len),
689
 
        .pcie_usr_reg_data_out(pcie_usr_reg_data_out),
690
 
        .pcie_usr_reg_rc(pcie_usr_reg_rc),
691
 
        .pcie_usr_reg_rdy(pcie_usr_reg_rdy),
692
 
 
693
 
        //Chinch Regport
694
 
        .chinch_reg_wr(chinch_reg_wr),
695
 
        .chinch_reg_rd(chinch_reg_rd),
696
 
        .chinch_reg_addr(chinch_reg_addr),
697
 
        .chinch_reg_data_out(chinch_reg_data_out),
698
 
        .chinch_reg_len(chinch_reg_len),
699
 
        .chinch_reg_data_in(chinch_reg_data_in[31:0]),
700
 
        .chinch_reg_rc(chinch_reg_rc),
701
 
        .chinch_reg_rdy(chinch_reg_rdy),
702
 
 
703
 
        //DMA TX FIFO (Bus Clock Domain)
704
 
        .dmatx_tdata(dmatx_tdata),
705
 
        .dmatx_tlast(dmatx_tlast),
706
 
        .dmatx_tvalid(dmatx_tvalid),
707
 
        .dmatx_tready(dmatx_tready),
708
 
 
709
 
        //DMA RX FIFO (Bus Clock Domain)
710
 
        .dmarx_tdata(dmarx_tdata),
711
 
        .dmarx_tlast(dmarx_tlast),
712
 
        .dmarx_tvalid(dmarx_tvalid),
713
 
        .dmarx_tready(dmarx_tready),
714
 
 
715
 
        //Message FIFO Out (Bus Clock Domain)
716
 
        .rego_tdata(o_iop2_msg_tdata),
717
 
        .rego_tvalid(o_iop2_msg_tvalid),
718
 
        .rego_tlast(o_iop2_msg_tlast),
719
 
        .rego_tready(o_iop2_msg_tready),
720
 
 
721
 
        //Message FIFO In (Bus Clock Domain)
722
 
        .regi_tdata(i_iop2_msg_tdata),
723
 
        .regi_tvalid(i_iop2_msg_tvalid),
724
 
        .regi_tlast(i_iop2_msg_tlast),
725
 
        .regi_tready(i_iop2_msg_tready),
726
 
 
727
 
        //Misc
728
 
        .misc_status({31'h0, aStc3Gpio7}),
729
 
        .debug()
730
 
    );
 
550
   localparam IOP2_MSG_WIDTH       = 64;
 
551
   localparam DMA_STREAM_WIDTH     = `LVFPGA_IFACE_DMA_CHAN_WIDTH;
 
552
   localparam DMA_COUNT_WIDTH      = `LVFPGA_IFACE_DMA_SIZE_WIDTH;
 
553
   localparam NUM_TX_STREAMS       = `LVFPGA_IFACE_NUM_TX_DMA_CNT;
 
554
   localparam NUM_RX_STREAMS       = `LVFPGA_IFACE_NUM_RX_DMA_CNT;
 
555
   localparam TX_STREAM_START_IDX  = `LVFPGA_IFACE_TX_DMA_INDEX;
 
556
   localparam RX_STREAM_START_IDX  = `LVFPGA_IFACE_RX_DMA_INDEX;
 
557
 
 
558
   wire [DMA_STREAM_WIDTH-1:0] dmatx_tdata,  dmarx_tdata,  pcii_tdata,  pcio_tdata;
 
559
   wire                        dmatx_tvalid, dmarx_tvalid, pcii_tvalid, pcio_tvalid;
 
560
   wire                        dmatx_tlast,  dmarx_tlast,  pcii_tlast,  pcio_tlast;
 
561
   wire                        dmatx_tready, dmarx_tready, pcii_tready, pcio_tready;
 
562
 
 
563
   wire [IOP2_MSG_WIDTH-1:0]   o_iop2_msg_tdata, i_iop2_msg_tdata;
 
564
   wire                        o_iop2_msg_tvalid, o_iop2_msg_tlast, o_iop2_msg_tready;
 
565
   wire                        i_iop2_msg_tvalid, i_iop2_msg_tlast, i_iop2_msg_tready;
 
566
 
 
567
   wire            pcie_usr_reg_wr, pcie_usr_reg_rd, pcie_usr_reg_rc, pcie_usr_reg_rdy;
 
568
   wire [1:0]      pcie_usr_reg_len;
 
569
   wire [19:0]     pcie_usr_reg_addr;
 
570
   wire [31:0]     pcie_usr_reg_data_in, pcie_usr_reg_data_out;
 
571
 
 
572
   wire            chinch_reg_wr, chinch_reg_rd, chinch_reg_rc, chinch_reg_rdy;
 
573
   wire [1:0]      chinch_reg_len;
 
574
   wire [19:0]     chinch_reg_addr;
 
575
   wire [31:0]     chinch_reg_data_out;
 
576
   wire [63:0]     chinch_reg_data_in;
 
577
 
 
578
   wire [(NUM_TX_STREAMS*DMA_STREAM_WIDTH)-1:0]    dmatx_tdata_iop2;
 
579
   wire [NUM_TX_STREAMS-1:0]                       dmatx_tvalid_iop2, dmatx_tready_iop2;
 
580
 
 
581
   wire [(NUM_RX_STREAMS*DMA_STREAM_WIDTH)-1:0]    dmarx_tdata_iop2;
 
582
   wire [NUM_RX_STREAMS-1:0]                       dmarx_tvalid_iop2, dmarx_tready_iop2;
 
583
 
 
584
   //PCIe Express "Physical" DMA and Register logic
 
585
   LvFpga_Chinch_Interface lvfpga_chinch_inst
 
586
   (
 
587
      .aIoResetIn_n(aIoResetIn_n),
 
588
      .bBusReset(),   //Output
 
589
 
 
590
      // Clocks
 
591
      .BusClk(ioport2_clk),
 
592
      .Rio40Clk(rio40_clk),
 
593
      .IDelayRefClk(ioport2_idelay_ref_clk),
 
594
      .aRioClkPllLocked(rio40_clk_locked),
 
595
      .aRioClkPllReset(rio40_clk_reset),
 
596
 
 
597
      // The IO_Port2 asynchronous handshaking pins
 
598
      .aIoReadyOut(aIoReadyOut),
 
599
      .aIoReadyIn(aIoReadyIn),
 
600
      .aIoPort2Restart(aIoPort2Restart),
 
601
 
 
602
      // The IO_Port2 high speed receiver pins
 
603
      .IoRxClock(IoRxClock),
 
604
      .IoRxClock_n(IoRxClock_n),
 
605
      .irIoRxData(irIoRxData),
 
606
      .irIoRxData_n(irIoRxData_n),
 
607
      .irIoRxHeader(irIoRxHeader),
 
608
      .irIoRxHeader_n(irIoRxHeader_n),
 
609
 
 
610
      // The IO_Port2 high speed transmitter interface pins
 
611
      .IoTxClock(IoTxClock),
 
612
      .IoTxClock_n(IoTxClock_n),
 
613
      .itIoTxData(itIoTxData),
 
614
      .itIoTxData_n(itIoTxData_n),
 
615
      .itIoTxHeader(itIoTxHeader),
 
616
      .itIoTxHeader_n(itIoTxHeader_n),
 
617
 
 
618
      // DMA TX Fifos
 
619
      .bDmaTxData(dmatx_tdata_iop2),
 
620
      .bDmaTxValid(dmatx_tvalid_iop2),
 
621
      .bDmaTxReady(dmatx_tready_iop2),
 
622
      .bDmaTxEnabled(),
 
623
      .bDmaTxFifoFullCnt(),
 
624
 
 
625
      // DMA RX Fifos
 
626
      .bDmaRxData(dmarx_tdata_iop2),
 
627
      .bDmaRxValid(dmarx_tvalid_iop2),
 
628
      .bDmaRxReady(dmarx_tready_iop2),
 
629
      .bDmaRxEnabled(),
 
630
      .bDmaRxFifoFreeCnt(),
 
631
 
 
632
      // User Register Port In
 
633
      .bUserRegPortInWt(pcie_usr_reg_wr),
 
634
      .bUserRegPortInRd(pcie_usr_reg_rd),
 
635
      .bUserRegPortInAddr(pcie_usr_reg_addr),
 
636
      .bUserRegPortInData(pcie_usr_reg_data_in),
 
637
      .bUserRegPortInSize(pcie_usr_reg_len),
 
638
 
 
639
      // User Register Port Out
 
640
      .bUserRegPortOutData(pcie_usr_reg_data_out),
 
641
      .bUserRegPortOutDataValid(pcie_usr_reg_rc),
 
642
      .bUserRegPortOutReady(pcie_usr_reg_rdy),
 
643
 
 
644
      // Chinch Register Port Out
 
645
      .bChinchRegPortOutWt(chinch_reg_wr),
 
646
      .bChinchRegPortOutRd(chinch_reg_rd),
 
647
      .bChinchRegPortOutAddr({12'h0, chinch_reg_addr}),
 
648
      .bChinchRegPortOutData({32'h0, chinch_reg_data_out}),
 
649
      .bChinchRegPortOutSize(chinch_reg_len),
 
650
 
 
651
      // User Register Port In
 
652
      .bChinchRegPortInData(chinch_reg_data_in),
 
653
      .bChinchRegPortInDataValid(chinch_reg_rc),
 
654
      .bChinchRegPortInReady(chinch_reg_rdy),
 
655
 
 
656
      // Level interrupt
 
657
      .aIrq(aIrq)
 
658
   );
 
659
 
 
660
   //PCIe Express adapter logic to link to the AXI crossbar and the WB bus
 
661
   x300_pcie_int #(
 
662
      .DMA_STREAM_WIDTH(DMA_STREAM_WIDTH),
 
663
      .NUM_TX_STREAMS(NUM_TX_STREAMS),
 
664
      .NUM_RX_STREAMS(NUM_RX_STREAMS),
 
665
      .REGPORT_ADDR_WIDTH(20),
 
666
      .REGPORT_DATA_WIDTH(32),
 
667
      .IOP2_MSG_WIDTH(IOP2_MSG_WIDTH)
 
668
   ) x300_pcie_int (
 
669
      .ioport2_clk(ioport2_clk),
 
670
      .bus_clk(bus_clk),
 
671
      .bus_rst(bus_rst),
 
672
 
 
673
      //DMA TX FIFOs (IoPort2 Clock Domain)
 
674
      .dmatx_tdata_iop2(dmatx_tdata_iop2),
 
675
      .dmatx_tvalid_iop2(dmatx_tvalid_iop2),
 
676
      .dmatx_tready_iop2(dmatx_tready_iop2),
 
677
 
 
678
      //DMA TX FIFOs (IoPort2 Clock Domain)
 
679
      .dmarx_tdata_iop2(dmarx_tdata_iop2),
 
680
      .dmarx_tvalid_iop2(dmarx_tvalid_iop2),
 
681
      .dmarx_tready_iop2(dmarx_tready_iop2),
 
682
 
 
683
      //PCIe User Regport
 
684
      .pcie_usr_reg_wr(pcie_usr_reg_wr),
 
685
      .pcie_usr_reg_rd(pcie_usr_reg_rd),
 
686
      .pcie_usr_reg_addr(pcie_usr_reg_addr),
 
687
      .pcie_usr_reg_data_in(pcie_usr_reg_data_in),
 
688
      .pcie_usr_reg_len(pcie_usr_reg_len),
 
689
      .pcie_usr_reg_data_out(pcie_usr_reg_data_out),
 
690
      .pcie_usr_reg_rc(pcie_usr_reg_rc),
 
691
      .pcie_usr_reg_rdy(pcie_usr_reg_rdy),
 
692
 
 
693
      //Chinch Regport
 
694
      .chinch_reg_wr(chinch_reg_wr),
 
695
      .chinch_reg_rd(chinch_reg_rd),
 
696
      .chinch_reg_addr(chinch_reg_addr),
 
697
      .chinch_reg_data_out(chinch_reg_data_out),
 
698
      .chinch_reg_len(chinch_reg_len),
 
699
      .chinch_reg_data_in(chinch_reg_data_in[31:0]),
 
700
      .chinch_reg_rc(chinch_reg_rc),
 
701
      .chinch_reg_rdy(chinch_reg_rdy),
 
702
 
 
703
      //DMA TX FIFO (Bus Clock Domain)
 
704
      .dmatx_tdata(dmatx_tdata),
 
705
      .dmatx_tlast(dmatx_tlast),
 
706
      .dmatx_tvalid(dmatx_tvalid),
 
707
      .dmatx_tready(dmatx_tready),
 
708
 
 
709
      //DMA RX FIFO (Bus Clock Domain)
 
710
      .dmarx_tdata(dmarx_tdata),
 
711
      .dmarx_tlast(dmarx_tlast),
 
712
      .dmarx_tvalid(dmarx_tvalid),
 
713
      .dmarx_tready(dmarx_tready),
 
714
 
 
715
      //Message FIFO Out (Bus Clock Domain)
 
716
      .rego_tdata(o_iop2_msg_tdata),
 
717
      .rego_tvalid(o_iop2_msg_tvalid),
 
718
      .rego_tlast(o_iop2_msg_tlast),
 
719
      .rego_tready(o_iop2_msg_tready),
 
720
 
 
721
      //Message FIFO In (Bus Clock Domain)
 
722
      .regi_tdata(i_iop2_msg_tdata),
 
723
      .regi_tvalid(i_iop2_msg_tvalid),
 
724
      .regi_tlast(i_iop2_msg_tlast),
 
725
      .regi_tready(i_iop2_msg_tready),
 
726
 
 
727
      //Misc
 
728
      .misc_status({15'h0, aStc3Gpio7}),
 
729
      .debug()
 
730
   );
 
731
 
 
732
   // The PCIe logic will tend to stay close to the physical IoPort2 pins
 
733
   // so add an additional stage of pipelining to give the tool more routing
 
734
   // slack. This is significantly help timing closure.
 
735
   
 
736
   axi_fifo_short #(.WIDTH(DMA_STREAM_WIDTH+1)) pcii_pipeline_srl (
 
737
      .clk(bus_clk), .reset(bus_rst), .clear(1'b0),
 
738
      .i_tdata({dmatx_tlast, dmatx_tdata}), .i_tvalid(dmatx_tvalid), .i_tready(dmatx_tready),
 
739
      .o_tdata({pcii_tlast, pcii_tdata}), .o_tvalid(pcii_tvalid), .o_tready(pcii_tready),
 
740
      .space(), .occupied());
 
741
 
 
742
   axi_fifo_short #(.WIDTH(DMA_STREAM_WIDTH+1)) pcio_pipeline_srl (
 
743
      .clk(bus_clk), .reset(bus_rst), .clear(1'b0),
 
744
      .i_tdata({pcio_tlast, pcio_tdata}), .i_tvalid(pcio_tvalid), .i_tready(pcio_tready),
 
745
      .o_tdata({dmarx_tlast, dmarx_tdata}), .o_tvalid(dmarx_tvalid), .o_tready(dmarx_tready),
 
746
      .space(), .occupied());
731
747
 
732
748
   //////////////////////////////////////////////////////////////////////
733
749
   //
1936
1952
      .i_iop2_msg_tlast          (i_iop2_msg_tlast),
1937
1953
      .i_iop2_msg_tready         (i_iop2_msg_tready),
1938
1954
      // PCIe DMA Data
1939
 
      .pcio_tdata                (dmarx_tdata),
1940
 
      .pcio_tlast                (dmarx_tlast),
1941
 
      .pcio_tvalid               (dmarx_tvalid),
1942
 
      .pcio_tready               (dmarx_tready),
1943
 
      .pcii_tdata                (dmatx_tdata),
1944
 
      .pcii_tlast                (dmatx_tlast),
1945
 
      .pcii_tvalid               (dmatx_tvalid),
1946
 
      .pcii_tready               (dmatx_tready)
 
1955
      .pcio_tdata                (pcio_tdata),
 
1956
      .pcio_tlast                (pcio_tlast),
 
1957
      .pcio_tvalid               (pcio_tvalid),
 
1958
      .pcio_tready               (pcio_tready),
 
1959
      .pcii_tdata                (pcii_tdata),
 
1960
      .pcii_tlast                (pcii_tlast),
 
1961
      .pcii_tvalid               (pcii_tvalid),
 
1962
      .pcii_tready               (pcii_tready)
1947
1963
      );
1948
1964
 
1949
1965