@@ -178,10 +178,14 @@ reg gmii_rx_er_d2 = 1'b0;
178178reg gmii_rx_er_d3 = 1'b0 ;
179179reg 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
186190reg start_packet_int_reg = 1'b0 ;
187191reg 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
265329assign start_packet = start_packet_reg;
266330assign error_bad_frame = error_bad_frame_reg;
@@ -364,10 +428,10 @@ end
364428always @(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