|
|
@@ -33,10 +33,11 @@ wire respVal;
|
|
|
|
|
|
// wire signed [27:0] adcDataMixed = oscWind?(ncoSin1*ncoSin2):28'd0;
|
|
|
wire signed [27:0] adcDataMixed = (ncoSin1*ncoSin2);
|
|
|
-wire signed [13:0] adcDataMixedCut = adcDataMixed[27-:14];
|
|
|
+wire signed [13:0] adcDataMixedCut = adcDataMixed[26-:14];
|
|
|
|
|
|
-wire signed [13:0] sinAdd = (ncoSin1>>>2)+(ncoSin2>>>2)+(ncoSin3>>>2);
|
|
|
+// wire signed [13:0] sinAdd = (ncoSin1>>>2)+(ncoSin2>>>2)+(ncoSin3>>>2);
|
|
|
// wire signed [13:0] sinAdd = (ncoSin1>>>1)+(ncoSin2>>>1);
|
|
|
+wire signed [13:0] sinAdd = (ncoSin1);
|
|
|
|
|
|
reg signed [13:0] currTestData;
|
|
|
|
|
|
@@ -49,12 +50,19 @@ wire signed [13:0] singlePulse = (tbCnt==4500)? 14'h1fff:14'h0;
|
|
|
always #10 Clk50 = ~Clk50;
|
|
|
|
|
|
//==========================================================================================
|
|
|
-
|
|
|
parameter N = 1;
|
|
|
parameter M = 1;
|
|
|
|
|
|
parameter MaxWidth = 16;
|
|
|
|
|
|
+parameter LsbForR1 = 10'd16;
|
|
|
+parameter LsbForR2 = 10'd16;
|
|
|
+parameter LsbForR4 = 10'd16;
|
|
|
+
|
|
|
+parameter [31:0] Nco1PhaseInc = 32'h0f5c28f5;
|
|
|
+parameter [31:0] Nco2PhaseInc = 32'h428f5c28;
|
|
|
+parameter [31:0] Nco3PhaseInc = 32'h428f5c28;
|
|
|
+
|
|
|
initial begin
|
|
|
Clk50 = 1'b1;
|
|
|
Rst = 1'b1;
|
|
|
@@ -73,7 +81,7 @@ always @(posedge Clk50) begin
|
|
|
end
|
|
|
end
|
|
|
|
|
|
-reg [10:0] oscWindDelay;
|
|
|
+reg [20:0] oscWindDelay;
|
|
|
|
|
|
always @(posedge Clk50) begin
|
|
|
if (!Rst) begin
|
|
|
@@ -118,7 +126,7 @@ ncoInst1
|
|
|
.Clk_i (Clk50),
|
|
|
.Rst_i (Rst),
|
|
|
.Val_i (1'b1),
|
|
|
- .PhaseInc_i (32'h0f5c28f5),
|
|
|
+ .PhaseInc_i (Nco1PhaseInc),
|
|
|
.WindVal_i (1'b1),
|
|
|
.WinType_i (),
|
|
|
.Wind_o (),
|
|
|
@@ -139,7 +147,7 @@ ncoInst2
|
|
|
.Clk_i (Clk50),
|
|
|
.Rst_i (Rst),
|
|
|
.Val_i (1'b1),
|
|
|
- .PhaseInc_i (32'h33333333),
|
|
|
+ .PhaseInc_i (Nco2PhaseInc),
|
|
|
.WindVal_i (1'b1),
|
|
|
.WinType_i (),
|
|
|
.Wind_o (),
|
|
|
@@ -160,7 +168,7 @@ ncoInst3
|
|
|
.Clk_i (Clk50),
|
|
|
.Rst_i (Rst),
|
|
|
.Val_i (1'b1),
|
|
|
- .PhaseInc_i (32'h4ccccccc),
|
|
|
+ .PhaseInc_i (Nco3PhaseInc),
|
|
|
.WindVal_i (1'b1),
|
|
|
.WinType_i (),
|
|
|
.Wind_o (),
|
|
|
@@ -178,9 +186,9 @@ DecimFilterWrapper
|
|
|
.FilteredDataWidth (MaxWidth),
|
|
|
.FirOutDataWidth (48),
|
|
|
.FirOutCutBit (42),
|
|
|
- .LsbForR1 (10'd16),
|
|
|
- .LsbForR2 (10'd16),
|
|
|
- .LsbForR4 (10'd16)
|
|
|
+ .LsbForR1 (LsbForR1),
|
|
|
+ .LsbForR2 (LsbForR2),
|
|
|
+ .LsbForR4 (LsbForR4)
|
|
|
)
|
|
|
DecimFilter
|
|
|
(
|
|
|
@@ -192,9 +200,9 @@ DecimFilter
|
|
|
.IfFtwL_i (24'h51eb85),
|
|
|
.IfFtwH_i (24'h23),
|
|
|
|
|
|
- // .AdcData_i (sinAdd),
|
|
|
- .AdcData_i (adcDataMixedCut),
|
|
|
- // .AdcData_i (adcData),
|
|
|
+ .AdcData_i (sinAdd),
|
|
|
+ // .AdcData_i (adcDataMixedCut),
|
|
|
+ // .AdcData_i (ncoSin1),
|
|
|
|
|
|
.FilteredAdcDataI_o (filteredDataOut),
|
|
|
.FilteredAdcDataQ_o (),
|
|
|
@@ -209,9 +217,9 @@ DecimFilterWrapper
|
|
|
.FilteredDataWidth (MaxWidth),
|
|
|
.FirOutDataWidth (48),
|
|
|
.FirOutCutBit (42),
|
|
|
- .LsbForR1 (10'd16),
|
|
|
- .LsbForR2 (10'd16),
|
|
|
- .LsbForR4 (10'd16)
|
|
|
+ .LsbForR1 (LsbForR1),
|
|
|
+ .LsbForR2 (LsbForR2),
|
|
|
+ .LsbForR4 (LsbForR4)
|
|
|
)
|
|
|
ImpulseResponseFilter
|
|
|
(
|
|
|
@@ -294,8 +302,8 @@ always @(posedge Clk50) begin
|
|
|
end else begin
|
|
|
if (oscWind) begin
|
|
|
// $display("AdcData is %d", sinAdd);
|
|
|
- // $fwrite(inSignal,"%d\n", sinAdd);
|
|
|
- $fwrite(inSignal,"%d\n", adcDataMixed);
|
|
|
+ $fwrite(inSignal,"%d\n", sinAdd);
|
|
|
+ // $fwrite(inSignal,"%d\n", adcDataMixedCut);
|
|
|
end
|
|
|
end
|
|
|
end
|