Bladeren bron

Добавлен функционал для вычитывания состояний регистров из RegMap, через SPI интерфейс.

ChStepan 1 jaar geleden
bovenliggende
commit
81d46742d1

File diff suppressed because it is too large
+ 3 - 58
S5444_M/src/constrs/S5443Top.xdc


+ 1 - 38
S5444_M/src/src/ExtDspInterface/DspInterface.v

@@ -63,9 +63,6 @@ module	DspInterface
 	output	Sck_o,
 	output	Ss0_o,
 	output	Ss1_o,
-	input	Miso_i,
-	output	Miso_o,
-
 	
 	output	[CmdRegWidth-1:0]	CmdDataReg_o,
 	output	CmdDataVal_o,
@@ -165,7 +162,6 @@ always	@(posedge	Clk_i)	begin
 	if	(!Rst_i)	begin
 		case(PortSel_i)
 			0:	begin
-					// currDataChannel	<=	testPatternData;
 					currDataChannel	<=	Adc1ChT1Data_i;
 				end
 			1:	begin
@@ -183,37 +179,6 @@ always	@(posedge	Clk_i)	begin
 	end
 end
 
-
-// SlaveSpi
-// #(	
-	// .CmdRegWidth	(CmdRegWidth),
-	// .DataCntWidth	(DataCntWidth),
-	// .HeaderWidth	(HeaderWidth)
-// )
-// DspSlaveSpi
-// (
-	// .Clk_i		(Clk_i),
-	// .Rst_i		(Rst_i),
-
-	// .Data_o		(CmdDataReg_o),
-	// .Val_o		(CmdDataVal_o),
-	
-	// .Mosi_i		(Mosi_i),
-	// .Sck_i		(Sck_i),
-	// .Ss_i		(Ss_i),
-	
-	// .Mosi_o		(Mosi_o),
-	// .Sck_o		(Sck_o),
-	// .Ss0_o		(Ss0_o),
-	// .Ss1_o		(Ss1_o),
-	
-	// .AnsAddr_o	(AnsAddr_o),
-	// .AnsReg_i	(AnsReg_i),
-	
-	// .Miso_i		(Miso_i),
-	// .Miso_o		(Miso_o)
-// );
-
 QuadSlaveSpi SlaveSpi
 (
 	.Clk_i				(Clk_i),
@@ -236,9 +201,7 @@ QuadSlaveSpi SlaveSpi
 	.Ss1_o				(Ss1_o),
 	
 	.AnsAddr_o			(AnsAddr_o),
-	.AnsReg_i			(AnsReg_i),
-	
-	.Miso_o				(Miso_o)
+	.AnsReg_i			(AnsReg_i)
 );
 
 

+ 2 - 4
S5444_M/src/src/ExtDspInterface/QuadSlaveSpi.v

@@ -50,9 +50,7 @@ module	QuadSlaveSpi
 	output	Ss1_o,
 	
 	output	[HeaderWidth-1:0]		AnsAddr_o,
-	input	[CmdDataRegWith-1:0]	AnsReg_i,
-	
-	output	Miso_o
+	input	[CmdDataRegWith-1:0]	AnsReg_i
 );
 //================================================================================
 //	REG/WIRE
@@ -88,7 +86,7 @@ module	QuadSlaveSpi
 	assign	Ss1_o		=	(ansAddr	==	Adc1DirAccessAddr)?	Ss_i:1'b1;
 	
 	assign	AnsAddr_o	=	ansAddr;
-	assign	Miso_o		=	txWind?	AnsReg_i[txCnt]:1'b0;
+	assign	Miso0_Mosi2_io		=	txWind?	AnsReg_i[txCnt]:1'bz;
 //================================================================================
 //	CODING
 //================================================================================

+ 15 - 12
S5444_M/src/src/Top/S5443Top.v

@@ -269,8 +269,8 @@ module	S5443Top
 	wire	[AdcDataWidth-1:0]	adcDataBus	[ChNum-1:0];
 	wire	overCtrlR	=	|overCtrlChannels[ChNum-1:0];
 	
-	localparam TESTCNTPARAM	=	32'd100000000;
-	reg	[31:0]	testCnt;
+	localparam LEDCNTTHRESH	=	32'd100000000;
+	reg	[31:0]	ledCnt;
 
 	wire	refClk;
 	wire	windClk150;
@@ -575,9 +575,7 @@ module	S5443Top
 	assign	PortSel_o	[5:4] 	=	slowModOut[ChNum-2]	? activePortSel[9:8]:2'b0;
 	assign	PortSel_o	[3:2] 	=	slowModOut[ChNum-3]	? activePortSel[5:4]:2'b0;
 	assign	PortSel_o	[1:0] 	=	slowModOut[ChNum-4]	? activePortSel[1:0]:2'b0;
-	
-	// assign	PortSelDir_o	=	4'd15;
-	
+
 	assign	Trig6to1Dir_o	[0]	=	!measCtrl[18];
 	assign	Trig6to1Dir_o	[1]	=	!measCtrl[19];
 	assign	Trig6to1Dir_o	[2]	=	!measCtrl[20];
@@ -626,6 +624,7 @@ end
 //--------------------------------------------------------------------------------
 //	Data Receiving Interface
 //--------------------------------------------------------------------------------
+
 IBUFDS 
 #(
 	.DIFF_TERM		("FALSE")
@@ -743,8 +742,6 @@ ExternalDspInterface
 	.Sck_o				(adcInitSck),
 	.Ss0_o				(adc1InitCs),
 	.Ss1_o				(adc2InitCs),
-	.Miso_i				(),
-	.Miso_o				(),
 	
 	.CmdDataReg_o		(cmdDataReg),
 	.CmdDataVal_o		(cmdDataVal),
@@ -773,6 +770,7 @@ ExternalDspInterface
 //--------------------------------------------------------------------------------
 //	Internal DSP calculation module
 //--------------------------------------------------------------------------------
+
 NcoRstGen	NcoRstGenInst
 (
 	.Clk_i				(gclk),
@@ -852,6 +850,7 @@ InternalDsp
 //--------------------------------------------------------------------------------
 //	Reg Map With Config Registers
 //--------------------------------------------------------------------------------
+
 RegMap	
 #(	
 	.CmdRegWidth	(CmdRegWidth),
@@ -985,6 +984,7 @@ RegMapInst
 //--------------------------------------------------------------------------------
 //	Global FPGA reset generator
 //--------------------------------------------------------------------------------	
+
 InitRst FpgaInitRst 
 (
 	.clk_i		(gclk),
@@ -994,6 +994,7 @@ InitRst FpgaInitRst
 //--------------------------------------------------------------------------------
 //	ADC overload detection
 //--------------------------------------------------------------------------------	
+
 genvar	i;
 generate
 	for	(i=0;	i<ChNum;	i=i+1)	begin	:OverControl
@@ -1017,6 +1018,7 @@ endgenerate
 //--------------------------------------------------------------------------------
 //	Gain Control module	
 //--------------------------------------------------------------------------------	
+
 genvar g;
 generate
 	for	(g=0;	g<ChNum;	g=g+1)	begin	:GainControl
@@ -1063,6 +1065,7 @@ StartAfterGainSelInst
 	
 	.MeasStart_o	(measStart)
 );
+
 //--------------------------------------------------------------------------------
 //	Trig TO/FROM DSP	
 //--------------------------------------------------------------------------------	
@@ -1507,18 +1510,18 @@ SampleStrobeGenRstDemux
 //--------------------------------------------------------------------------------	
 always	@(posedge	gclk)	begin
 	if	(initRst)	begin
-		testCnt	<=	32'b0;
-	end	else	if	(testCnt !=	TESTCNTPARAM)	begin
-		testCnt	<=	testCnt+1;
+		ledCnt	<=	32'b0;
+	end	else	if	(ledCnt !=	LEDCNTTHRESH)	begin
+		ledCnt	<=	ledCnt+1;
 	end	else	begin
-		testCnt	<=	32'd0;
+		ledCnt	<=	32'd0;
 	end
 end
 
 always	@(posedge	gclk)	begin
 	if	(initRst)	begin
 		ledReg	<=	1'b0;
-	end	else	if	((testCnt ==	TESTCNTPARAM-1))	begin
+	end	else	if	((ledCnt ==	LEDCNTTHRESH-1))	begin
 		ledReg	<=	~ledReg;
 	end	
 end

+ 1 - 38
S5444_S/src/src/ExtDspInterface/DspInterface.v

@@ -63,9 +63,6 @@ module	DspInterface
 	output	Sck_o,
 	output	Ss0_o,
 	output	Ss1_o,
-	input	Miso_i,
-	output	Miso_o,
-
 	
 	output	[CmdRegWidth-1:0]	CmdDataReg_o,
 	output	CmdDataVal_o,
@@ -165,7 +162,6 @@ always	@(posedge	Clk_i)	begin
 	if	(!Rst_i)	begin
 		case(PortSel_i)
 			0:	begin
-					// currDataChannel	<=	testPatternData;
 					currDataChannel	<=	Adc1ChT1Data_i;
 				end
 			1:	begin
@@ -183,37 +179,6 @@ always	@(posedge	Clk_i)	begin
 	end
 end
 
-
-// SlaveSpi
-// #(	
-	// .CmdRegWidth	(CmdRegWidth),
-	// .DataCntWidth	(DataCntWidth),
-	// .HeaderWidth	(HeaderWidth)
-// )
-// DspSlaveSpi
-// (
-	// .Clk_i		(Clk_i),
-	// .Rst_i		(Rst_i),
-
-	// .Data_o		(CmdDataReg_o),
-	// .Val_o		(CmdDataVal_o),
-	
-	// .Mosi_i		(Mosi_i),
-	// .Sck_i		(Sck_i),
-	// .Ss_i		(Ss_i),
-	
-	// .Mosi_o		(Mosi_o),
-	// .Sck_o		(Sck_o),
-	// .Ss0_o		(Ss0_o),
-	// .Ss1_o		(Ss1_o),
-	
-	// .AnsAddr_o	(AnsAddr_o),
-	// .AnsReg_i	(AnsReg_i),
-	
-	// .Miso_i		(Miso_i),
-	// .Miso_o		(Miso_o)
-// );
-
 QuadSlaveSpi SlaveSpi
 (
 	.Clk_i				(Clk_i),
@@ -236,9 +201,7 @@ QuadSlaveSpi SlaveSpi
 	.Ss1_o				(Ss1_o),
 	
 	.AnsAddr_o			(AnsAddr_o),
-	.AnsReg_i			(AnsReg_i),
-	
-	.Miso_o				(Miso_o)
+	.AnsReg_i			(AnsReg_i)
 );
 
 

+ 2 - 4
S5444_S/src/src/ExtDspInterface/QuadSlaveSpi.v

@@ -50,9 +50,7 @@ module	QuadSlaveSpi
 	output	Ss1_o,
 	
 	output	[HeaderWidth-1:0]		AnsAddr_o,
-	input	[CmdDataRegWith-1:0]	AnsReg_i,
-	
-	output	Miso_o
+	input	[CmdDataRegWith-1:0]	AnsReg_i
 );
 //================================================================================
 //	REG/WIRE
@@ -88,7 +86,7 @@ module	QuadSlaveSpi
 	assign	Ss1_o		=	(ansAddr	==	Adc1DirAccessAddr)?	Ss_i:1'b1;
 	
 	assign	AnsAddr_o	=	ansAddr;
-	assign	Miso_o		=	txWind?	AnsReg_i[txCnt]:1'b0;
+	assign	Miso0_Mosi2_io		=	txWind?	AnsReg_i[txCnt]:1'bz;
 //================================================================================
 //	CODING
 //================================================================================

+ 0 - 2
S5444_S/src/src/Top/S5443Top.v

@@ -655,8 +655,6 @@ ExternalDspInterface
 	.Sck_o				(adcInitSck),
 	.Ss0_o				(adc1InitCs),
 	.Ss1_o				(adc2InitCs),
-	.Miso_i				(),
-	.Miso_o				(),
 	
 	.CmdDataReg_o		(cmdDataReg),
 	.CmdDataVal_o		(cmdDataVal),