v04-round
This commit is contained in:
parent
e2c8c38898
commit
8d46d2bbd3
|
@ -274,6 +274,98 @@ inst_iir_5
|
|||
.saturation (saturation_5 )
|
||||
);
|
||||
|
||||
reg signed [35:0] dout_round_0;
|
||||
reg signed [35:0] dout_round_1;
|
||||
reg signed [35:0] dout_round_2;
|
||||
reg signed [35:0] dout_round_3;
|
||||
reg signed [35:0] dout_round_4;
|
||||
reg signed [35:0] dout_round_5;
|
||||
|
||||
always@(posedge clk or negedge rstn)
|
||||
if(!rstn)
|
||||
begin
|
||||
dout_round_0 <= 'h0;
|
||||
end
|
||||
else if(dout_0[35] == 1'b0)
|
||||
begin
|
||||
dout_round_0 <= dout_0 + {{1'b1},{(frac_data_out_width-1){1'b0}}};
|
||||
end
|
||||
else if (dout_0[35] == 1'b1)
|
||||
begin
|
||||
dout_round_0 <= dout_0 + {{1'b1},{(frac_data_out_width-1){1'b0}}} - 1'b1;
|
||||
end
|
||||
|
||||
always@(posedge clk or negedge rstn)
|
||||
if(!rstn)
|
||||
begin
|
||||
dout_round_1 <= 'h0;
|
||||
end
|
||||
else if(dout_1[35] == 1'b0)
|
||||
begin
|
||||
dout_round_1 <= dout_1 + {{1'b1},{(frac_data_out_width-1){1'b0}}};
|
||||
end
|
||||
else if (dout_1[35] == 1'b1)
|
||||
begin
|
||||
dout_round_1 <= dout_1 + {{1'b1},{(frac_data_out_width-1){1'b0}}} - 1'b1;
|
||||
end
|
||||
|
||||
always@(posedge clk or negedge rstn)
|
||||
if(!rstn)
|
||||
begin
|
||||
dout_round_2 <= 'h0;
|
||||
end
|
||||
else if(dout_2[35] == 1'b0)
|
||||
begin
|
||||
dout_round_2 <= dout_2 + {{1'b1},{(frac_data_out_width-1){1'b0}}};
|
||||
end
|
||||
else if (dout_2[35] == 1'b1)
|
||||
begin
|
||||
dout_round_2 <= dout_2 + {{1'b1},{(frac_data_out_width-1){1'b0}}} - 1'b1;
|
||||
end
|
||||
|
||||
always@(posedge clk or negedge rstn)
|
||||
if(!rstn)
|
||||
begin
|
||||
dout_round_3 <= 'h0;
|
||||
end
|
||||
else if(dout_3[35] == 1'b0)
|
||||
begin
|
||||
dout_round_3 <= dout_3 + {{1'b1},{(frac_data_out_width-1){1'b0}}};
|
||||
end
|
||||
else if (dout_3[35] == 1'b1)
|
||||
begin
|
||||
dout_round_3 <= dout_3 + {{1'b1},{(frac_data_out_width-1){1'b0}}} - 1'b1;
|
||||
end
|
||||
|
||||
always@(posedge clk or negedge rstn)
|
||||
if(!rstn)
|
||||
begin
|
||||
dout_round_4 <= 'h0;
|
||||
end
|
||||
else if(dout_4[35] == 1'b0)
|
||||
begin
|
||||
dout_round_4 <= dout_4 + {{1'b1},{(frac_data_out_width-1){1'b0}}};
|
||||
end
|
||||
else if (dout_4[35] == 1'b1)
|
||||
begin
|
||||
dout_round_4 <= dout_4 + {{1'b1},{(frac_data_out_width-1){1'b0}}} - 1'b1;
|
||||
end
|
||||
|
||||
always@(posedge clk or negedge rstn)
|
||||
if(!rstn)
|
||||
begin
|
||||
dout_round_5 <= 'h0;
|
||||
end
|
||||
else if(dout_5[35] == 1'b0)
|
||||
begin
|
||||
dout_round_5 <= dout_5 + {{1'b1},{(frac_data_out_width-1){1'b0}}};
|
||||
end
|
||||
else if (dout_5[35] == 1'b1)
|
||||
begin
|
||||
dout_round_5 <= dout_5 + {{1'b1},{(frac_data_out_width-1){1'b0}}} - 1'b1;
|
||||
end
|
||||
|
||||
|
||||
wire signed [15:0] dout_cut_0;
|
||||
wire signed [15:0] dout_cut_1;
|
||||
wire signed [15:0] dout_cut_2;
|
||||
|
@ -281,22 +373,17 @@ wire signed [15:0] dout_cut_3;
|
|||
wire signed [15:0] dout_cut_4;
|
||||
wire signed [15:0] dout_cut_5;
|
||||
|
||||
assign dout_cut_0 = dout_0[35:20];
|
||||
assign dout_cut_1 = dout_1[35:20];
|
||||
assign dout_cut_2 = dout_2[35:20];
|
||||
assign dout_cut_3 = dout_3[35:20];
|
||||
assign dout_cut_4 = dout_4[35:20];
|
||||
assign dout_cut_5 = dout_5[35:20];
|
||||
assign dout_cut_0 = dout_round_0[35:20];
|
||||
assign dout_cut_1 = dout_round_1[35:20];
|
||||
assign dout_cut_2 = dout_round_2[35:20];
|
||||
assign dout_cut_3 = dout_round_3[35:20];
|
||||
assign dout_cut_4 = dout_round_4[35:20];
|
||||
assign dout_cut_5 = dout_round_5[35:20];
|
||||
|
||||
reg signed [15:0] din_r0;
|
||||
reg signed [15:0] din_r1;
|
||||
reg signed [15:0] din_r2;
|
||||
reg signed [15:0] din_r3;
|
||||
reg signed [15:0] din_r4;
|
||||
reg signed [15:0] din_r5;
|
||||
reg signed [15:0] din_r6;
|
||||
reg signed [15:0] din_r7;
|
||||
|
||||
|
||||
always @(posedge clk or negedge rstn)
|
||||
if (!rstn)
|
||||
|
@ -305,10 +392,6 @@ always @(posedge clk or negedge rstn)
|
|||
din_r1 <= 'h0;
|
||||
din_r2 <= 'h0;
|
||||
din_r3 <= 'h0;
|
||||
din_r4 <= 'h0;
|
||||
din_r5 <= 'h0;
|
||||
din_r6 <= 'h0;
|
||||
din_r7 <= 'h0;
|
||||
end
|
||||
else if(en)
|
||||
begin
|
||||
|
@ -316,10 +399,6 @@ always @(posedge clk or negedge rstn)
|
|||
din_r1 <= din_r0;
|
||||
din_r2 <= din_r1;
|
||||
din_r3 <= din_r2;
|
||||
din_r4 <= din_r3;
|
||||
din_r5 <= din_r4;
|
||||
din_r6 <= din_r5;
|
||||
din_r7 <= din_r6;
|
||||
end
|
||||
else
|
||||
begin
|
||||
|
@ -327,13 +406,9 @@ always @(posedge clk or negedge rstn)
|
|||
din_r1 <= din_r1;
|
||||
din_r2 <= din_r2;
|
||||
din_r3 <= din_r3;
|
||||
din_r4 <= din_r4;
|
||||
din_r5 <= din_r5;
|
||||
din_r6 <= din_r6;
|
||||
din_r7 <= din_r7;
|
||||
end
|
||||
|
||||
assign Ysum = dout_cut_0 + dout_cut_1 + dout_cut_2 + dout_cut_3 + dout_cut_4 + dout_cut_5 +din_r2;
|
||||
assign Ysum = din_r3 + dout_cut_0 + dout_cut_1 + dout_cut_2 + dout_cut_3 + dout_cut_4 + dout_cut_5;
|
||||
|
||||
always@(posedge clk or negedge rstn)
|
||||
if (!rstn)begin
|
||||
|
|
|
@ -294,9 +294,9 @@ assign tc_bypass = 1'b0;
|
|||
|
||||
z_dsp inst_Z_dsp
|
||||
(
|
||||
.clk (clk_h ),
|
||||
.clk (clk_l ),
|
||||
.rstn (rstn ),
|
||||
.en (clk_l ),
|
||||
.en (en ),
|
||||
.tc_bypass (tc_bypass ),
|
||||
.dac_mode_sel (dac_mode_sel ),
|
||||
.intp_mode (intp_mode ),
|
||||
|
@ -333,10 +333,17 @@ z_dsp inst_Z_dsp
|
|||
.dout4 (dout_p4 ),
|
||||
.dout5 (dout_p5 ),
|
||||
.dout6 (dout_p6 ),
|
||||
.dout7 (dout_p7 )
|
||||
.dout7 (dout_p7 ),
|
||||
.vldo ( ),
|
||||
.saturation_0 ( ),
|
||||
.saturation_1 ( ),
|
||||
.saturation_2 ( ),
|
||||
.saturation_3 ( ),
|
||||
.saturation_4 ( ),
|
||||
.saturation_5 ( )
|
||||
|
||||
);
|
||||
|
||||
/*
|
||||
wire [15:0] dout_clkl_p0;
|
||||
wire [15:0] dout_clkl_p1;
|
||||
wire [15:0] dout_clkl_p2;
|
||||
|
@ -391,6 +398,7 @@ z_dsp inst1_Z_dsp
|
|||
.dout7 (dout_clkl_p7 )
|
||||
|
||||
);
|
||||
*/
|
||||
|
||||
reg [15:0] dout_p0_r1 = 0;
|
||||
reg [15:0] dout_p1_r1 = 0;
|
||||
|
@ -511,7 +519,7 @@ always@(*)
|
|||
endcase
|
||||
join
|
||||
|
||||
|
||||
/*
|
||||
reg [15:0] cs_wave1 = 0;
|
||||
|
||||
always@(*)
|
||||
|
@ -551,6 +559,7 @@ always@(*)
|
|||
|
||||
wire [15:0] diff;
|
||||
assign diff = cs_wave1 - cs_wave;
|
||||
*/
|
||||
integer signed In_fid;
|
||||
integer signed diff_fid;
|
||||
integer signed OrgOut_fid;
|
||||
|
@ -577,9 +586,9 @@ end
|
|||
always@(posedge clk_l)
|
||||
if(cnt >= 90)
|
||||
begin
|
||||
$fwrite(In_fid,"%d\n",$signed(TB.inst1_Z_dsp.inst_TailCorr_top.din_r1));
|
||||
$fwrite(diff_fid,"%d\n",$signed(TB.inst1_Z_dsp.inst_TailCorr_top.IIRin_re));
|
||||
$fwrite(OrgOut_fid,"%d\n",$signed(TB.inst1_Z_dsp.inst_TailCorr_top.dout));
|
||||
$fwrite(In_fid,"%d\n",$signed(TB.inst_Z_dsp.inst_TailCorr_top.din_r1));
|
||||
$fwrite(diff_fid,"%d\n",$signed(TB.inst_Z_dsp.inst_TailCorr_top.IIRin_re));
|
||||
$fwrite(OrgOut_fid,"%d\n",$signed(TB.inst_Z_dsp.inst_TailCorr_top.dout));
|
||||
end
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue