Skip to content

Commit 5053506

Browse files
committed
Exclude crc form frame
1 parent 3703cb4 commit 5053506

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

rtl/axis_gmii_rx.v

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,14 @@ reg gmii_rx_er_d2 = 1'b0;
125125
reg gmii_rx_er_d3 = 1'b0;
126126
reg gmii_rx_er_d4 = 1'b0;
127127

128-
reg [DATA_WIDTH-1:0] m_axis_tdata_reg = {DATA_WIDTH{1'b0}}, m_axis_tdata_next;
129-
reg m_axis_tvalid_reg = 1'b0, m_axis_tvalid_next;
130-
reg m_axis_tlast_reg = 1'b0, m_axis_tlast_next;
131-
reg m_axis_tuser_reg = 1'b0, m_axis_tuser_next;
128+
reg [DATA_WIDTH-1:0] m_axis_tdata_reg [4:0];
129+
reg [DATA_WIDTH-1:0] m_axis_tdata_next;
130+
reg [4:0] m_axis_tvalid_reg = 5'b0;
131+
reg m_axis_tvalid_next;
132+
reg [4:0] m_axis_tlast_reg = 5'b0;
133+
reg m_axis_tlast_next;
134+
reg [4:0] m_axis_tuser_reg = 5'b0;
135+
reg m_axis_tuser_next;
132136

133137
reg start_packet_int_reg = 1'b0;
134138
reg start_packet_reg = 1'b0;
@@ -140,10 +144,10 @@ reg [PTP_TS_WIDTH-1:0] ptp_ts_reg = 0;
140144
reg [31:0] crc_state = 32'hFFFFFFFF;
141145
wire [31:0] crc_next;
142146

143-
assign m_axis_tdata = m_axis_tdata_reg;
144-
assign m_axis_tvalid = m_axis_tvalid_reg;
145-
assign m_axis_tlast = m_axis_tlast_reg;
146-
assign m_axis_tuser = PTP_TS_ENABLE ? {ptp_ts_reg, m_axis_tuser_reg} : m_axis_tuser_reg;
147+
assign m_axis_tdata = m_axis_tdata_reg[4];
148+
assign m_axis_tvalid = m_axis_tvalid_reg[4] & ~(|m_axis_tlast_reg[4:1]);
149+
assign m_axis_tlast = m_axis_tlast_reg[0];
150+
assign m_axis_tuser = PTP_TS_ENABLE ? {ptp_ts_reg, m_axis_tuser_reg[4]} : m_axis_tuser_reg[4];
147151

148152
assign start_packet = start_packet_reg;
149153
assign error_bad_frame = error_bad_frame_reg;
@@ -247,10 +251,10 @@ end
247251
always @(posedge clk) begin
248252
state_reg <= state_next;
249253

250-
m_axis_tdata_reg <= m_axis_tdata_next;
251-
m_axis_tvalid_reg <= m_axis_tvalid_next;
252-
m_axis_tlast_reg <= m_axis_tlast_next;
253-
m_axis_tuser_reg <= m_axis_tuser_next;
254+
m_axis_tdata_reg <= {m_axis_tdata_reg[3:0],m_axis_tdata_next};
255+
m_axis_tvalid_reg <= {m_axis_tvalid_reg[3:0],m_axis_tvalid_next};
256+
m_axis_tlast_reg <= {m_axis_tlast_reg[3:0],m_axis_tlast_next};
257+
m_axis_tuser_reg <= {m_axis_tuser_reg[3:0],m_axis_tuser_next};
254258

255259
start_packet_int_reg <= 1'b0;
256260
start_packet_reg <= 1'b0;

0 commit comments

Comments
 (0)