mirror of
https://github.com/alexforencich/verilog-ethernet.git
synced 2025-01-28 07:03:08 +08:00
store_last_word timing optimization
This commit is contained in:
parent
55bf44117b
commit
b17966f73d
@ -396,6 +396,8 @@ always @* begin
|
||||
m_ip_payload_axis_tlast_int = shift_eth_payload_axis_tlast;
|
||||
m_ip_payload_axis_tuser_int = shift_eth_payload_axis_tuser;
|
||||
|
||||
store_last_word = 1'b1;
|
||||
|
||||
if (m_ip_payload_axis_tready_int_reg && shift_eth_payload_axis_tvalid) begin
|
||||
// word transfer through
|
||||
frame_ptr_next = frame_ptr_reg+keep2count(shift_eth_payload_axis_tkeep);
|
||||
@ -410,7 +412,6 @@ always @* begin
|
||||
s_eth_hdr_ready_next = !m_ip_hdr_valid_reg && !check_hdr_reg;
|
||||
state_next = STATE_IDLE;
|
||||
end else begin
|
||||
store_last_word = 1'b1;
|
||||
m_ip_payload_axis_tvalid_int = 1'b0;
|
||||
state_next = STATE_READ_PAYLOAD_LAST;
|
||||
end
|
||||
|
@ -407,6 +407,8 @@ always @* begin
|
||||
m_eth_payload_axis_tlast_int = shift_ip_payload_axis_tlast;
|
||||
m_eth_payload_axis_tuser_int = shift_ip_payload_axis_tuser;
|
||||
|
||||
store_last_word = 1'b1;
|
||||
|
||||
if (m_eth_payload_axis_tready_int_reg && shift_ip_payload_axis_tvalid) begin
|
||||
// word transfer through
|
||||
frame_ptr_next = frame_ptr_reg+keep2count(shift_ip_payload_axis_tkeep);
|
||||
@ -421,7 +423,6 @@ always @* begin
|
||||
s_ip_hdr_ready_next = !m_eth_hdr_valid_next;
|
||||
state_next = STATE_IDLE;
|
||||
end else begin
|
||||
store_last_word = 1'b1;
|
||||
m_eth_payload_axis_tvalid_int = 1'b0;
|
||||
state_next = STATE_WRITE_PAYLOAD_LAST;
|
||||
end
|
||||
|
@ -334,6 +334,8 @@ always @* begin
|
||||
m_udp_payload_axis_tlast_int = s_ip_payload_axis_tlast;
|
||||
m_udp_payload_axis_tuser_int = s_ip_payload_axis_tuser;
|
||||
|
||||
store_last_word = 1'b1;
|
||||
|
||||
if (s_ip_payload_axis_tready && s_ip_payload_axis_tvalid) begin
|
||||
// word transfer through
|
||||
frame_ptr_next = frame_ptr_reg+keep2count(s_ip_payload_axis_tkeep);
|
||||
@ -346,7 +348,6 @@ always @* begin
|
||||
s_ip_hdr_ready_next = !m_udp_hdr_valid_next;
|
||||
state_next = STATE_IDLE;
|
||||
end else begin
|
||||
store_last_word = 1'b1;
|
||||
m_udp_payload_axis_tvalid_int = 1'b0;
|
||||
state_next = STATE_READ_PAYLOAD_LAST;
|
||||
end
|
||||
|
@ -334,6 +334,8 @@ always @* begin
|
||||
m_ip_payload_axis_tlast_int = s_udp_payload_axis_tlast;
|
||||
m_ip_payload_axis_tuser_int = s_udp_payload_axis_tuser;
|
||||
|
||||
store_last_word = 1'b1;
|
||||
|
||||
if (m_ip_payload_axis_tready_int_reg && s_udp_payload_axis_tvalid) begin
|
||||
// word transfer through
|
||||
frame_ptr_next = frame_ptr_reg+keep2count(s_udp_payload_axis_tkeep);
|
||||
@ -346,7 +348,6 @@ always @* begin
|
||||
s_udp_hdr_ready_next = !m_ip_hdr_valid_next;
|
||||
state_next = STATE_IDLE;
|
||||
end else begin
|
||||
store_last_word = 1'b1;
|
||||
m_ip_payload_axis_tvalid_int = 1'b0;
|
||||
state_next = STATE_WRITE_PAYLOAD_LAST;
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user