Skip to content

Commit 0c07b38

Browse files
committed
Merge branch 'crc_exclusion' into debug_1g_mac
2 parents 028355d + 5053506 commit 0c07b38

File tree

1 file changed

+76
-12
lines changed

1 file changed

+76
-12
lines changed

rtl/axis_gmii_rx.v

Lines changed: 76 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -178,10 +178,14 @@ reg gmii_rx_er_d2 = 1'b0;
178178
reg gmii_rx_er_d3 = 1'b0;
179179
reg gmii_rx_er_d4 = 1'b0;
180180

181-
reg [DATA_WIDTH-1:0] m_axis_tdata_reg = {DATA_WIDTH{1'b0}}, m_axis_tdata_next;
182-
reg m_axis_tvalid_reg = 1'b0, m_axis_tvalid_next;
183-
reg m_axis_tlast_reg = 1'b0, m_axis_tlast_next;
184-
reg m_axis_tuser_reg = 1'b0, m_axis_tuser_next;
181+
reg [DATA_WIDTH-1:0] m_axis_tdata_reg [4:0];
182+
reg [DATA_WIDTH-1:0] m_axis_tdata_next;
183+
reg [4:0] m_axis_tvalid_reg = 5'b0;
184+
reg m_axis_tvalid_next;
185+
reg [4:0] m_axis_tlast_reg = 5'b0;
186+
reg m_axis_tlast_next;
187+
reg [4:0] m_axis_tuser_reg = 5'b0;
188+
reg m_axis_tuser_next;
185189

186190
reg start_packet_int_reg = 1'b0;
187191
reg start_packet_reg = 1'b0;
@@ -255,12 +259,72 @@ wire [31:0] crc_next;
255259

256260

257261

262+
// debug out
263+
264+
265+
assign state_reg_out = state_reg;
266+
assign state_next_out = state_next;
267+
assign reset_crc_out = reset_crc;
268+
assign update_crc_out = update_crc;
269+
270+
assign mii_odd_out = mii_odd ;
271+
assign in_frame_out = in_frame;
272+
273+
assign gmii_rxd_d0_out = gmii_rxd_d0;
274+
assign gmii_rxd_d1_out = gmii_rxd_d1;
275+
assign gmii_rxd_d2_out = gmii_rxd_d2;
276+
assign gmii_rxd_d3_out = gmii_rxd_d3;
277+
assign gmii_rxd_d4_out = gmii_rxd_d4;
278+
279+
assign gmii_rx_dv_d0_out = gmii_rx_dv_d0;
280+
assign gmii_rx_dv_d1_out = gmii_rx_dv_d1;
281+
assign gmii_rx_dv_d2_out = gmii_rx_dv_d2;
282+
assign gmii_rx_dv_d3_out = gmii_rx_dv_d3;
283+
assign gmii_rx_dv_d4_out = gmii_rx_dv_d4;
284+
285+
assign gmii_rx_er_d0_out = gmii_rx_er_d0;
286+
assign gmii_rx_er_d1_out = gmii_rx_er_d1;
287+
assign gmii_rx_er_d2_out = gmii_rx_er_d2;
288+
assign gmii_rx_er_d3_out = gmii_rx_er_d3;
289+
assign gmii_rx_er_d4_out= gmii_rx_er_d4;
290+
291+
assign m_axis_tdata_reg_out = m_axis_tdata_reg;
292+
assign m_axis_tdata_next_out = m_axis_tdata_next;
293+
assign m_axis_tvalid_reg_out = m_axis_tvalid_reg;
294+
assign m_axis_tvalid_next_out = m_axis_tvalid_next;
295+
assign m_axis_tlast_reg_out = m_axis_tlast_reg;
296+
assign m_axis_tlast_next_out = m_axis_tlast_next;
297+
assign m_axis_tuser_reg_out = m_axis_tuser_reg;
298+
assign m_axis_tuser_next_out = m_axis_tuser_next;
299+
300+
assign start_packet_int_reg_out = start_packet_int_reg;
301+
assign start_packet_reg_out = start_packet_reg;
302+
assign error_bad_frame_reg_out = error_bad_frame_reg;
303+
assign error_bad_frame_next_out = error_bad_frame_next;
304+
assign error_bad_fcs_reg_out = error_bad_fcs_reg;
305+
assign error_bad_fcs_next_out = error_bad_fcs_next;
306+
307+
assign ptp_ts_reg_out = ptp_ts_reg;
308+
309+
assign crc_state_out = crc_state;
310+
assign crc_next_out = crc_next;
311+
312+
assign clk_enable_out = clk_enable;
313+
assign mii_select_out = rst;
314+
315+
/*
316+
* Configuration
317+
*/
318+
assign cfg_rx_enable_out = gmii_rx_dv;
319+
320+
321+
258322

259323

260-
assign m_axis_tdata = m_axis_tdata_reg;
261-
assign m_axis_tvalid = m_axis_tvalid_reg;
262-
assign m_axis_tlast = m_axis_tlast_reg;
263-
assign m_axis_tuser = PTP_TS_ENABLE ? {ptp_ts_reg, m_axis_tuser_reg} : m_axis_tuser_reg;
324+
assign m_axis_tdata = m_axis_tdata_reg[4];
325+
assign m_axis_tvalid = m_axis_tvalid_reg[4] & ~(|m_axis_tlast_reg[4:1]);
326+
assign m_axis_tlast = m_axis_tlast_reg[0];
327+
assign m_axis_tuser = PTP_TS_ENABLE ? {ptp_ts_reg, m_axis_tuser_reg[4]} : m_axis_tuser_reg[4];
264328

265329
assign start_packet = start_packet_reg;
266330
assign error_bad_frame = error_bad_frame_reg;
@@ -364,10 +428,10 @@ end
364428
always @(posedge clk) begin
365429
state_reg <= state_next;
366430

367-
m_axis_tdata_reg <= m_axis_tdata_next;
368-
m_axis_tvalid_reg <= m_axis_tvalid_next;
369-
m_axis_tlast_reg <= m_axis_tlast_next;
370-
m_axis_tuser_reg <= m_axis_tuser_next;
431+
m_axis_tdata_reg <= {m_axis_tdata_reg[3:0],m_axis_tdata_next};
432+
m_axis_tvalid_reg <= {m_axis_tvalid_reg[3:0],m_axis_tvalid_next};
433+
m_axis_tlast_reg <= {m_axis_tlast_reg[3:0],m_axis_tlast_next};
434+
m_axis_tuser_reg <= {m_axis_tuser_reg[3:0],m_axis_tuser_next};
371435

372436
start_packet_int_reg <= 1'b0;
373437
start_packet_reg <= 1'b0;

0 commit comments

Comments
 (0)