Ver código fonte

Добавил маску LD.

Anatoliy Chigirinskiy 9 meses atrás
pai
commit
9a1186779c
2 arquivos alterados com 33 adições e 2 exclusões
  1. 20 0
      sources_1/new/RegMap/RegMap.v
  2. 13 2
      sources_1/new/S5443_3Top.v

+ 20 - 0
sources_1/new/RegMap/RegMap.v

@@ -115,6 +115,7 @@ module RegMap #(
 	output reg [CMD_REG_WIDTH/2-1:0] SpiTxRxEnSetReg_o,
 	output reg [CMD_REG_WIDTH/2-1:0] SpiTxRxEnClrReg_o,
 	output [CMD_REG_WIDTH-1:0] GPIOAReg_o,
+	output reg [CMD_REG_WIDTH/2-1:0] LdMaskReg_o,
 
 	output [CMD_REG_WIDTH/2-1:0] AnsDataReg_o,
 	
@@ -233,6 +234,9 @@ module RegMap #(
 	localparam GPIO_CTRL_ADDR 	= 12'hFF0;
 	localparam GPIO_CTRL_ADDR_S = 12'hFF2;
 
+	/* LD Mask and LD Register */
+	localparam LD_REG_ADDR = 12'hFF4;
+	localparam LD_MASK_ADDR = 12'hFF8;
 
 //================================================================================
 //  CODING
@@ -292,6 +296,7 @@ module RegMap #(
 			spiTxRxEnReg 		<= 0;
 			SpiTxRxEnSetReg_o 	<= 0;
 			SpiTxRxEnClrReg_o 	<= 0;
+			LdMaskReg_o 		<= 0;
 			GPIOAReg 			<= 0;
 			GPIOARegS 			<= 0;
 			ledReg 				<= 0;
@@ -436,6 +441,9 @@ module RegMap #(
 							SPI_TX_RX_EN_CLR : begin 
 								spiTxRxEnReg <= (spiTxRxEnReg) & (~Data_i);
 							end
+							LD_MASK_ADDR : begin 
+								LdMaskReg_o <= Data_i;
+							end
 							GPIO_CTRL_ADDR : begin 
 								GPIOAReg <= Data_i;
 							end
@@ -581,6 +589,9 @@ module RegMap #(
 							SPI_TX_RX_EN_CLR : begin 
 								spiTxRxEnReg[15:8] <= (spiTxRxEnReg[15:8]) & (~Data_i[15:8]);
 							end
+							LD_MASK_ADDR : begin 
+								LdMaskReg_o[15:8] <= Data_i[15:8];
+							end
 							GPIO_CTRL_ADDR : begin 
 								GPIOAReg[15:8] <= Data_i[15:8];
 							end
@@ -726,6 +737,9 @@ module RegMap #(
 							SPI_TX_RX_EN_CLR : begin 
 								spiTxRxEnReg[7:0] <= (spiTxRxEnReg[7:0]) & (~Data_i[7:0]);
 							end
+							LD_MASK_ADDR : begin 
+								LdMaskReg_o[7:0] <= Data_i[7:0];
+							end
 							GPIO_CTRL_ADDR : begin 
 								GPIOAReg[7:0] <= Data_i[7:0];
 							end
@@ -921,6 +935,12 @@ module RegMap #(
 				SPI_TX_RX_EN_CLR : begin 
 					ansReg = SpiTxRxEnClrReg_o;
 				end
+				LD_MASK_ADDR : begin 
+					ansReg = LdMaskReg_o;
+				end
+				LD_REG_ADDR : begin 
+					ansReg = {9'd0,LdReg_i};
+				end
 				SPI_TX_RX_FLAGS : begin
 					ansReg = {1'h0, RxFifoCtrlReg6_i[2], RxFifoCtrlReg5_i[2], RxFifoCtrlReg4_i[2], RxFifoCtrlReg3_i[2], RxFifoCtrlReg2_i[2], RxFifoCtrlReg1_i[2], RxFifoCtrlReg0_i[2], 1'h0, TxFifoCtrlReg6_i[2], TxFifoCtrlReg5_i[2], TxFifoCtrlReg4_i[2], TxFifoCtrlReg3_i[2], TxFifoCtrlReg2_i[2], TxFifoCtrlReg1_i[2], TxFifoCtrlReg0_i[2]};
 				end

+ 13 - 2
sources_1/new/S5443_3Top.v

@@ -195,6 +195,7 @@ module S5443_3Top
 	wire [CMD_REG_WIDTH-1:0] spiTxRxEnSet;
 	wire [CMD_REG_WIDTH-1:0] spiTxRxEnClr;
 	wire [CMD_REG_WIDTH-1:0] Gpio;
+	wire [CMD_REG_WIDTH-1:0] ldMask;
 	
 	wire [ADDR_REG_WIDTH-1:0]	toRegMapAddr;
 	wire [CMD_REG_WIDTH/2-1:0]	toRegMapData;
@@ -243,6 +244,7 @@ module S5443_3Top
 	wire [SPI_NUM-1:0] spiEn;
 
 	wire [SPI_NUM-1:0] ldReg;
+	wire [SPI_NUM-1:0] ldRegMasked;
 
 	wire [SPI_NUM-1:0] ssW;
 
@@ -399,8 +401,16 @@ module S5443_3Top
 	assign fifoTxRst[4] = spi4TxFifoCtrlRR[0];
 	assign fifoTxRst[5] = spi5TxFifoCtrlRR[0];
 	assign fifoTxRst[6] = spi6TxFifoCtrlRR[0];
+
+	assign ldRegMasked[0] = (ldMask[0]) ? ldReg[0] : 1'b1;
+	assign ldRegMasked[1] = (ldMask[1]) ? ldReg[1] : 1'b1;
+	assign ldRegMasked[2] = (ldMask[2]) ? ldReg[2] : 1'b1;
+	assign ldRegMasked[3] = (ldMask[3]) ? ldReg[3] : 1'b1;
+	assign ldRegMasked[4] = (ldMask[4]) ? ldReg[4] : 1'b1;
+	assign ldRegMasked[5] = (ldMask[5]) ? ldReg[5] : 1'b1;
+	assign ldRegMasked[6] = (ldMask[6]) ? ldReg[6] : 1'b1;
 	
-	assign LD_o = ldReg[0]&ldReg[1]&ldReg[2]&ldReg[3]&ldReg[4]&ldReg[5]&ldReg[6];
+	assign LD_o = ldRegMasked[0] & ldRegMasked[1] & ldRegMasked[2] & ldRegMasked[3] & ldRegMasked[4] & ldRegMasked[5] & ldRegMasked[6];
 	
 	assign wordCntRx[0] = spi0RxFifoCtrlRR[15:8];
 	assign wordCntRx[1] = spi1RxFifoCtrlRR[15:8];
@@ -633,7 +643,7 @@ module S5443_3Top
 		.RxFifoCtrlReg5_i		(spi5RxFifoCtrlReg),
 		.RxFifoCtrlReg6_i		(spi6RxFifoCtrlReg),
 
-		.LdReg_i				(ldReg),
+		.LdReg_i				(ldRegMasked),
 
 		//Spi0
 		.Spi0CtrlReg_o			(spi0Ctrl),
@@ -688,6 +698,7 @@ module S5443_3Top
 		.SpiTxRxEnReg_o			(spiTxRxEn),
 		.SpiTxRxEnSetReg_o		(spiTxRxEnSet),
 		.SpiTxRxEnClrReg_o		(spiTxRxEnClr),
+		.LdMaskReg_o			(ldMask),
 		.GPIOAReg_o				(Gpio),
 
 		.AnsDataReg_o			(ansData),