8000 common: clean up synthesis warnings · analogdevicesinc/hdl@4bcf45a · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Commit 4bcf45a

Browse files
ronagylCsomi
authored andcommitted
common: clean up synthesis warnings
Removed unused registers and define registers only when they are in use.
1 parent b6d2def commit 4bcf45a

File tree

2 files changed

+43
-23
lines changed

2 files changed

+43
-23
lines changed

library/common/ad_addsub.v

-2
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ module ad_addsub #(
5959
reg [A_DATA_WIDTH:0] out_d = 'b0;
6060
reg [A_DATA_WIDTH:0] out_d2 = 'b0;
6161
reg [(A_DATA_WIDTH-1):0] A_d = 'b0;
62-
reg [(A_DATA_WIDTH-1):0] A_d2 = 'b0;
6362
reg [(A_DATA_WIDTH-1):0] Amax_d = 'b0;
6463
reg [(A_DATA_WIDTH-1):0] Amax_d2 = 'b0;
6564

@@ -71,7 +70,6 @@ module ad_addsub #(
7170

7271
always @(posedge clk) begin
7372
A_d <= A;
74-
A_d2 <= A_d;
7573
Amax_d <= Amax;
7674
Amax_d2 <= Amax_d;
7775
end

library/common/ad_iqcor.v

+43-21
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,6 @@ module ad_iqcor #(
6464
// internal registers
6565

6666
reg p1_valid = 'd0;
67-
reg [15:0] p1_data_i = 'd0;
68-
reg [15:0] p1_data_q = 'd0;
6967
reg [33:0] p1_data_p = 'd0;
7068
reg valid_int = 'd0;
7169
reg [15:0] data_int = 'd0;
@@ -81,16 +79,18 @@ module ad_iqcor #(
8179
wire [15:0] p1_data_i_s;
8280
wire [33:0] p1_data_p_q_s;
8381
wire [15:0] p1_data_q_s;
82+
wire [15:0] p1_data_i_int;
83+
wire [15:0] p1_data_q_int;
8484

8585
// data-path disable
8686

8787
generate
8888
if (DISABLE == 1) begin
89-
assign valid_out = valid;
90-
assign data_out = data_in;
89+
assign valid_out = valid;
90+
assign data_out = data_in;
9191
end else begin
92-
assign valid_out = valid_int;
93-
assign data_out = data_int;
92+
assign valid_out = valid_int;
93+
assign data_out = data_int;
9494
end
9595
endgenerate
9696

@@ -116,29 +116,51 @@ module ad_iqcor #(
116116
.ddata_in ({valid, data_i_s}),
117117
.ddata_out ({p1_valid_s, p1_data_i_s}));
118118

119-
generate
119+
generate
120120
if (SCALE_ONLY == 0) begin
121-
// scaling functions - q
121+
// scaling functions - q
122122

123-
ad_mul #(.DELAY_DATA_WIDTH(16)) i_mul_q (
124-
.clk (clk),
125-
.data_a ({data_q_s[15], data_q_s}),
126-
.data_b ({iqcor_coeff_2_r[15], iqcor_coeff_2_r}),
127-
.data_p (p1_data_p_q_s),
128-
.ddata_in (data_q_s),
129-
.ddata_out (p1_data_q_s));
123+
ad_mul #(.DELAY_DATA_WIDTH(16)) i_mul_q (
124+
.clk (clk),
125+
.data_a ({data_q_s[15], data_q_s}),
126+
.data_b ({iqcor_coeff_2_r[15], iqcor_coeff_2_r}),
127+
.data_p (p1_data_p_q_s),
128+
.ddata_in (data_q_s),
129+
.ddata_out (p1_data_q_s));
130130

131131
// sum
132132
end else begin
133-
assign p1_data_p_q_s = 34'h0;
134-
assign p1_data_q_s = 16'h0;
133+
assign p1_data_p_q_s = 34'h0;
134+
assign p1_data_q_s = 16'h0;
135+
end
136+
137+
endgenerate
138+
generate
139+
if (Q_OR_I_N == 1 && SCALE_ONLY == 0) begin
140+
reg [15:0] p1_data_q = 'd0;
141+
142+
always @(posedge clk) begin
143+
p1_data_q <= p1_data_q_s;
144+
end
145+
146+
assign p1_data_i_int = 16'h0;
147+
assign p1_data_q_int = p1_data_q;
148+
149+
// sum
150+
end else begin
151+
reg [15:0] p1_data_i = 'd0;
152+
153+
always @(posedge clk) begin
154+
p1_data_i <= p1_data_i_s;
155+
end
156+
157+
assign p1_data_i_int = p1_data_i;
158+
assign p1_data_q_int = 16'h0;
135159
end
136160
endgenerate
137161

138162
always @(posedge clk) begin
139163
p1_valid <= p1_valid_s;
140-
p1_data_i <= p1_data_i_s;
141-
p1_data_q <= p1_data_q_s;
142164
p1_data_p <= p1_data_p_i_s + p1_data_p_q_s;
143165
end
144166
// output registers
@@ -148,9 +170,9 @@ module ad_iqcor #(
148170
if (iqcor_enable == 1'b1) begin
149171
data_int <= p1_data_p[29:14];
150172
end else if (Q_OR_I_N == 1 && SCALE_ONLY == 0) begin
151-
data_int <= p1_data_q;
173+
data_int <= p1_data_q_int;
152174
end else begin
153-
data_int <= p1_data_i;
175+
data_int <= p1_data_i_int;
154176
end
155177
end
156178

0 commit comments

Comments
 (0)
0