mirror of
https://github.com/fpganinja/taxi.git
synced 2025-12-07 16:28:40 -08:00
Fix TX enable in AXI stream BASE-R TX module
Signed-off-by: Alex Forencich <alex@alexforencich.com>
This commit is contained in:
@@ -486,7 +486,7 @@ always_comb begin
|
|||||||
frame_len_next = 0;
|
frame_len_next = 0;
|
||||||
frame_len_lim_next = cfg_tx_max_pkt_len;
|
frame_len_lim_next = cfg_tx_max_pkt_len;
|
||||||
reset_crc = 1'b1;
|
reset_crc = 1'b1;
|
||||||
s_axis_tx_tready_next = 1'b1;
|
s_axis_tx_tready_next = cfg_tx_enable;
|
||||||
|
|
||||||
output_data_next = s_tdata_reg;
|
output_data_next = s_tdata_reg;
|
||||||
output_type_next = OUTPUT_TYPE_IDLE;
|
output_type_next = OUTPUT_TYPE_IDLE;
|
||||||
@@ -494,7 +494,7 @@ always_comb begin
|
|||||||
s_tdata_next = s_axis_tx_tdata_masked;
|
s_tdata_next = s_axis_tx_tdata_masked;
|
||||||
s_empty_next = keep2empty(s_axis_tx.tkeep);
|
s_empty_next = keep2empty(s_axis_tx.tkeep);
|
||||||
|
|
||||||
if (s_axis_tx.tvalid && cfg_tx_enable) begin
|
if (s_axis_tx.tvalid && s_axis_tx.tready) begin
|
||||||
// Preamble and SFD
|
// Preamble and SFD
|
||||||
output_data_next = {ETH_SFD, {7{ETH_PRE}}};
|
output_data_next = {ETH_SFD, {7{ETH_PRE}}};
|
||||||
output_type_next = OUTPUT_TYPE_START_0;
|
output_type_next = OUTPUT_TYPE_START_0;
|
||||||
@@ -644,14 +644,14 @@ always_comb begin
|
|||||||
ifg_count_next = 8'd0;
|
ifg_count_next = 8'd0;
|
||||||
swap_lanes_next = 1'b0;
|
swap_lanes_next = 1'b0;
|
||||||
end
|
end
|
||||||
s_axis_tx_tready_next = 1'b1;
|
s_axis_tx_tready_next = cfg_tx_enable;
|
||||||
state_next = STATE_IDLE;
|
state_next = STATE_IDLE;
|
||||||
end
|
end
|
||||||
end else begin
|
end else begin
|
||||||
if (ifg_count_next > 8'd4) begin
|
if (ifg_count_next > 8'd4) begin
|
||||||
state_next = STATE_IFG;
|
state_next = STATE_IFG;
|
||||||
end else begin
|
end else begin
|
||||||
s_axis_tx_tready_next = 1'b1;
|
s_axis_tx_tready_next = cfg_tx_enable;
|
||||||
swap_lanes_next = ifg_count_next != 0;
|
swap_lanes_next = ifg_count_next != 0;
|
||||||
state_next = STATE_IDLE;
|
state_next = STATE_IDLE;
|
||||||
end
|
end
|
||||||
@@ -704,14 +704,14 @@ always_comb begin
|
|||||||
ifg_count_next = 8'd0;
|
ifg_count_next = 8'd0;
|
||||||
swap_lanes_next = 1'b0;
|
swap_lanes_next = 1'b0;
|
||||||
end
|
end
|
||||||
s_axis_tx_tready_next = 1'b1;
|
s_axis_tx_tready_next = cfg_tx_enable;
|
||||||
state_next = STATE_IDLE;
|
state_next = STATE_IDLE;
|
||||||
end
|
end
|
||||||
end else begin
|
end else begin
|
||||||
if (ifg_count_next > 8'd4 || frame_reg) begin
|
if (ifg_count_next > 8'd4 || frame_reg) begin
|
||||||
state_next = STATE_IFG;
|
state_next = STATE_IFG;
|
||||||
end else begin
|
end else begin
|
||||||
s_axis_tx_tready_next = 1'b1;
|
s_axis_tx_tready_next = cfg_tx_enable;
|
||||||
swap_lanes_next = ifg_count_next != 0;
|
swap_lanes_next = ifg_count_next != 0;
|
||||||
state_next = STATE_IDLE;
|
state_next = STATE_IDLE;
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user