|
|
@@ -1,33 +1,30 @@
|
|
|
module EpSubSystem #(
|
|
|
parameter AXI_DATA_WIDTH = 64,
|
|
|
- parameter SPI_NUM = 1,
|
|
|
+ parameter SPI_NUM = 2,
|
|
|
parameter AXI_ID_WIDTH = 4,
|
|
|
parameter STAGES = 3,
|
|
|
parameter [3:0] ISTEMPRD = 4'b0001,
|
|
|
parameter [3:0] ISPOWERRST = 4'b0001,
|
|
|
|
|
|
- parameter FIFO_TX1_ADDR = 64'h0000000000001028,
|
|
|
- parameter FIFO_TX2_ADDR = 64'h0000000000002028,
|
|
|
- parameter FIFO_TX3_ADDR = 64'h0000000000003028,
|
|
|
- parameter FIFO_TX4_ADDR = 64'h0000000000004028,
|
|
|
- parameter FIFO_TX5_ADDR = 64'h0000000000005028,
|
|
|
- parameter FIFO_TX6_ADDR = 64'h0000000000006028,
|
|
|
- parameter FIFO_TX7_ADDR = 64'h0000000000007028,
|
|
|
-
|
|
|
- parameter FIFO_1_READ_ADDR = 64'h0000_0000_0000_1030,
|
|
|
- parameter FIFO_2_READ_ADDR = 64'h0000_0000_0000_2030,
|
|
|
- parameter FIFO_3_READ_ADDR = 64'h0000_0000_0000_3030,
|
|
|
- parameter FIFO_4_READ_ADDR = 64'h0000_0000_0000_4030,
|
|
|
- parameter FIFO_5_READ_ADDR = 64'h0000_0000_0000_5030,
|
|
|
- parameter FIFO_6_READ_ADDR = 64'h0000_0000_0000_6030,
|
|
|
- parameter FIFO_7_READ_ADDR = 64'h0000_0000_0000_7030
|
|
|
+ parameter [AXI_DATA_WIDTH-1:0] SPI_BASE_ADDR = 64'h0000_0000_0000_1000,
|
|
|
+ parameter [AXI_DATA_WIDTH-1:0] RST_MEM_BASE_ADDR = 64'h0000_0000_0000_9000,
|
|
|
+ parameter [AXI_DATA_WIDTH-1:0] FIFO_TX_ADDR_OFFSET = 64'h0000_0000_0000_0028,
|
|
|
+ parameter [AXI_DATA_WIDTH-1:0] FIFO_READ_ADDR_OFFSET = 64'h0000_0000_0000_0030,
|
|
|
+ parameter [AXI_DATA_WIDTH-1:0] FIFO_1_READ_ADDR = 64'h0000_0000_0000_1030,
|
|
|
+ parameter [AXI_DATA_WIDTH-1:0] FIFO_2_READ_ADDR = 64'h0000_0000_0000_2030,
|
|
|
+ parameter [AXI_DATA_WIDTH-1:0] FIFO_3_READ_ADDR = 64'h0000_0000_0000_3030,
|
|
|
+ parameter [AXI_DATA_WIDTH-1:0] FIFO_4_READ_ADDR = 64'h0000_0000_0000_4030,
|
|
|
+ parameter [AXI_DATA_WIDTH-1:0] FIFO_5_READ_ADDR = 64'h0000_0000_0000_5030,
|
|
|
+ parameter [AXI_DATA_WIDTH-1:0] FIFO_6_READ_ADDR = 64'h0000_0000_0000_6030,
|
|
|
+ parameter [AXI_DATA_WIDTH-1:0] FIFO_7_READ_ADDR = 64'h0000_0000_0000_7030
|
|
|
)
|
|
|
(
|
|
|
AxiMMBus.master Bus,
|
|
|
|
|
|
/* Ld */
|
|
|
- input [SPI_NUM-1:0] Ld_i,
|
|
|
-
|
|
|
+ input [SPI_NUM-1:0] ArbSpiStart_i,
|
|
|
+ input [SPI_NUM-1:0] ArbSpiRst_i,
|
|
|
+ input [SPI_NUM-1:0] ArbPowRstEn_i,
|
|
|
|
|
|
output [SPI_NUM-1:0] Mosi0_o,
|
|
|
inout [SPI_NUM-1:0] Mosi1_io, //inout: when RSPI mode, input; when QSPI mode output;
|
|
|
@@ -45,74 +42,14 @@ module EpSubSystem #(
|
|
|
//================================================================================
|
|
|
// REG/WIRE
|
|
|
//================================================================================
|
|
|
-/* SPI0 */
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi0Ctrl;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi0Clk;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi0CsDelay;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi0CsCtrl;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi0TxRxFifoCtrl;
|
|
|
-
|
|
|
-/* SPI1 */
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi1Ctrl;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi1Clk;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi1CsDelay;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi1CsCtrl;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi1TxRxFifoCtrl;
|
|
|
-
|
|
|
-/* SPI2 */
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi2Ctrl;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi2Clk;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi2CsDelay;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi2CsCtrl;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi2TxRxFifoCtrl;
|
|
|
-
|
|
|
-/* SPI3 */
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi3Ctrl;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi3Clk;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi3CsDelay;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi3CsCtrl;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi3TxRxFifoCtrl;
|
|
|
-
|
|
|
-/* SPI4 */
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi4Ctrl;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi4Clk;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi4CsDelay;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi4CsCtrl;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi4TxRxFifoCtrl;
|
|
|
-
|
|
|
-/* SPI5 */
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi5Ctrl;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi5Clk;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi5CsDelay;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi5CsCtrl;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi5TxRxFifoCtrl;
|
|
|
-
|
|
|
-/* SPI6 */
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi6Ctrl;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi6Clk;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi6CsDelay;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi6CsCtrl;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spi6TxRxFifoCtrl;
|
|
|
-
|
|
|
-/* Spi settings arrays */
|
|
|
-wire [AXI_DATA_WIDTH - 1 : 0] spiCtrlArray [SPI_NUM-1:0];
|
|
|
-wire [AXI_DATA_WIDTH - 1 : 0] spiClkArray [SPI_NUM-1:0];
|
|
|
-wire [AXI_DATA_WIDTH - 1 : 0] spiCsDelayArray [SPI_NUM-1:0];
|
|
|
-wire [AXI_DATA_WIDTH - 1 : 0] spiCsCtrlArray [SPI_NUM-1:0];
|
|
|
-wire [AXI_DATA_WIDTH - 1 : 0] spiTxRxFifoCtrlArray [SPI_NUM-1:0];
|
|
|
|
|
|
/* Common Regs */
|
|
|
wire [AXI_DATA_WIDTH-1:0] spiTxRxEnReg;
|
|
|
wire [AXI_DATA_WIDTH-1:0] dataFromRegMap;
|
|
|
-/* Synced Regs */
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spiCtrlRR [SPI_NUM-1:0];
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spiCsDelayRR [SPI_NUM-1:0];
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spiCsCtrlRR [SPI_NUM-1:0];
|
|
|
-wire [AXI_DATA_WIDTH-1:0] spiTxRxFifoCtrlRR [SPI_NUM-1:0];
|
|
|
|
|
|
/* AXI-Slave */
|
|
|
wire [AXI_DATA_WIDTH-1:0] rdDataToAxiSlave;
|
|
|
-wire [AXI_DATA_WIDTH-1:0] rdAddr;
|
|
|
+wire [AXI_DATA_WIDTH-1:0] rdAddrFromAxiSlave;
|
|
|
wire [AXI_DATA_WIDTH-1:0] wrDataFromAxiSlave;
|
|
|
wire [AXI_DATA_WIDTH-1:0] wrAddrFromAxiSlave;
|
|
|
wire valFromAxiSlave;
|
|
|
@@ -132,28 +69,6 @@ wire [AXI_DATA_WIDTH-1:0] toRegMapAddr;
|
|
|
wire [7:0] baudRate [SPI_NUM-1:0];
|
|
|
wire [SPI_NUM-1:0] spiClkBus;
|
|
|
|
|
|
-/* SpiSettings */
|
|
|
-wire [1:0] widthSel [SPI_NUM-1:0];
|
|
|
-wire [SPI_NUM-1:0] spiEn;
|
|
|
-wire [SPI_NUM-1:0] spiMode;
|
|
|
-wire [SPI_NUM-1:0] clockPol;
|
|
|
-wire [SPI_NUM-1:0] clockPhase;
|
|
|
-wire [SPI_NUM-1:0] endianSel;
|
|
|
-wire [SPI_NUM-1:0] selSt;
|
|
|
-wire [SPI_NUM-1:0] assel;
|
|
|
-wire [5:0] stopDelay [SPI_NUM-1:0];
|
|
|
-wire [SPI_NUM-1:0] lead;
|
|
|
-wire [SPI_NUM-1:0] lag;
|
|
|
-wire [SPI_NUM-1:0] fifoTxRst;
|
|
|
-wire [SPI_NUM-1:0] fifoRxRst;
|
|
|
-wire [SPI_NUM-1:0] txEn;
|
|
|
-
|
|
|
-wire [SPI_NUM-1:0] chipSelFpga;
|
|
|
-wire [SPI_NUM-1:0] chipSelFlash;
|
|
|
-
|
|
|
-wire [SPI_NUM-1:0] fifoRxRstRdPtr;
|
|
|
-wire [SPI_NUM-1:0] fifoTxRstWrPtr;
|
|
|
-
|
|
|
/* CDC LD */
|
|
|
wire [SPI_NUM-1:0] ldReg;
|
|
|
|
|
|
@@ -163,14 +78,7 @@ wire [AXI_DATA_WIDTH - 1 : 0] dataFromRxFifo [SPI_NUM-1:0];
|
|
|
//================================================================================
|
|
|
// ASSIGNMENTS
|
|
|
//================================================================================
|
|
|
-genvar j;
|
|
|
|
|
|
-generate
|
|
|
- for (j = 0; j < SPI_NUM; j = j +1) begin : Assignments
|
|
|
- assign fifoRxRstRdPtr[j] = spiTxRxFifoCtrlArray[j][32];
|
|
|
- assign fifoTxRstWrPtr[j] = spiTxRxFifoCtrlArray[j][0];
|
|
|
- end
|
|
|
-endgenerate
|
|
|
|
|
|
//================================================================================
|
|
|
// CODING
|
|
|
@@ -187,62 +95,10 @@ AxiSlave #(
|
|
|
.Val_o (valFromAxiSlave),
|
|
|
.ValToRdFifo_o(valToRdFifo),
|
|
|
.Data_o (wrDataFromAxiSlave),
|
|
|
- .RdAddr_o (rdAddr),
|
|
|
+ .RdAddr_o (rdAddrFromAxiSlave),
|
|
|
.Addr_o (wrAddrFromAxiSlave)
|
|
|
);
|
|
|
|
|
|
-/* Input Mux */
|
|
|
-InputMux #(
|
|
|
- .AXI_DATA_WIDTH (AXI_DATA_WIDTH),
|
|
|
- .SPI_NUM (SPI_NUM),
|
|
|
- .FIFO_TX1_ADDR (FIFO_TX1_ADDR),
|
|
|
- .FIFO_TX2_ADDR (FIFO_TX2_ADDR),
|
|
|
- .FIFO_TX3_ADDR (FIFO_TX3_ADDR),
|
|
|
- .FIFO_TX4_ADDR (FIFO_TX4_ADDR),
|
|
|
- .FIFO_TX5_ADDR (FIFO_TX5_ADDR),
|
|
|
- .FIFO_TX6_ADDR (FIFO_TX6_ADDR),
|
|
|
- .FIFO_TX7_ADDR (FIFO_TX7_ADDR)
|
|
|
-) InputMux (
|
|
|
- .Clk_i(s_axi_aclk),
|
|
|
- .RstN_i(s_axi_aresetn),
|
|
|
- .Val_i(valFromAxiSlave),
|
|
|
- .Addr_i(wrAddrFromAxiSlave),
|
|
|
- .Data_i(wrDataFromAxiSlave),
|
|
|
-
|
|
|
- .ToRegMapAddr_o(toRegMapAddr),
|
|
|
-
|
|
|
- .Val_o(dataBusVal),
|
|
|
-
|
|
|
- .Data_o(dataBus)
|
|
|
-);
|
|
|
-
|
|
|
-/* Register Map */
|
|
|
-RegMap #(
|
|
|
- .AXI_DATA_WIDTH (AXI_DATA_WIDTH),
|
|
|
- .SPI_NUM (SPI_NUM)
|
|
|
-) RegMap (
|
|
|
- .Clk_i(s_axi_aclk),
|
|
|
- .RstN_i(s_axi_aresetn),
|
|
|
- .WrData_i(dataBus),
|
|
|
- .WrAddr_i(toRegMapAddr),
|
|
|
- .RdAddr_i(rdAddr),
|
|
|
- .Val_i(dataBusVal[SPI_NUM]),
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- .SpiCtrlReg_o(spiCtrlArray),
|
|
|
- .SpiClkReg_o(spiClkArray),
|
|
|
- .SpiCsDelayReg_o(spiCsDelayArray),
|
|
|
- .SpiCsCtrlReg_o(spiCsCtrlArray),
|
|
|
- .SpiTxRxFifoCtrlReg_o(spiTxRxFifoCtrlArray),
|
|
|
-
|
|
|
- .SpiTxRxEnReg_o(spiTxRxEnReg),
|
|
|
-
|
|
|
- .AnsDataReg_o(dataFromRegMap)
|
|
|
-
|
|
|
-);
|
|
|
-
|
|
|
-/* Clock Manager */
|
|
|
ClkManager #(
|
|
|
.SPI_NUM (SPI_NUM),
|
|
|
.STAGES (STAGES)
|
|
|
@@ -250,76 +106,17 @@ ClkManager #(
|
|
|
) ClkManager
|
|
|
(
|
|
|
.Clk_i(s_axi_aclk),
|
|
|
- .Rst_i(~s_axi_aresetn),
|
|
|
- .BaudRate_i (baudRate),
|
|
|
- .SpiClk_o(spiClkBus),
|
|
|
- .SubSystSyncRst_o(spiSubSysRst)
|
|
|
-
|
|
|
-);
|
|
|
-
|
|
|
-/* CDC Block */
|
|
|
-CDC #(
|
|
|
- .WIDTH (AXI_DATA_WIDTH),
|
|
|
- .STAGES (STAGES),
|
|
|
- .SPI_NUM (SPI_NUM)
|
|
|
-) synchronizer
|
|
|
-(
|
|
|
- .ClkFast_i (s_axi_aclk),
|
|
|
- .ClkSlow_i (spiClkBus),
|
|
|
-
|
|
|
- .SpiCtrlReg_i (spiCtrlArray),
|
|
|
- .SpiCsCtrlReg_i (spiCsCtrlArray),
|
|
|
- .SpiCsDelayReg_i (spiCsDelayArray),
|
|
|
- .SpiTxRxFifoCtrlReg_i (spiTxRxFifoCtrlArray),
|
|
|
+ .RstN_i(~s_axi_aresetn),
|
|
|
|
|
|
- .SpiCtrlReg_o (spiCtrlRR),
|
|
|
- .SpiCsCtrlReg_o (spiCsCtrlRR),
|
|
|
- .SpiCsDelayReg_o (spiCsDelayRR),
|
|
|
- .SpiTxRxFifoCtrlReg_o (spiTxRxFifoCtrlRR)
|
|
|
-
|
|
|
-);
|
|
|
+ .WrData_i(wrDataFromAxiSlave),
|
|
|
+ .WrAddr_i(wrAddrFromAxiSlave),
|
|
|
+ .Val_i(valFromAxiSlave),
|
|
|
|
|
|
-/* Spi Settings Block */
|
|
|
-SpiSettings #(
|
|
|
- .AXI_DATA_WIDTH(AXI_DATA_WIDTH),
|
|
|
- .SPI_NUM(SPI_NUM)
|
|
|
-) spiSettings (
|
|
|
- .SpiCtrlReg_i(spiCtrlRR),
|
|
|
- .SpiCsDelayReg_i(spiCsDelayRR),
|
|
|
- .SpiClkReg_i(spiClkArray),
|
|
|
- .SpiCsCtrlReg_i(spiCsCtrlRR),
|
|
|
- .SpiTxRxFifoCtrlReg_i(spiTxRxFifoCtrlRR),
|
|
|
-
|
|
|
- .SpiTxRxEnReg_i(spiTxRxEnReg),
|
|
|
-
|
|
|
- .WidthSel_o(widthSel),
|
|
|
- .SpiEn_o(spiEn),
|
|
|
- .SpiMode_o(spiMode),
|
|
|
- .ClockPol_o(clockPol),
|
|
|
- .ClockPhase_o(clockPhase),
|
|
|
- .EndianSel_o(endianSel),
|
|
|
- .SelSt_o(selSt),
|
|
|
- .Assel(assel),
|
|
|
- .StopDelay_o(stopDelay),
|
|
|
- .Lead_o(lead),
|
|
|
- .Lag_o(lag),
|
|
|
-
|
|
|
- .BaudRate_o(baudRate),
|
|
|
- .SpiRst_o(SpiRst_o),
|
|
|
-
|
|
|
- .FifoRxRst_o(fifoRxRst),
|
|
|
- .FifoTxRst_o(fifoTxRst),
|
|
|
-
|
|
|
- .ChipSelFpga_o(chipSelFpga),
|
|
|
- .ChipSelFlash_o(chipSelFlash),
|
|
|
- .SpiDir_o(SpiDir_o),
|
|
|
-
|
|
|
- .TxEn_o(txEn)
|
|
|
+ .SpiClk_o(spiClkBus),
|
|
|
+ .SubSystSyncRst_o(spiSubSysRst)
|
|
|
|
|
|
);
|
|
|
|
|
|
-/* Generate block */
|
|
|
-
|
|
|
genvar i;
|
|
|
|
|
|
generate
|
|
|
@@ -327,46 +124,28 @@ generate
|
|
|
|
|
|
SpiSubSystem #(
|
|
|
.STAGES (STAGES),
|
|
|
+ .AXI_DATA_WIDTH (AXI_DATA_WIDTH),
|
|
|
.CMD_REG_WIDTH (AXI_DATA_WIDTH),
|
|
|
.ADDR_REG_WIDTH (AXI_DATA_WIDTH),
|
|
|
.WIDTH (1),
|
|
|
- .FIFO_NUM (SPI_NUM),
|
|
|
.ISTEMPRD (ISTEMPRD[i]),
|
|
|
- .ISPOWERRST (ISPOWERRST[i])
|
|
|
+ .ISPOWERRST (ISPOWERRST[i]),
|
|
|
+ .SPI_BASE_ADDR (SPI_BASE_ADDR*i+64'h1000),
|
|
|
+ .RST_MEM_BASE_ADDR (RST_MEM_BASE_ADDR*i)
|
|
|
) SpiSubSystem (
|
|
|
.Clk_i(s_axi_aclk),
|
|
|
.SpiClk_i(spiClkBus[i]),
|
|
|
- .Rst_i(spiSubSysRst),
|
|
|
- .TxEn_i(txEn[i]),
|
|
|
-
|
|
|
- .FifoRxRst_i(fifoRxRst[i]),
|
|
|
- .FifoTxRst_i(fifoTxRst[i]),
|
|
|
- .FifoRxRstRdPtr_i(fifoRxRstRdPtr[i]),
|
|
|
- .FifoTxRstWrPtr_i(fifoTxRstWrPtr[i]),
|
|
|
-
|
|
|
- .ToFifoVal_i(dataBusVal[i]),
|
|
|
- .ToRstMemVal_i(dataBusVal[i]),
|
|
|
- .ToFifoData_i(dataBus),
|
|
|
-
|
|
|
- .WidthSel_i(widthSel[i]),
|
|
|
- .PulsePol_i(clockPol[i]),
|
|
|
- .ClockPhase_i(clockPhase[i]),
|
|
|
- .EndianSel_i(endianSel[i]),
|
|
|
- .Lag_i(lag[i]),
|
|
|
- .Lead_i(lead[i]),
|
|
|
- .SelSt_i(selSt[i]),
|
|
|
- .Stop_i(stopDelay[i]),
|
|
|
- .Assel_i(assel[i]),
|
|
|
-
|
|
|
- .ChipSelFpga_i(chipSelFpga[i]),
|
|
|
- .ChipSelFlash_i(chipSelFlash[i]),
|
|
|
-
|
|
|
- .SpiMode_i(spiMode[i]),
|
|
|
- .SpiEn_i(spiEn[i]),
|
|
|
-
|
|
|
- .TxFifoCtrlReg_o(),
|
|
|
- .RxFifoCtrlReg_o(),
|
|
|
- .DataFromRxFifo_o(dataFromRxFifo[i]),
|
|
|
+ .Rst_i(spiSubSysRst|ArbSpiRst_i[i]),
|
|
|
+
|
|
|
+ .WrData_i(wrDataFromAxiSlave),
|
|
|
+ .WrAddr_i(wrAddrFromAxiSlave),
|
|
|
+ .RdAddr_i(rdAddrFromAxiSlave),
|
|
|
+ .Val_i(valFromAxiSlave),
|
|
|
+
|
|
|
+ .PowRstEn_i(ArbPowRstEn_i[i]),
|
|
|
+ .TxEn_i(ArbSpiStart_i[i]),
|
|
|
+
|
|
|
+ .RdData_o(dataFromRxFifo[i]),
|
|
|
|
|
|
.Sck_o(Sck_o[i]),
|
|
|
.Ss_o(Ss_o[i]),
|
|
|
@@ -374,33 +153,16 @@ generate
|
|
|
.Mosi0_o(Mosi0_o[i]),
|
|
|
.Mosi1_io(Mosi1_io[i]),
|
|
|
.Mosi2_o(Mosi2_o[i]),
|
|
|
- .Mosi3_o(Mosi3_o[i]),
|
|
|
-
|
|
|
- .Ctrl_i(),
|
|
|
- .TempData_o()
|
|
|
- );
|
|
|
-
|
|
|
- xpm_cdc_single #(
|
|
|
- .DEST_SYNC_FF (3),
|
|
|
- .INIT_SYNC_FF (0),
|
|
|
- .SIM_ASSERT_CHK (0),
|
|
|
- .SRC_INPUT_REG (1)
|
|
|
- )
|
|
|
- xpm_cdc_single_inst(
|
|
|
- .dest_out (ldReg[i]),
|
|
|
-
|
|
|
- .dest_clk (s_axi_aclk),
|
|
|
- .src_clk (spiClkBus[i]),
|
|
|
- .src_in (Ld_i[i])
|
|
|
- );
|
|
|
-
|
|
|
+ .Mosi3_o(Mosi3_o[i])
|
|
|
+ );
|
|
|
end
|
|
|
endgenerate
|
|
|
|
|
|
/* Output Mux */
|
|
|
-OutputMux #(
|
|
|
- .AXI_DATA_WIDTH (AXI_DATA_WIDTH),
|
|
|
- .SPI_NUM (SPI_NUM),
|
|
|
+OutputMux
|
|
|
+#(
|
|
|
+ .AXI_DATA_WIDTH (AXI_DATA_WIDTH),
|
|
|
+ .SPI_NUM (SPI_NUM),
|
|
|
.FIFO_1_READ_ADDR (FIFO_1_READ_ADDR),
|
|
|
.FIFO_2_READ_ADDR (FIFO_2_READ_ADDR),
|
|
|
.FIFO_3_READ_ADDR (FIFO_3_READ_ADDR),
|
|
|
@@ -408,13 +170,14 @@ OutputMux #(
|
|
|
.FIFO_5_READ_ADDR (FIFO_5_READ_ADDR),
|
|
|
.FIFO_6_READ_ADDR (FIFO_6_READ_ADDR),
|
|
|
.FIFO_7_READ_ADDR (FIFO_7_READ_ADDR)
|
|
|
-) OutputMux (
|
|
|
+)
|
|
|
+OutputMux (
|
|
|
.Clk_i(s_axi_aclk),
|
|
|
.RstN_i(s_axi_aresetn),
|
|
|
|
|
|
.DataFromRxFifo_i(dataFromRxFifo),
|
|
|
.DataFromRegMap_i(dataFromRegMap),
|
|
|
- .Addr_i(rdAddr),
|
|
|
+ .Addr_i(rdAddrFromAxiSlave),
|
|
|
|
|
|
.AnsData_o(rdDataToAxiSlave)
|
|
|
);
|