Преглед изворни кода

исправление ошибок

ChStepan пре 1 година
родитељ
комит
f7b81f618a

+ 11 - 12
S5444_M/src/src/InternalDsp/MeasCtrlModule.v

@@ -64,6 +64,7 @@ module MeasCtrlModule
 
 	reg		measWind;
 	reg		measWindR;
+	reg		measWindRR;
 	
 	reg		startMeasReg;										
 	reg		startMeasDspReg;										
@@ -102,7 +103,7 @@ module MeasCtrlModule
 
 	
 	wire	incPhase	=	(pNumCnt	<=	tukeyFirstCosValues);
-	wire	decrPhase	=	(pNumCnt	>=	tukeySecondCosValues-1	&	pNumCnt	<=	WindPointsNum_i-1);
+	wire	decrPhase	=	(pNumCnt	>=	tukeySecondCosValues);
 	
 	wire	wideFilterFlag	=	(FilterCmd_i>=8'h63	&	FilterCmd_i!=8'h70);
 	
@@ -116,14 +117,14 @@ module MeasCtrlModule
 
 	assign	StartFpConv_o			=	startFpConvPipe	[2];
 	// assign	MeasWind_o				=	measWind;
-	assign	MeasWind_o				=	measWindOr;
+	assign	MeasWind_o				=	measWindRR;
 	assign	MeasWindEnd_o			=	measWindEnd;
 	assign	StopMeas_o				=	pMeasEnd;
 	assign	MeasEnd_o				=	stopMeasCmd;
 	assign	WindArg_o				=	windArg;
 	assign	OscWind_o				=	oscWind;
 	assign	TukeyCtrl_o				=	tukeyCtrl;
-	assign	WinCtrl_o				=	(pNumCnt<=tukeyFirstCosValuesDiv2+1|pNumCnt>tukeySecondCosValuesDiv2);
+	assign	WinCtrl_o				=	(pNumCnt<=tukeyFirstCosValuesDiv2+1|pNumCnt>tukeySecondCosValuesDiv2+1);
 	assign	SampleStrobeGenRst_o	=	sampleStrobeGenRst;
 
 //================================================================================
@@ -144,15 +145,11 @@ module MeasCtrlModule
 	
 	always	@(*)	begin
 		if	(!Rst_i)	begin
-			if	(measWind)	begin
-				if	(pNumCnt	!=	0)	begin
-					if	(pNumCnt	<=	tukeyFirstCosValues-1	|	pNumCnt	>	tukeySecondCosValues)	begin
-						tukeyCtrl	=	2'd2;
-					end	else	begin
-						tukeyCtrl	=	2'd1;
-					end
+			if	(measWindOr)	begin
+				if	(pNumCnt	<=	tukeyFirstCosValues-1	|	pNumCnt	>=	tukeySecondCosValues)	begin
+					tukeyCtrl	=	2'd2;
 				end	else	begin
-					tukeyCtrl	=	2'd0;
+					tukeyCtrl	=	2'd1;
 				end
 			end	else	begin
 				tukeyCtrl	=	2'd0;
@@ -165,8 +162,10 @@ module MeasCtrlModule
 	always	@(posedge	Clk_i)	begin
 		if	(!Rst_i)	begin
 			measWindR	<=	measWind;
+			measWindRR	<=	measWindR;
 		end	else	begin
 			measWindR	<=	1'b0;
+			measWindRR	<=	1'b0;
 		end
 	end
 	
@@ -183,7 +182,7 @@ module MeasCtrlModule
 	always	@(posedge	Clk_i)	begin
 		if	(!Rst_i)	begin
 			if	(measWindR)	begin
-				if	(pNumCnt	==	WindPointsNum_i-2)	begin
+				if	(pNumCnt	==	WindPointsNum_i-1)	begin
 					measWindEnd	<=	1'b1;
 				end	else	begin
 					measWindEnd	<=	1'b0;

+ 1 - 1
S5444_M/src/src/InternalDsp/Win_calc.v

@@ -163,7 +163,7 @@ end
 
 always	@(*)	begin
 	if	(!reset_i)	begin
-		case(tukeyCtrlR)
+		case(tukeyCtrlRR)
 			2'h0:		begin
 							tukeyWindOut	=	0;
 						end

+ 42 - 42
S5444_M/src/src/Sim/S5443TopPulseProfileTb.v

@@ -31,7 +31,7 @@
 //=============================================================================================================
 module S5443TopPulseProfileTb;
 	
-	localparam	[4:0]	EP1MUXCMD	=	5'd14;
+	localparam	[4:0]	EP1MUXCMD	=	5'd13;
 	localparam	[4:0]	EP2MUXCMD	=	5'd1;
 	localparam	[4:0]	EP3MUXCMD	=	5'd1;
 	localparam	[4:0]	EP4MUXCMD	=	5'd1;
@@ -40,19 +40,19 @@ module S5443TopPulseProfileTb;
 	
 	localparam	[4:0]	PG1MUXCMD	=	5'd13;
 	localparam	[4:0]	PG2MUXCMD	=	5'd0;
-	localparam	[4:0]	PG3MUXCMD	=	5'd18;
-	localparam	[4:0]	PG4MUXCMD	=	5'd18;
+	localparam	[4:0]	PG3MUXCMD	=	5'd13;
+	localparam	[4:0]	PG4MUXCMD	=	5'd13;
 	localparam	[4:0]	PG5MUXCMD	=	5'd0;
 	localparam	[4:0]	PG6MUXCMD	=	5'd0;
 	localparam	[4:0]	PG7MUXCMD	=	5'd0;
 	
-	localparam	[2:0]	PG1MODE	=	3'd5;
+	localparam	[2:0]	PG1MODE	=	3'd1;
 	localparam	[2:0]	PG2MODE	=	3'd1;
-	localparam	[2:0]	PG3MODE	=	3'd3;
-	localparam	[2:0]	PG4MODE	=	3'd4;
+	localparam	[2:0]	PG3MODE	=	3'd1;
+	localparam	[2:0]	PG4MODE	=	3'd1;
 	localparam	[2:0]	PG5MODE	=	3'd0;
 	localparam	[2:0]	PG6MODE	=	3'd0;
-	localparam	[2:0]	PG7MODE	=	3'd3;
+	localparam	[2:0]	PG7MODE	=	3'd1;
 	
 	localparam	PG1POL	=	1'b0;
 	localparam	PG2POL	=	1'b0;
@@ -62,7 +62,7 @@ module S5443TopPulseProfileTb;
 	localparam	PG6POL	=	1'b0;
 	localparam	PG7POL	=	1'b0;
 	
-	localparam	[4:0]	EXTTRIGMUXCMD	=	5'd7;
+	localparam	[4:0]	EXTTRIGMUXCMD	=	5'd15;
 	// localparam	[4:0]	EXTTRIGMUXCMD	=	5'd15;
 	localparam	[4:0]	DSPTRIGINCMD	=	5'h8;
 	localparam	[4:0]	MUXSLOWMODCMD	=	5'd1;
@@ -72,9 +72,9 @@ module S5443TopPulseProfileTb;
 	
 	//COMMANDS	FOR REG_MAP
 	parameter	[31:0]	MeasCmdBypass	=	{8'h11,8'h0,8'h63,8'h1};
-	parameter	[31:0]	MeasCmdFft 		=	{8'h11,8'h0,8'h63,7'h5,1'b1};
+	parameter	[31:0]	MeasCmdFft 		=	{8'h11,8'h0,8'h55,7'h5,1'b1};
 	// parameter	[31:0]	MeasCmd 		=	{8'h11,8'h0,8'h53,8'h0};
-	parameter	[31:0]	MeasCmd =	{8'h11,8'h3f,8'h72,8'h0};
+	parameter	[31:0]	MeasCmd =	{8'h11,8'h0,8'h55,8'h0};
 	parameter	[31:0]	AdcCtrl =	{8'h12,24'h2};
 	parameter	[31:0]	SensCtrlCmd =	{1'b0,27'h0,4'b1};
 	// parameter	[31:0]	DitherCmd 	= {8'h0E,24'h100192};
@@ -96,7 +96,7 @@ module S5443TopPulseProfileTb;
 
 	//PG1 Cmd
 	parameter	[31:0]	PG1P1DelayRegCmd	=	{8'h28,24'd0};
-	parameter	[31:0]	PG1P2DelayRegCmd	=	{8'h29,24'd400};
+	parameter	[31:0]	PG1P2DelayRegCmd	=	{8'h29,24'd0};
 	parameter	[31:0]	PG1P3DelayRegCmd	=	{8'h2a,24'd0};
 	parameter	[31:0]	PG1P123DelayRegCmd	=	{8'h2b,24'd0};
 	parameter	[31:0]	PG1P1WidthRegCmd	=	{8'h2c,24'd1};
@@ -106,32 +106,32 @@ module S5443TopPulseProfileTb;
 	
 	//PG2 Cmd
 	parameter	[31:0]	PG2P1DelayRegCmd	=	{8'h20,24'd0};
-	parameter	[31:0]	PG2P2DelayRegCmd	=	{8'h21,24'd1};
-	parameter	[31:0]	PG2P3DelayRegCmd	=	{8'h22,24'd5};
-	parameter	[31:0]	PG2P123DelayRegCmd	=	{8'h23,24'd15};
+	parameter	[31:0]	PG2P2DelayRegCmd	=	{8'h21,24'd0};
+	parameter	[31:0]	PG2P3DelayRegCmd	=	{8'h22,24'd0};
+	parameter	[31:0]	PG2P123DelayRegCmd	=	{8'h23,24'd0};
 	parameter	[31:0]	PG2P1WidthRegCmd	=	{8'h24,24'd1};
-	parameter	[31:0]	PG2P2WidthRegCmd	=	{8'h25,24'd3};
-	parameter	[31:0]	PG2P3WidthRegCmd	=	{8'h26,24'd5};
+	parameter	[31:0]	PG2P2WidthRegCmd	=	{8'h25,24'd0};
+	parameter	[31:0]	PG2P3WidthRegCmd	=	{8'h26,24'd0};
 	parameter	[31:0]	PG2P123WidthRegCmd	=	{8'h27,24'd0};
 	
 	//PG3 Cmd
 	parameter	[31:0]	PG3P1DelayRegCmd	=	{8'h20,24'd0};
-	parameter	[31:0]	PG3P2DelayRegCmd	=	{8'h21,24'd1};
-	parameter	[31:0]	PG3P3DelayRegCmd	=	{8'h22,24'd5};
-	parameter	[31:0]	PG3P123DelayRegCmd	=	{8'h23,24'd15};
+	parameter	[31:0]	PG3P2DelayRegCmd	=	{8'h21,24'd0};
+	parameter	[31:0]	PG3P3DelayRegCmd	=	{8'h22,24'd0};
+	parameter	[31:0]	PG3P123DelayRegCmd	=	{8'h23,24'd0};
 	parameter	[31:0]	PG3P1WidthRegCmd	=	{8'h24,24'd1};
-	parameter	[31:0]	PG3P2WidthRegCmd	=	{8'h25,24'd3};
-	parameter	[31:0]	PG3P3WidthRegCmd	=	{8'h26,24'd5};
+	parameter	[31:0]	PG3P2WidthRegCmd	=	{8'h25,24'd0};
+	parameter	[31:0]	PG3P3WidthRegCmd	=	{8'h26,24'd0};
 	parameter	[31:0]	PG3P123WidthRegCmd	=	{8'h27,24'd0};
 	
 	//PG4 Cmd
 	parameter	[31:0]	PG4P1DelayRegCmd	=	{8'h40,24'd0};
-	parameter	[31:0]	PG4P2DelayRegCmd	=	{8'h41,24'd3};
+	parameter	[31:0]	PG4P2DelayRegCmd	=	{8'h41,24'd0};
 	parameter	[31:0]	PG4P3DelayRegCmd	=	{8'h42,24'd0};
 	parameter	[31:0]	PG4P123DelayRegCmd	=	{8'h43,24'd0};
 	parameter	[31:0]	PG4P1WidthRegCmd	=	{8'h44,24'd1};
-	parameter	[31:0]	PG4P2WidthRegCmd	=	{8'h45,24'd10};
-	parameter	[31:0]	PG4P3WidthRegCmd	=	{8'h46,24'd7};
+	parameter	[31:0]	PG4P2WidthRegCmd	=	{8'h45,24'd0};
+	parameter	[31:0]	PG4P3WidthRegCmd	=	{8'h46,24'd0};
 	parameter	[31:0]	PG4P123WidthRegCmd	=	{8'h47,24'd0};
 	
 	//PG5 Cmd
@@ -154,7 +154,7 @@ module S5443TopPulseProfileTb;
 	parameter	[31:0]	PG6P3WidthRegCmd	=	{8'h56,24'd5};
 	parameter	[31:0]	PG6P123WidthRegCmd	=	{8'h57,24'd0};
 	
-	parameter	[31:0]	MeasNum0RegCmd		=	{8'h58,24'd10};
+	parameter	[31:0]	MeasNum0RegCmd		=	{8'h58,24'd1};
 	parameter	[31:0]	MeasNum1RegCmd		=	{8'h59,MUXSLOWMODCMD,MUXFASTMODCMD,DSPTRIGINCMD,25'd0};
 	parameter	[31:0]	PGMode0RegCmd		=	{8'h0b,3'b0,PG7MODE,PG6MODE,PG5MODE,PG4MODE,PG3MODE,PG2MODE,PG1MODE};
 	parameter	[31:0]	PGMode1RegCmd		=	{8'h1b,7'b0000000,PG7POL,PG6POL,PG5POL,PG4POL,PG3POL,PG2POL,PG1POL,10'h0};
@@ -238,7 +238,7 @@ wire	endMeasNeg	=	!endMeas&endMeasReg;
 always	@(posedge	Clk70)	begin
 	if	(!rst)	begin
 		if	(!endMeas)	begin
-			if	(tb_cnt	==	3550	|	tb_cnt	==	3950	|tb_cnt	==	4505)	begin
+			if	(tb_cnt	==	3550)	begin
 				startCalcCmdReg	<=	1'b1;
 			end	
 		end	else	begin
@@ -290,28 +290,28 @@ S5443Top MasterFpga
     .Adc1FclkP_i		(),		
     .Adc1FclkN_i		(),		
 
-    .Adc1DataDa0P_i		(),
-	.Adc1DataDa0N_i		(),		
-    .Adc1DataDa1P_i		(),
-    .Adc1DataDa1N_i		(),
+    .Adc1DataDa0P_i		(Adc1DataDa0P),
+	.Adc1DataDa0N_i		(~Adc1DataDa0P),		
+    .Adc1DataDa1P_i		(Adc1DataDa1P),
+    .Adc1DataDa1N_i		(~Adc1DataDa1P),
 
-	.Adc1DataDb0P_i		(),
-    .Adc1DataDb0N_i		(),		
-    .Adc1DataDb1P_i		(),
-    .Adc1DataDb1N_i		(),
+	.Adc1DataDb0P_i		(Adc1DataDa0P),
+    .Adc1DataDb0N_i		(~Adc1DataDa0P),		
+    .Adc1DataDb1P_i		(Adc1DataDa1P),
+    .Adc1DataDb1N_i		(~Adc1DataDa1P),
 //------------------------------------------	
     .Adc2FclkP_i		(),		
     .Adc2FclkN_i		(),		
 
-    .Adc2DataDa0P_i		(),
-    .Adc2DataDa0N_i		(),		
-    .Adc2DataDa1P_i		(),
-    .Adc2DataDa1N_i		(),
+    .Adc2DataDa0P_i		(1'b1),
+    .Adc2DataDa0N_i		(1'b0),		
+    .Adc2DataDa1P_i		(1'b1),
+    .Adc2DataDa1N_i		(1'b0),
   
-	.Adc2DataDb0P_i		(),
-    .Adc2DataDb0N_i		(),		
-    .Adc2DataDb1P_i		(),
-    .Adc2DataDb1N_i		(),
+	.Adc2DataDb0P_i		(1'b1),
+    .Adc2DataDb0N_i		(1'b0),		
+    .Adc2DataDb1P_i		(1'b1),
+    .Adc2DataDb1N_i		(1'b0),
 //------------------------------------------
 	.AdcInitMosi_o		(),
 	.AdcInitClk_o		(),			

+ 2 - 1
S5444_M/src/src/Top/S5443Top.v

@@ -1184,7 +1184,8 @@ PulseGen
 )
 PulseGenerator
 (
-	.Rst_i			(initRst|pGenRst[j]|pGenMeasRst[j]),
+	//.Rst_i			(initRst|pGenRst[j]|pGenMeasRst[j]),
+	.Rst_i			(initRst|pGenRst[j]),
 	.Clk_i			(gclk),
 	.EnPulse_i		(pgMuxedOut[j]),
 	

+ 11 - 12
S5444_S/src/src/InternalDsp/MeasCtrlModule.v

@@ -64,6 +64,7 @@ module MeasCtrlModule
 
 	reg		measWind;
 	reg		measWindR;
+	reg		measWindRR;
 	
 	reg		startMeasReg;										
 	reg		startMeasDspReg;										
@@ -102,7 +103,7 @@ module MeasCtrlModule
 
 	
 	wire	incPhase	=	(pNumCnt	<=	tukeyFirstCosValues);
-	wire	decrPhase	=	(pNumCnt	>=	tukeySecondCosValues-1	&	pNumCnt	<=	WindPointsNum_i-1);
+	wire	decrPhase	=	(pNumCnt	>=	tukeySecondCosValues);
 	
 	wire	wideFilterFlag	=	(FilterCmd_i>=8'h63	&	FilterCmd_i!=8'h70);
 	
@@ -116,14 +117,14 @@ module MeasCtrlModule
 
 	assign	StartFpConv_o			=	startFpConvPipe	[2];
 	// assign	MeasWind_o				=	measWind;
-	assign	MeasWind_o				=	measWindOr;
+	assign	MeasWind_o				=	measWindRR;
 	assign	MeasWindEnd_o			=	measWindEnd;
 	assign	StopMeas_o				=	pMeasEnd;
 	assign	MeasEnd_o				=	stopMeasCmd;
 	assign	WindArg_o				=	windArg;
 	assign	OscWind_o				=	oscWind;
 	assign	TukeyCtrl_o				=	tukeyCtrl;
-	assign	WinCtrl_o				=	(pNumCnt<=tukeyFirstCosValuesDiv2+1|pNumCnt>tukeySecondCosValuesDiv2);
+	assign	WinCtrl_o				=	(pNumCnt<=tukeyFirstCosValuesDiv2+1|pNumCnt>tukeySecondCosValuesDiv2+1);
 	assign	SampleStrobeGenRst_o	=	sampleStrobeGenRst;
 
 //================================================================================
@@ -144,15 +145,11 @@ module MeasCtrlModule
 	
 	always	@(*)	begin
 		if	(!Rst_i)	begin
-			if	(measWind)	begin
-				if	(pNumCnt	!=	0)	begin
-					if	(pNumCnt	<=	tukeyFirstCosValues-1	|	pNumCnt	>	tukeySecondCosValues)	begin
-						tukeyCtrl	=	2'd2;
-					end	else	begin
-						tukeyCtrl	=	2'd1;
-					end
+			if	(measWindOr)	begin
+				if	(pNumCnt	<=	tukeyFirstCosValues-1	|	pNumCnt	>=	tukeySecondCosValues)	begin
+					tukeyCtrl	=	2'd2;
 				end	else	begin
-					tukeyCtrl	=	2'd0;
+					tukeyCtrl	=	2'd1;
 				end
 			end	else	begin
 				tukeyCtrl	=	2'd0;
@@ -165,8 +162,10 @@ module MeasCtrlModule
 	always	@(posedge	Clk_i)	begin
 		if	(!Rst_i)	begin
 			measWindR	<=	measWind;
+			measWindRR	<=	measWindR;
 		end	else	begin
 			measWindR	<=	1'b0;
+			measWindRR	<=	1'b0;
 		end
 	end
 	
@@ -183,7 +182,7 @@ module MeasCtrlModule
 	always	@(posedge	Clk_i)	begin
 		if	(!Rst_i)	begin
 			if	(measWindR)	begin
-				if	(pNumCnt	==	WindPointsNum_i-2)	begin
+				if	(pNumCnt	==	WindPointsNum_i-1)	begin
 					measWindEnd	<=	1'b1;
 				end	else	begin
 					measWindEnd	<=	1'b0;

+ 1 - 1
S5444_S/src/src/InternalDsp/Win_calc.v

@@ -163,7 +163,7 @@ end
 
 always	@(*)	begin
 	if	(!reset_i)	begin
-		case(tukeyCtrlR)
+		case(tukeyCtrlRR)
 			2'h0:		begin
 							tukeyWindOut	=	0;
 						end