Skip to content

Commit cd11e98

Browse files
authored
axi_ad9361: Fix TX channel disable (#1058)
Ensures unused TX channels are entirely removed during synthesis when MODE_1R1T is set. Disables the TX channels similar to the RX channel module (axi_ad9361_rx_channel.v ). Signed-off-by: Brett Witherspoon <brett@witherspoon.engineering>
1 parent 80a2c7f commit cd11e98

File tree

1 file changed

+25
-6
lines changed

1 file changed

+25
-6
lines changed

library/axi_ad9361/axi_ad9361_tx_channel.v

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,22 @@ module axi_ad9361_tx_channel #(
237237
end
238238
endfunction
239239

240+
// data-path disable
241+
242+
generate
243+
if (DISABLE == 1) begin
244+
assign dac_data = 12'd0;
245+
assign dac_data_out = 12'd0;
246+
assign dac_enable = 1'd0;
247+
assign up_wack = 1'd0;
248+
assign up_rdata = 32'd0;
249+
assign up_rack = 1'd0;
250+
end
251+
endgenerate
252+
253+
generate
254+
if (DISABLE == 0) begin
255+
240256
// global toggle
241257

242258
always @(posedge dac_clk) begin
@@ -249,8 +265,8 @@ module axi_ad9361_tx_channel #(
249265

250266
// dac iq correction
251267

252-
assign dac_enable = (DISABLE == 1) ? 1'd0 : dac_enable_int;
253-
assign dac_data = (DISABLE == 1) ? 12'd0 : dac_data_int;
268+
assign dac_enable = dac_enable_int;
269+
assign dac_data = dac_data_int;
254270

255271
always @(posedge dac_clk) begin
256272
dac_enable_int <= (dac_data_sel_s == 4'h2) ? 1'b1 : 1'b0;
@@ -275,7 +291,7 @@ module axi_ad9361_tx_channel #(
275291

276292
// dac mux
277293

278-
assign dac_data_out = (DISABLE == 1) ? 12'd0 : dac_data_out_int;
294+
assign dac_data_out = dac_data_out_int;
279295

280296
always @(posedge dac_clk) begin
281297
case (dac_data_sel_s)
@@ -342,9 +358,9 @@ module axi_ad9361_tx_channel #(
342358

343359
// single channel processor
344360

345-
assign up_wack = (DISABLE == 1) ? 1'd0 : up_wack_s;
346-
assign up_rack = (DISABLE == 1) ? 1'd0 : up_rack_s;
347-
assign up_rdata = (DISABLE == 1) ? 32'd0 : up_rdata_s;
361+
assign up_wack = up_wack_s;
362+
assign up_rack = up_rack_s;
363+
assign up_rdata = up_rdata_s;
348364

349365
up_dac_channel #(
350366
.COMMON_ID (6'h11),
@@ -394,4 +410,7 @@ module axi_ad9361_tx_channel #(
394410
.up_rdata (up_rdata_s),
395411
.up_rack (up_rack_s));
396412

413+
end
414+
endgenerate
415+
397416
endmodule

0 commit comments

Comments
 (0)