Parcourir la source

Адаптирован приёмный модуль SPI под трансляцию в режиме 4-MOSI.

Anatoliy Chigirinskiy il y a 1 an
Parent
commit
212d9ed830

+ 2 - 2
src/src/InterfaceArbiter/InterfaceArbiter.v

@@ -110,7 +110,7 @@ module InterfaceArbiter
 	assign DataVal_o = plsToggleSyncSignalR;
 	assign Data_o = (spiMode)? dataRegQSpi:dataRegSSpi;
 
-	assign plsToggleSyncSignal = plsToggleSyncB^plsToggleSyncA;
+	assign plsToggleSyncSignal = plsToggleSyncA^plsToggle;
 
 	//assign ssCntRstThresh = (spiMode) ? QSPIWORDWIDTH-1:SSPIWORDWIDTH-1;
 	
@@ -333,7 +333,7 @@ module InterfaceArbiter
 		if (!Rst_i) begin
 			if (plsToggleSyncSignal) begin
 				dataRegSSpi <= captRegSspiRR;
-				dataRegQSpi <= {captReg0R,captReg1R,captReg2R,captReg3R};
+				dataRegQSpi <= {captReg0,captReg1,captReg2,captReg3};
 				dataValReg <= 1'b1;
 			end else begin
 				dataValReg <= 1'b0;

+ 47 - 47
src/src/PacketAnalyzer1Mosi/PacketAnalyzer1Mosi.v

@@ -125,86 +125,86 @@ always @(posedge Clk_i) begin
 	end
 end
 
-always @(posedge Clk_i) begin
+always @(*) begin
 	if (Rst_i) begin
-		FlagDirectLmx_o 	<= 1'b0;
-		FlagDirectDds_o 	<= 1'b0;
-		FlagDirectPot_o 	<= 1'b0;
-		FlagDirectDac_o 	<= 1'b0;
-		FlagDirectAtt_o 	<= 1'b0;
-		FlagDirectShReg_o 	<= 1'b0;
-		FlagDirectMax_o 	<= 1'b0;
-		FlagDirectGpio1_o 	<= 1'b0;
-		FlagDirectTemp_o 	<= 1'b0;
-		FlagDirectGpio2_o 	<= 1'b0;
-		FlagDirectServInfo_o <= 1'b0;
-		FlagQSpiDirect_o <= 1'b0;
+		FlagDirectLmx_o 	= 1'b0;
+		FlagDirectDds_o 	= 1'b0;
+		FlagDirectPot_o 	= 1'b0;
+		FlagDirectDac_o 	= 1'b0;
+		FlagDirectAtt_o 	= 1'b0;
+		FlagDirectShReg_o 	= 1'b0;
+		FlagDirectMax_o 	= 1'b0;
+		FlagDirectGpio1_o 	= 1'b0;
+		FlagDirectTemp_o 	= 1'b0;
+		FlagDirectGpio2_o 	= 1'b0;
+		FlagDirectServInfo_o = 1'b0;
+		FlagQSpiDirect_o = 1'b0;
 	end
 	else if (cntData != 0) begin
 		case (devId)
 			DEV_ID_LMX : begin
-				FlagDirectLmx_o <= 1'b1;
+				FlagDirectLmx_o = 1'b1;
 				if (directQspi) begin
-					FlagQSpiDirect_o <= 1'b1;
+					FlagQSpiDirect_o = 1'b1;
 				end
 			end
 			DEV_ID_DDS : begin
-				FlagDirectDds_o <= 1'b1;
+				FlagDirectDds_o = 1'b1;
 			end
 			DEV_ID_POT : begin
-				FlagDirectPot_o <= 1'b1;
+				FlagDirectPot_o = 1'b1;
 			end
 			DEV_ID_DAC : begin
-				FlagDirectDac_o <= 1'b1;
+				FlagDirectDac_o = 1'b1;
 			end
 			DEV_ID_ATT : begin
-				FlagDirectAtt_o <= 1'b1;
+				FlagDirectAtt_o = 1'b1;
 			end
 			DEV_ID_SH_REG : begin
-				FlagDirectShReg_o <= 1'b1;
+				FlagDirectShReg_o = 1'b1;
 			end
 			DEV_ID_MAX : begin
-				FlagDirectMax_o <= 1'b1;
+				FlagDirectMax_o = 1'b1;
 			end
 			DEV_ID_GPIO_1 : begin
-				FlagDirectGpio1_o <= 1'b1;
+				FlagDirectGpio1_o = 1'b1;
 			end
 			DEV_ID_TEMP : begin
-				FlagDirectTemp_o <= 1'b1;
+				FlagDirectTemp_o = 1'b1;
 			end
 			DEV_ID_GPIO_2 : begin
-				FlagDirectGpio2_o <= 1'b1;
+				FlagDirectGpio2_o = 1'b1;
 			end
 			DEV_ID_SERVICE_INFO : begin 
-				FlagDirectServInfo_o <= 1'b1;
+				FlagDirectServInfo_o = 1'b1;
 			end
 			default : begin
-				FlagDirectLmx_o 	<= 1'b0;
-				FlagDirectDds_o 	<= 1'b0;
-				FlagDirectPot_o 	<= 1'b0;
-				FlagDirectDac_o 	<= 1'b0;
-				FlagDirectAtt_o 	<= 1'b0;
-				FlagDirectShReg_o 	<= 1'b0;
-				FlagDirectMax_o 	<= 1'b0;
-				FlagDirectGpio1_o 	<= 1'b0;
-				FlagDirectTemp_o 	<= 1'b0;
-				FlagDirectGpio2_o 	<= 1'b0;
-				FlagDirectServInfo_o <= 1'b0;
+				FlagDirectLmx_o 	= 1'b0;
+				FlagDirectDds_o 	= 1'b0;
+				FlagDirectPot_o 	= 1'b0;
+				FlagDirectDac_o 	= 1'b0;
+				FlagDirectAtt_o 	= 1'b0;
+				FlagDirectShReg_o 	= 1'b0;
+				FlagDirectMax_o 	= 1'b0;
+				FlagDirectGpio1_o 	= 1'b0;
+				FlagDirectTemp_o 	= 1'b0;
+				FlagDirectGpio2_o 	= 1'b0;
+				FlagDirectServInfo_o = 1'b0;
 			end
 		endcase
 	end
 	else begin
-		FlagDirectLmx_o 	<= 1'b0;
-		FlagDirectDds_o 	<= 1'b0;
-		FlagDirectPot_o 	<= 1'b0;
-		FlagDirectDac_o 	<= 1'b0;
-		FlagDirectAtt_o 	<= 1'b0;
-		FlagDirectShReg_o 	<= 1'b0;
-		FlagDirectMax_o 	<= 1'b0;
-		FlagDirectGpio1_o 	<= 1'b0;
-		FlagDirectTemp_o 	<= 1'b0;
-		FlagDirectGpio2_o 	<= 1'b0;
-		FlagDirectServInfo_o <= 1'b0;
+		FlagDirectLmx_o 	= 1'b0;
+		FlagDirectDds_o 	= 1'b0;
+		FlagDirectPot_o 	= 1'b0;
+		FlagDirectDac_o 	= 1'b0;
+		FlagDirectAtt_o 	= 1'b0;
+		FlagDirectShReg_o 	= 1'b0;
+		FlagDirectMax_o 	= 1'b0;
+		FlagDirectGpio1_o 	= 1'b0;
+		FlagDirectTemp_o 	= 1'b0;
+		FlagDirectGpio2_o 	= 1'b0;
+		FlagDirectServInfo_o = 1'b0;
 	end
 end
 

+ 1 - 1
src/src/Top/TopSbTmsg.v

@@ -229,7 +229,7 @@ assign CtrlAmSw3_o 			= gpio1CtrlData[2];
 assign RfSw2_o 				= gpio1CtrlData[1];
 assign RfSw1_o 				= gpio1CtrlData[0];
 
-assign anyFlag = flagDirectTemp | flagDirectMax | flagDirectDds | flagDirectLmx | flagDirectGpio2;//Debug-only
+assign anyFlag = flagDirectTemp | flagDirectMax | flagDirectDds | (flagDirectLmx & (!flagQSpiDirect)) | flagDirectGpio2;//Debug-only
 
 assign RfLd_o = MisoLdLmx_i;
 assign Mosi1_io = misoReg;

+ 3 - 3
src/src/Top/TopSbTmsgTb.sv

@@ -180,7 +180,7 @@ assign MisoLdLmx_i = 1'b1;
 assign emptyFlagTx = (trCnt > 71) ? 1'b1 : 1'b0;
 assign QSPITotalWordNum = LMXWordNum + DDSWordNum + POTWordNum + DACWordNum + ATTWordNum + ShRegWordNum + MaxWordNum + GPIOWordNum; 
 
-assign currClk = (modeSel) ? Clk10 : Clk10;
+assign currClk = (modeSel) ? Clk60 : Clk10;
 
 //***********************************************
 //	           CLOCK GENERATION
@@ -357,7 +357,7 @@ always_comb begin
                 SPIdata = InitMAX2870Header;
             end
             else if (trCnt > 36 && trCnt < 43) begin 
-                SPIdata = 32'h55555555;
+                SPIdata = 32'haaaaaaaa;
             end
             else if (trCnt == 43) begin 
                 SPIdata = InitGpio2Header;
@@ -372,7 +372,7 @@ always_comb begin
                 SPIdata = AllDevQSPIHeader;
             end
             else begin
-                SPIdata = 24'h555555;
+                SPIdata = 24'haaaaaa;
             end
         end
     end