Skip to content

Commit e7bb67c

Browse files
committed
data_offload: Remove bypass_fifo instance when HAS_BYPASS=0
Signed-off-by: Filip Gherman <[email protected]>
1 parent 580df69 commit e7bb67c

File tree

1 file changed

+32
-27
lines changed

1 file changed

+32
-27
lines changed

library/data_offload/data_offload.v

Lines changed: 32 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,6 @@ module data_offload #(
235235
(dst_bypass_s) ? data_bypass_s : s_storage_axis_data;
236236
assign m_axis_last = (dst_bypass_s) ? 1'b0 : s_storage_axis_last;
237237
assign m_axis_tkeep = (dst_bypass_s) ? {DST_DATA_WIDTH/8{1'b1}} : s_storage_axis_tkeep;
238-
239238
assign s_axis_ready = src_bypass_s ? ready_bypass_s : (wr_ready & m_storage_axis_ready);
240239

241240
assign m_storage_axis_valid = s_axis_valid & wr_ready;
@@ -248,32 +247,38 @@ module data_offload #(
248247
// Bypass module instance -- the same FIFO, just a smaller depth
249248
// NOTE: Generating an overflow is making sense just in BYPASS mode, and
250249
// it's supported just with the FIFO interface
251-
util_axis_fifo_asym #(
252-
.S_DATA_WIDTH (SRC_DATA_WIDTH),
253-
.ADDRESS_WIDTH (SRC_ADDR_WIDTH_BYPASS),
254-
.M_DATA_WIDTH (DST_DATA_WIDTH),
255-
.ASYNC_CLK (1)
256-
) i_bypass_fifo (
257-
.m_axis_aclk (m_axis_aclk),
258-
.m_axis_aresetn (dst_rstn),
259-
.m_axis_ready (m_axis_ready),
260-
.m_axis_valid (valid_bypass_s),
261-
.m_axis_data (data_bypass_s),
262-
.m_axis_tlast (),
263-
.m_axis_empty (),
264-
.m_axis_almost_empty (),
265-
.m_axis_tkeep (),
266-
.m_axis_level (),
267-
.s_axis_aclk (s_axis_aclk),
268-
.s_axis_aresetn (src_rstn),
269-
.s_axis_ready (ready_bypass_s),
270-
.s_axis_valid (s_axis_valid & src_bypass_s),
271-
.s_axis_data (s_axis_data),
272-
.s_axis_tlast (),
273-
.s_axis_full (),
274-
.s_axis_almost_full (),
275-
.s_axis_tkeep (),
276-
.s_axis_room ());
250+
generate if (HAS_BYPASS) begin
251+
util_axis_fifo_asym #(
252+
.S_DATA_WIDTH (SRC_DATA_WIDTH),
253+
.ADDRESS_WIDTH (SRC_ADDR_WIDTH_BYPASS),
254+
.M_DATA_WIDTH (DST_DATA_WIDTH),
255+
.ASYNC_CLK (1)
256+
) i_bypass_fifo (
257+
.m_axis_aclk (m_axis_aclk),
258+
.m_axis_aresetn (dst_rstn),
259+
.m_axis_ready (m_axis_ready),
260+
.m_axis_valid (valid_bypass_s),
261+
.m_axis_data (data_bypass_s),
262+
.m_axis_tlast (),
263+
.m_axis_empty (),
264+
.m_axis_almost_empty (),
265+
.m_axis_tkeep (),
266+
.m_axis_level (),
267+
.s_axis_aclk (s_axis_aclk),
268+
.s_axis_aresetn (src_rstn),
269+
.s_axis_ready (ready_bypass_s),
270+
.s_axis_valid (s_axis_valid & src_bypass_s),
271+
.s_axis_data (s_axis_data),
272+
.s_axis_tlast (),
273+
.s_axis_full (),
274+
.s_axis_almost_full (),
275+
.s_axis_tkeep (),
276+
.s_axis_room ());
277+
end else begin
278+
assign valid_bypass_s = 1'b0;
279+
assign data_bypass_s = 'd0;
280+
assign ready_bypass_s = 1'b0;
281+
end endgenerate
277282

278283
// register map
279284

0 commit comments

Comments
 (0)