Browse Source

Добавлен тестовый паттерн для режима ГВЗ.

ChStepan 1 year ago
parent
commit
e3afa4afb1

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


+ 25 - 14
S5444_M/src/src/InternalDsp/InternalDsp.v

@@ -167,7 +167,7 @@ module InternalDsp
 	assign	adcDataBusExt	[ChNum-1]	=	calAdcData	[ChNum-1]+prngDataBus[ChNum-1];
 	assign	adcDataBusExt	[ChNum-1]	=	calAdcData	[ChNum-1]+prngDataBus[ChNum-1];
 	assign	adcDataBusExt	[ChNum-2]	=	calAdcData	[ChNum-2]+prngDataBus[ChNum-2];
 	assign	adcDataBusExt	[ChNum-2]	=	calAdcData	[ChNum-2]+prngDataBus[ChNum-2];
 	assign	adcDataBusExt	[ChNum-3]	=	calAdcData	[ChNum-3]+prngDataBus[ChNum-3];
 	assign	adcDataBusExt	[ChNum-3]	=	calAdcData	[ChNum-3]+prngDataBus[ChNum-3];
-	assign	adcDataBusExt	[ChNum-4]	=	calAdcData	[ChNum-4]+prngDataBus[ChNum-4];
+	assign	adcDataBusExt	[ChNum-4]	=	calAdcData	[ChNum-4]+prngDataBus[ChNum-4];	
 	
 	
 	assign	gatedAdcDataBus	[ChNum-1]	=	adc2ChT2DataGated;
 	assign	gatedAdcDataBus	[ChNum-1]	=	adc2ChT2DataGated;
 	assign	gatedAdcDataBus	[ChNum-2]	=	adc2ChR2DataGated;
 	assign	gatedAdcDataBus	[ChNum-2]	=	adc2ChR2DataGated;
@@ -203,7 +203,8 @@ wire signed [AdcDataWidth-1:0] ncoSinSecondToneCut = ncoSinSecondTone[NcoWidth-1
 wire signed [AdcDataWidth-1:0] notNcoSinSecondToneCut = ~ncoSinSecondToneCut;
 wire signed [AdcDataWidth-1:0] notNcoSinSecondToneCut = ~ncoSinSecondToneCut;
 
 
 
 
-wire signed [AdcDataWidth-1:0] ncoSum = ncoSinFirstToneCut+notNcoSinSecondToneCut;
+wire signed [AdcDataWidth:0] ncoSumExt = ncoSinFirstToneCut+notNcoSinSecondToneCut;
+wire signed [AdcDataWidth-1:0] ncoSum = ncoSumExt[AdcDataWidth-:AdcDataWidth];
 wire signed [AdcDataWidth-1:0] ncoSumShifted = ncoSum>>>1;
 wire signed [AdcDataWidth-1:0] ncoSumShifted = ncoSum>>>1;
 
 
 
 
@@ -220,10 +221,20 @@ always	@(*)	begin
 			// adc2ChR2DataR	<= Adc1ChR1Data_i;
 			// adc2ChR2DataR	<= Adc1ChR1Data_i;
 			// adc2ChT2DataR	<= Adc1ChT1Data_i;			
 			// adc2ChT2DataR	<= Adc1ChT1Data_i;			
 			
 			
-			adc1ChT1DataR	= ncoSumShifted;
+			adc1ChT1DataR	= ncoSum;
 			adc1ChR1DataR	= ncoSum;
 			adc1ChR1DataR	= ncoSum;
 			adc2ChR2DataR	= ncoSum;
 			adc2ChR2DataR	= ncoSum;
-			adc2ChT2DataR	= ncoSumShifted;
+			adc2ChT2DataR	= ncoSum;
+			 
+			// currNcoSinTone [0] = ncoSinSecondTone;
+			// currNcoSinTone [1] = ncoSinSecondTone;
+			// currNcoSinTone [2] = ncoSinFirstTone;
+			// currNcoSinTone [3] = ncoSinFirstTone;
+			// currNcoCosTone [0] = ncoCosSecondTone;
+			// currNcoCosTone [1] = ncoCosSecondTone;
+			// currNcoCosTone [2] = ncoCosFirstTone;
+			// currNcoCosTone [3] = ncoCosFirstTone;
+
 			currNcoSinTone [0] = ncoSinFirstTone;
 			currNcoSinTone [0] = ncoSinFirstTone;
 			currNcoSinTone [1] = ncoSinFirstTone;
 			currNcoSinTone [1] = ncoSinFirstTone;
 			currNcoSinTone [2] = ncoSinSecondTone;
 			currNcoSinTone [2] = ncoSinSecondTone;
@@ -232,6 +243,8 @@ always	@(*)	begin
 			currNcoCosTone [1] = ncoCosFirstTone;
 			currNcoCosTone [1] = ncoCosFirstTone;
 			currNcoCosTone [2] = ncoCosSecondTone;
 			currNcoCosTone [2] = ncoCosSecondTone;
 			currNcoCosTone [3] = ncoCosSecondTone;
 			currNcoCosTone [3] = ncoCosSecondTone;
+			
+			
 		end else begin
 		end else begin
 			adc1ChT1DataR	= Adc1ChT1Data_i;
 			adc1ChT1DataR	= Adc1ChT1Data_i;
 			adc1ChR1DataR	= Adc1ChR1Data_i;
 			adc1ChR1DataR	= Adc1ChR1Data_i;
@@ -361,7 +374,8 @@ ncoFirstTone
 	.Clk_i		(Clk_i),
 	.Clk_i		(Clk_i),
 	.Rst_i		(Rst_i|NcoRst_i),
 	.Rst_i		(Rst_i|NcoRst_i),
 	.Val_i		(1'b1),
 	.Val_i		(1'b1),
-	.PhaseInc_i	({ifFtw1HReg[0+:WindNcoPhIncWidth-CmdDataRegWith],ifFtw1LReg}),
+	// .PhaseInc_i	({ifFtw1HReg[0+:WindNcoPhIncWidth-CmdDataRegWith],ifFtw1LReg}),
+	.PhaseInc_i	({ifFtw2HReg[0+:WindNcoPhIncWidth-CmdDataRegWith],ifFtw2LReg}),
 	.WindVal_i	(1'b1),
 	.WindVal_i	(1'b1),
 	.WinType_i	(),
 	.WinType_i	(),
 	.Wind_o		(),
 	.Wind_o		(),
@@ -382,7 +396,8 @@ ncoSecondTone
 	.Clk_i		(Clk_i),
 	.Clk_i		(Clk_i),
 	.Rst_i		(Rst_i|NcoRst_i),
 	.Rst_i		(Rst_i|NcoRst_i),
 	.Val_i		(1'b1),
 	.Val_i		(1'b1),
-	.PhaseInc_i	({ifFtw2HReg[0+:WindNcoPhIncWidth-CmdDataRegWith],ifFtw2LReg}),
+	// .PhaseInc_i	({ifFtw2HReg[0+:WindNcoPhIncWidth-CmdDataRegWith],ifFtw2LReg}),
+	.PhaseInc_i	({ifFtw1HReg[0+:WindNcoPhIncWidth-CmdDataRegWith],ifFtw1LReg}),
 	.WindVal_i	(1'b1),
 	.WindVal_i	(1'b1),
 	.WinType_i	(),
 	.WinType_i	(),
 	.Wind_o		(),
 	.Wind_o		(),
@@ -451,21 +466,17 @@ generate
 			.MeasWindEnd_i		(measWindEnd),
 			.MeasWindEnd_i		(measWindEnd),
 			.StartFpConv_i		(measWindEnd),
 			.StartFpConv_i		(measWindEnd),
 			
 			
-			.FilterCorrCoef_i	({filterCorrCoefHReg[0+:WindNcoPhIncWidth-CmdDataRegWith],filterCorrCoefLReg}),
-			// .FilterCorrCoef_i	(32'h3f800000),
+			// .FilterCorrCoef_i	({filterCorrCoefHReg[0+:WindNcoPhIncWidth-CmdDataRegWith],filterCorrCoefLReg}),
+			.FilterCorrCoef_i	(32'h3f800000),
 			.AverageNoizeLvl_i	(averageNoizeLvl),
 			.AverageNoizeLvl_i	(averageNoizeLvl),
 			// .AdcData_i			(gatedAdcDataBus[g]),
 			// .AdcData_i			(gatedAdcDataBus[g]),
 			.AdcData_i			(adcDataBus[g]),
 			.AdcData_i			(adcDataBus[g]),
-			// .AdcData_i			({{2{ncoCosFirstTone[17]}},ncoCosFirstTone}),
 			.Wind_i				(wind),
 			.Wind_i				(wind),
-			// .NcoSin_i			(ncoSinFirstTone),
-			// .NcoCos_i			(ncoCosFirstTone),
 			
 			
 			.NcoSin_i			(currNcoSinTone[g]),
 			.NcoSin_i			(currNcoSinTone[g]),
 			.NcoCos_i			(currNcoCosTone[g]),	
 			.NcoCos_i			(currNcoCosTone[g]),	
-			.NormCoef_i			(windNormCoef),
-			// .NormCoef_i			(32'h3f800000),
-			// .NormCoef_i			(32'h3f03993a),
+			// .NormCoef_i			(windNormCoef),
+			.NormCoef_i			(32'h3f800000),
 
 
 			.CorrResultIm_o		(resultImBus[g]),
 			.CorrResultIm_o		(resultImBus[g]),
 			.CorrResultRe_o		(resultReBus[g]),
 			.CorrResultRe_o		(resultReBus[g]),

+ 23 - 16
S5444_S/src/src/InternalDsp/InternalDsp.v

@@ -167,7 +167,7 @@ module InternalDsp
 	assign	adcDataBusExt	[ChNum-1]	=	calAdcData	[ChNum-1]+prngDataBus[ChNum-1];
 	assign	adcDataBusExt	[ChNum-1]	=	calAdcData	[ChNum-1]+prngDataBus[ChNum-1];
 	assign	adcDataBusExt	[ChNum-2]	=	calAdcData	[ChNum-2]+prngDataBus[ChNum-2];
 	assign	adcDataBusExt	[ChNum-2]	=	calAdcData	[ChNum-2]+prngDataBus[ChNum-2];
 	assign	adcDataBusExt	[ChNum-3]	=	calAdcData	[ChNum-3]+prngDataBus[ChNum-3];
 	assign	adcDataBusExt	[ChNum-3]	=	calAdcData	[ChNum-3]+prngDataBus[ChNum-3];
-	assign	adcDataBusExt	[ChNum-4]	=	calAdcData	[ChNum-4]+prngDataBus[ChNum-4];
+	assign	adcDataBusExt	[ChNum-4]	=	calAdcData	[ChNum-4]+prngDataBus[ChNum-4];	
 	
 	
 	assign	gatedAdcDataBus	[ChNum-1]	=	adc2ChT2DataGated;
 	assign	gatedAdcDataBus	[ChNum-1]	=	adc2ChT2DataGated;
 	assign	gatedAdcDataBus	[ChNum-2]	=	adc2ChR2DataGated;
 	assign	gatedAdcDataBus	[ChNum-2]	=	adc2ChR2DataGated;
@@ -203,7 +203,8 @@ wire signed [AdcDataWidth-1:0] ncoSinSecondToneCut = ncoSinSecondTone[NcoWidth-1
 wire signed [AdcDataWidth-1:0] notNcoSinSecondToneCut = ~ncoSinSecondToneCut;
 wire signed [AdcDataWidth-1:0] notNcoSinSecondToneCut = ~ncoSinSecondToneCut;
 
 
 
 
-wire signed [AdcDataWidth-1:0] ncoSum = ncoSinFirstToneCut+notNcoSinSecondToneCut;
+wire signed [AdcDataWidth:0] ncoSumExt = ncoSinFirstToneCut+notNcoSinSecondToneCut;
+wire signed [AdcDataWidth-1:0] ncoSum = ncoSumExt[AdcDataWidth-:AdcDataWidth];
 wire signed [AdcDataWidth-1:0] ncoSumShifted = ncoSum>>>1;
 wire signed [AdcDataWidth-1:0] ncoSumShifted = ncoSum>>>1;
 
 
 
 
@@ -224,14 +225,24 @@ always	@(*)	begin
 			adc1ChR1DataR	= ncoSum;
 			adc1ChR1DataR	= ncoSum;
 			adc2ChR2DataR	= ncoSum;
 			adc2ChR2DataR	= ncoSum;
 			adc2ChT2DataR	= ncoSumShifted;
 			adc2ChT2DataR	= ncoSumShifted;
-			currNcoSinTone [0] = ncoSinFirstTone;
-			currNcoSinTone [1] = ncoSinFirstTone;
-			currNcoSinTone [2] = ncoSinSecondTone;
-			currNcoSinTone [3] = ncoSinSecondTone;
-			currNcoCosTone [0] = ncoCosFirstTone;
-			currNcoCosTone [1] = ncoCosFirstTone;
-			currNcoCosTone [2] = ncoCosSecondTone;
-			currNcoCosTone [3] = ncoCosSecondTone;
+			// currNcoSinTone [0] = ncoSinFirstTone;
+			// currNcoSinTone [1] = ncoSinFirstTone;
+			// currNcoSinTone [2] = ncoSinSecondTone;
+			// currNcoSinTone [3] = ncoSinSecondTone;
+			// currNcoCosTone [0] = ncoCosFirstTone;
+			// currNcoCosTone [1] = ncoCosFirstTone;
+			// currNcoCosTone [2] = ncoCosSecondTone;
+			// currNcoCosTone [3] = ncoCosSecondTone;
+			 
+			currNcoSinTone [0] = ncoSinSecondTone;
+			currNcoSinTone [1] = ncoSinSecondTone;
+			currNcoSinTone [2] = ncoSinFirstTone;
+			currNcoSinTone [3] = ncoSinFirstTone;
+			currNcoCosTone [0] = ncoCosSecondTone;
+			currNcoCosTone [1] = ncoCosSecondTone;
+			currNcoCosTone [2] = ncoCosFirstTone;
+			currNcoCosTone [3] = ncoCosFirstTone;
+			
 		end else begin
 		end else begin
 			adc1ChT1DataR	= Adc1ChT1Data_i;
 			adc1ChT1DataR	= Adc1ChT1Data_i;
 			adc1ChR1DataR	= Adc1ChR1Data_i;
 			adc1ChR1DataR	= Adc1ChR1Data_i;
@@ -454,18 +465,14 @@ generate
 			.FilterCorrCoef_i	({filterCorrCoefHReg[0+:WindNcoPhIncWidth-CmdDataRegWith],filterCorrCoefLReg}),
 			.FilterCorrCoef_i	({filterCorrCoefHReg[0+:WindNcoPhIncWidth-CmdDataRegWith],filterCorrCoefLReg}),
 			// .FilterCorrCoef_i	(32'h3f800000),
 			// .FilterCorrCoef_i	(32'h3f800000),
 			.AverageNoizeLvl_i	(averageNoizeLvl),
 			.AverageNoizeLvl_i	(averageNoizeLvl),
-			// .AdcData_i			(gatedAdcDataBus[g]),
-			.AdcData_i			(adcDataBus[g]),
-			// .AdcData_i			({{2{ncoCosFirstTone[17]}},ncoCosFirstTone}),
+			.AdcData_i			(gatedAdcDataBus[g]),
+			// .AdcData_i			(adcDataBus[g]),
 			.Wind_i				(wind),
 			.Wind_i				(wind),
-			// .NcoSin_i			(ncoSinFirstTone),
-			// .NcoCos_i			(ncoCosFirstTone),
 			
 			
 			.NcoSin_i			(currNcoSinTone[g]),
 			.NcoSin_i			(currNcoSinTone[g]),
 			.NcoCos_i			(currNcoCosTone[g]),	
 			.NcoCos_i			(currNcoCosTone[g]),	
 			.NormCoef_i			(windNormCoef),
 			.NormCoef_i			(windNormCoef),
 			// .NormCoef_i			(32'h3f800000),
 			// .NormCoef_i			(32'h3f800000),
-			// .NormCoef_i			(32'h3f03993a),
 
 
 			.CorrResultIm_o		(resultImBus[g]),
 			.CorrResultIm_o		(resultImBus[g]),
 			.CorrResultRe_o		(resultReBus[g]),
 			.CorrResultRe_o		(resultReBus[g]),