Skip to content

Commit 3b47f8d

Browse files
committed
Rewrite early ready condition
Signed-off-by: Alex Forencich <[email protected]>
1 parent 19def75 commit 3b47f8d

24 files changed

+48
-48
lines changed

rtl/arp_eth_tx.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -296,8 +296,8 @@ assign m_eth_payload_axis_tvalid = m_eth_payload_axis_tvalid_reg;
296296
assign m_eth_payload_axis_tlast = m_eth_payload_axis_tlast_reg;
297297
assign m_eth_payload_axis_tuser = m_eth_payload_axis_tuser_reg;
298298

299-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
300-
assign m_eth_payload_axis_tready_int_early = m_eth_payload_axis_tready || (!temp_m_eth_payload_axis_tvalid_reg && (!m_eth_payload_axis_tvalid_reg || !m_eth_payload_axis_tvalid_int));
299+
// enable ready input next cycle if temp register is empty and output register will be available
300+
assign m_eth_payload_axis_tready_int_early = !temp_m_eth_payload_axis_tvalid_reg && (!m_eth_payload_axis_tvalid_reg || m_eth_payload_axis_tready);
301301

302302
always @* begin
303303
// transfer sink ready state to source

rtl/axis_eth_fcs_check.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -280,8 +280,8 @@ assign m_axis_tvalid = m_axis_tvalid_reg;
280280
assign m_axis_tlast = m_axis_tlast_reg;
281281
assign m_axis_tuser = m_axis_tuser_reg;
282282

283-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
284-
assign m_axis_tready_int_early = m_axis_tready || (!temp_m_axis_tvalid_reg && (!m_axis_tvalid_reg || !m_axis_tvalid_int));
283+
// enable ready input next cycle if temp register is empty and output register will be available
284+
assign m_axis_tready_int_early = !temp_m_axis_tvalid_reg && (!m_axis_tvalid_reg || m_axis_tready);
285285

286286
always @* begin
287287
// transfer sink ready state to source

rtl/axis_eth_fcs_check_64.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -414,8 +414,8 @@ assign m_axis_tvalid = m_axis_tvalid_reg;
414414
assign m_axis_tlast = m_axis_tlast_reg;
415415
assign m_axis_tuser = m_axis_tuser_reg;
416416

417-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
418-
assign m_axis_tready_int_early = m_axis_tready || (!temp_m_axis_tvalid_reg && (!m_axis_tvalid_reg || !m_axis_tvalid_int));
417+
// enable ready input next cycle if temp register is empty and output register will be available
418+
assign m_axis_tready_int_early = !temp_m_axis_tvalid_reg && (!m_axis_tvalid_reg || m_axis_tready);
419419

420420
always @* begin
421421
// transfer sink ready state to source

rtl/axis_eth_fcs_insert.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -307,8 +307,8 @@ assign m_axis_tvalid = m_axis_tvalid_reg;
307307
assign m_axis_tlast = m_axis_tlast_reg;
308308
assign m_axis_tuser = m_axis_tuser_reg;
309309

310-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
311-
assign m_axis_tready_int_early = m_axis_tready || (!temp_m_axis_tvalid_reg && (!m_axis_tvalid_reg || !m_axis_tvalid_int));
310+
// enable ready input next cycle if temp register is empty and output register will be available
311+
assign m_axis_tready_int_early = !temp_m_axis_tvalid_reg && (!m_axis_tvalid_reg || m_axis_tready);
312312

313313
always @* begin
314314
// transfer sink ready state to source

rtl/axis_eth_fcs_insert_64.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -653,8 +653,8 @@ assign m_axis_tvalid = m_axis_tvalid_reg;
653653
assign m_axis_tlast = m_axis_tlast_reg;
654654
assign m_axis_tuser = m_axis_tuser_reg;
655655

656-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
657-
assign m_axis_tready_int_early = m_axis_tready || (!temp_m_axis_tvalid_reg && (!m_axis_tvalid_reg || !m_axis_tvalid_int));
656+
// enable ready input next cycle if temp register is empty and output register will be available
657+
assign m_axis_tready_int_early = !temp_m_axis_tvalid_reg && (!m_axis_tvalid_reg || m_axis_tready);
658658

659659
always @* begin
660660
// transfer sink ready state to source

rtl/eth_arb_mux.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -241,8 +241,8 @@ assign m_eth_payload_axis_tid = ID_ENABLE ? m_eth_payload_axis_tid_reg :
241241
assign m_eth_payload_axis_tdest = DEST_ENABLE ? m_eth_payload_axis_tdest_reg : {DEST_WIDTH{1'b0}};
242242
assign m_eth_payload_axis_tuser = USER_ENABLE ? m_eth_payload_axis_tuser_reg : {USER_WIDTH{1'b0}};
243243

244-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
245-
assign m_eth_payload_axis_tready_int_early = m_eth_payload_axis_tready || (!temp_m_eth_payload_axis_tvalid_reg && (!m_eth_payload_axis_tvalid_reg || !m_eth_payload_axis_tvalid_int));
244+
// enable ready input next cycle if temp register is empty and output register will be available
245+
assign m_eth_payload_axis_tready_int_early = !temp_m_eth_payload_axis_tvalid_reg && (!m_eth_payload_axis_tvalid_reg || m_eth_payload_axis_tready);
246246

247247
always @* begin
248248
// transfer sink ready state to source

rtl/eth_axis_rx.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -333,8 +333,8 @@ assign m_eth_payload_axis_tvalid = m_eth_payload_axis_tvalid_reg;
333333
assign m_eth_payload_axis_tlast = m_eth_payload_axis_tlast_reg;
334334
assign m_eth_payload_axis_tuser = m_eth_payload_axis_tuser_reg;
335335

336-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
337-
assign m_eth_payload_axis_tready_int_early = m_eth_payload_axis_tready || (!temp_m_eth_payload_axis_tvalid_reg && (!m_eth_payload_axis_tvalid_reg || !m_eth_payload_axis_tvalid_int));
336+
// enable ready input next cycle if temp register is empty and output register will be available
337+
assign m_eth_payload_axis_tready_int_early = !temp_m_eth_payload_axis_tvalid_reg && (!m_eth_payload_axis_tvalid_reg || m_eth_payload_axis_tready);
338338

339339
always @* begin
340340
// transfer sink ready state to source

rtl/eth_axis_tx.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -337,8 +337,8 @@ assign m_axis_tvalid = m_axis_tvalid_reg;
337337
assign m_axis_tlast = m_axis_tlast_reg;
338338
assign m_axis_tuser = m_axis_tuser_reg;
339339

340-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
341-
assign m_axis_tready_int_early = m_axis_tready || (!temp_m_axis_tvalid_reg && (!m_axis_tvalid_reg || !m_axis_tvalid_int));
340+
// enable ready input next cycle if temp register is empty and output register will be available
341+
assign m_axis_tready_int_early = !temp_m_axis_tvalid_reg && (!m_axis_tvalid_reg || m_axis_tready);
342342

343343
always @* begin
344344
// transfer sink ready state to source

rtl/eth_demux.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -235,8 +235,8 @@ assign m_eth_payload_axis_tid = ID_ENABLE ? {M_COUNT{m_eth_payload_axis_tid
235235
assign m_eth_payload_axis_tdest = DEST_ENABLE ? {M_COUNT{m_eth_payload_axis_tdest_reg}} : {M_COUNT*DEST_WIDTH{1'b0}};
236236
assign m_eth_payload_axis_tuser = USER_ENABLE ? {M_COUNT{m_eth_payload_axis_tuser_reg}} : {M_COUNT*USER_WIDTH{1'b0}};
237237

238-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
239-
assign m_eth_payload_axis_tready_int_early = (m_eth_payload_axis_tready & m_eth_payload_axis_tvalid) || (!temp_m_eth_payload_axis_tvalid_reg && (!m_eth_payload_axis_tvalid || !m_eth_payload_axis_tvalid_int));
238+
// enable ready input next cycle if temp register is empty and output register will be available
239+
assign m_eth_payload_axis_tready_int_early = !temp_m_eth_payload_axis_tvalid_reg && (!m_eth_payload_axis_tvalid_reg || (m_eth_payload_axis_tready & m_eth_payload_axis_tvalid));
240240

241241
always @* begin
242242
// transfer sink ready state to source

rtl/eth_mux.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -229,8 +229,8 @@ assign m_eth_payload_axis_tid = ID_ENABLE ? m_eth_payload_axis_tid_reg :
229229
assign m_eth_payload_axis_tdest = DEST_ENABLE ? m_eth_payload_axis_tdest_reg : {DEST_WIDTH{1'b0}};
230230
assign m_eth_payload_axis_tuser = USER_ENABLE ? m_eth_payload_axis_tuser_reg : {USER_WIDTH{1'b0}};
231231

232-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
233-
assign m_eth_payload_axis_tready_int_early = m_eth_payload_axis_tready || (!temp_m_eth_payload_axis_tvalid_reg && (!m_eth_payload_axis_tvalid_reg || !m_eth_payload_axis_tvalid_int));
232+
// enable ready input next cycle if temp register is empty and output register will be available
233+
assign m_eth_payload_axis_tready_int_early = !temp_m_eth_payload_axis_tvalid_reg && (!m_eth_payload_axis_tvalid_reg || m_eth_payload_axis_tready);
234234

235235
always @* begin
236236
// transfer sink ready state to source

rtl/ip_arb_mux.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -332,8 +332,8 @@ assign m_ip_payload_axis_tid = ID_ENABLE ? m_ip_payload_axis_tid_reg : {I
332332
assign m_ip_payload_axis_tdest = DEST_ENABLE ? m_ip_payload_axis_tdest_reg : {DEST_WIDTH{1'b0}};
333333
assign m_ip_payload_axis_tuser = USER_ENABLE ? m_ip_payload_axis_tuser_reg : {USER_WIDTH{1'b0}};
334334

335-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
336-
assign m_ip_payload_axis_tready_int_early = m_ip_payload_axis_tready || (!temp_m_ip_payload_axis_tvalid_reg && (!m_ip_payload_axis_tvalid_reg || !m_ip_payload_axis_tvalid_int));
335+
// enable ready input next cycle if temp register is empty and output register will be available
336+
assign m_ip_payload_axis_tready_int_early = !temp_m_ip_payload_axis_tvalid_reg && (!m_ip_payload_axis_tvalid_reg || m_ip_payload_axis_tready);
337337

338338
always @* begin
339339
// transfer sink ready state to source

rtl/ip_demux.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -326,8 +326,8 @@ assign m_ip_payload_axis_tid = ID_ENABLE ? {M_COUNT{m_ip_payload_axis_tid_r
326326
assign m_ip_payload_axis_tdest = DEST_ENABLE ? {M_COUNT{m_ip_payload_axis_tdest_reg}} : {M_COUNT*DEST_WIDTH{1'b0}};
327327
assign m_ip_payload_axis_tuser = USER_ENABLE ? {M_COUNT{m_ip_payload_axis_tuser_reg}} : {M_COUNT*USER_WIDTH{1'b0}};
328328

329-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
330-
assign m_ip_payload_axis_tready_int_early = (m_ip_payload_axis_tready & m_ip_payload_axis_tvalid) || (!temp_m_ip_payload_axis_tvalid_reg && (!m_ip_payload_axis_tvalid || !m_ip_payload_axis_tvalid_int));
329+
// enable ready input next cycle if temp register is empty and output register will be available
330+
assign m_ip_payload_axis_tready_int_early = !temp_m_ip_payload_axis_tvalid_reg && (!m_ip_payload_axis_tvalid_reg || (m_ip_payload_axis_tready & m_ip_payload_axis_tvalid));
331331

332332
always @* begin
333333
// transfer sink ready state to source

rtl/ip_eth_rx.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -516,8 +516,8 @@ assign m_ip_payload_axis_tvalid = m_ip_payload_axis_tvalid_reg;
516516
assign m_ip_payload_axis_tlast = m_ip_payload_axis_tlast_reg;
517517
assign m_ip_payload_axis_tuser = m_ip_payload_axis_tuser_reg;
518518

519-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
520-
assign m_ip_payload_axis_tready_int_early = m_ip_payload_axis_tready || (!temp_m_ip_payload_axis_tvalid_reg && (!m_ip_payload_axis_tvalid_reg || !m_ip_payload_axis_tvalid_int));
519+
// enable ready input next cycle if temp register is empty and output register will be available
520+
assign m_ip_payload_axis_tready_int_early = !temp_m_ip_payload_axis_tvalid_reg && (!m_ip_payload_axis_tvalid_reg || m_ip_payload_axis_tready);
521521

522522
always @* begin
523523
// transfer sink ready state to source

rtl/ip_eth_rx_64.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -622,8 +622,8 @@ assign m_ip_payload_axis_tvalid = m_ip_payload_axis_tvalid_reg;
622622
assign m_ip_payload_axis_tlast = m_ip_payload_axis_tlast_reg;
623623
assign m_ip_payload_axis_tuser = m_ip_payload_axis_tuser_reg;
624624

625-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
626-
assign m_ip_payload_axis_tready_int_early = m_ip_payload_axis_tready || (!temp_m_ip_payload_axis_tvalid_reg && (!m_ip_payload_axis_tvalid_reg || !m_ip_payload_axis_tvalid_int));
625+
// enable ready input next cycle if temp register is empty and output register will be available
626+
assign m_ip_payload_axis_tready_int_early = !temp_m_ip_payload_axis_tvalid_reg && (!m_ip_payload_axis_tvalid_reg || m_ip_payload_axis_tready);
627627

628628
always @* begin
629629
// transfer sink ready state to source

rtl/ip_eth_tx.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -436,8 +436,8 @@ assign m_eth_payload_axis_tvalid = m_eth_payload_axis_tvalid_reg;
436436
assign m_eth_payload_axis_tlast = m_eth_payload_axis_tlast_reg;
437437
assign m_eth_payload_axis_tuser = m_eth_payload_axis_tuser_reg;
438438

439-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
440-
assign m_eth_payload_axis_tready_int_early = m_eth_payload_axis_tready || (!temp_m_eth_payload_axis_tvalid_reg && (!m_eth_payload_axis_tvalid_reg || !m_eth_payload_axis_tvalid_int));
439+
// enable ready input next cycle if temp register is empty and output register will be available
440+
assign m_eth_payload_axis_tready_int_early = !temp_m_eth_payload_axis_tvalid_reg && (!m_eth_payload_axis_tvalid_reg || m_eth_payload_axis_tready);
441441

442442
always @* begin
443443
// transfer sink ready state to source

rtl/ip_eth_tx_64.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -584,8 +584,8 @@ assign m_eth_payload_axis_tvalid = m_eth_payload_axis_tvalid_reg;
584584
assign m_eth_payload_axis_tlast = m_eth_payload_axis_tlast_reg;
585585
assign m_eth_payload_axis_tuser = m_eth_payload_axis_tuser_reg;
586586

587-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
588-
assign m_eth_payload_axis_tready_int_early = m_eth_payload_axis_tready | (!temp_m_eth_payload_axis_tvalid_reg && (!m_eth_payload_axis_tvalid_reg | !m_eth_payload_axis_tvalid_int));
587+
// enable ready input next cycle if temp register is empty and output register will be available
588+
assign m_eth_payload_axis_tready_int_early = !temp_m_eth_payload_axis_tvalid_reg && (!m_eth_payload_axis_tvalid_reg || m_eth_payload_axis_tready);
589589

590590
always @* begin
591591
// transfer sink ready state to source

rtl/ip_mux.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -320,8 +320,8 @@ assign m_ip_payload_axis_tid = ID_ENABLE ? m_ip_payload_axis_tid_reg : {I
320320
assign m_ip_payload_axis_tdest = DEST_ENABLE ? m_ip_payload_axis_tdest_reg : {DEST_WIDTH{1'b0}};
321321
assign m_ip_payload_axis_tuser = USER_ENABLE ? m_ip_payload_axis_tuser_reg : {USER_WIDTH{1'b0}};
322322

323-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
324-
assign m_ip_payload_axis_tready_int_early = m_ip_payload_axis_tready || (!temp_m_ip_payload_axis_tvalid_reg && (!m_ip_payload_axis_tvalid_reg || !m_ip_payload_axis_tvalid_int));
323+
// enable ready input next cycle if temp register is empty and output register will be available
324+
assign m_eth_payload_axis_tready_int_early = !temp_m_eth_payload_axis_tvalid_reg && (!m_eth_payload_axis_tvalid_reg || m_eth_payload_axis_tready);
325325

326326
always @* begin
327327
// transfer sink ready state to source

rtl/udp_arb_mux.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -360,8 +360,8 @@ assign m_udp_payload_axis_tid = ID_ENABLE ? m_udp_payload_axis_tid_reg :
360360
assign m_udp_payload_axis_tdest = DEST_ENABLE ? m_udp_payload_axis_tdest_reg : {DEST_WIDTH{1'b0}};
361361
assign m_udp_payload_axis_tuser = USER_ENABLE ? m_udp_payload_axis_tuser_reg : {USER_WIDTH{1'b0}};
362362

363-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
364-
assign m_udp_payload_axis_tready_int_early = m_udp_payload_axis_tready || (!temp_m_udp_payload_axis_tvalid_reg && (!m_udp_payload_axis_tvalid_reg || !m_udp_payload_axis_tvalid_int));
363+
// enable ready input next cycle if temp register is empty and output register will be available
364+
assign m_udp_payload_axis_tready_int_early = !temp_m_udp_payload_axis_tvalid_reg && (!m_udp_payload_axis_tvalid_reg || m_udp_payload_axis_tready);
365365

366366
always @* begin
367367
// transfer sink ready state to source

rtl/udp_demux.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -354,8 +354,8 @@ assign m_udp_payload_axis_tid = ID_ENABLE ? {M_COUNT{m_udp_payload_axis_tid
354354
assign m_udp_payload_axis_tdest = DEST_ENABLE ? {M_COUNT{m_udp_payload_axis_tdest_reg}} : {M_COUNT*DEST_WIDTH{1'b0}};
355355
assign m_udp_payload_axis_tuser = USER_ENABLE ? {M_COUNT{m_udp_payload_axis_tuser_reg}} : {M_COUNT*USER_WIDTH{1'b0}};
356356

357-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
358-
assign m_udp_payload_axis_tready_int_early = (m_udp_payload_axis_tready & m_udp_payload_axis_tvalid) || (!temp_m_udp_payload_axis_tvalid_reg && (!m_udp_payload_axis_tvalid || !m_udp_payload_axis_tvalid_int));
357+
// enable ready input next cycle if temp register is empty and output register will be available
358+
assign m_udp_payload_axis_tready_int_early = !temp_m_udp_payload_axis_tvalid_reg && (!m_udp_payload_axis_tvalid_reg || (m_udp_payload_axis_tready & m_udp_payload_axis_tvalid));
359359

360360
always @* begin
361361
// transfer sink ready state to source

rtl/udp_ip_rx.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -471,8 +471,8 @@ assign m_udp_payload_axis_tvalid = m_udp_payload_axis_tvalid_reg;
471471
assign m_udp_payload_axis_tlast = m_udp_payload_axis_tlast_reg;
472472
assign m_udp_payload_axis_tuser = m_udp_payload_axis_tuser_reg;
473473

474-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
475-
assign m_udp_payload_axis_tready_int_early = m_udp_payload_axis_tready || (!temp_m_udp_payload_axis_tvalid_reg && (!m_udp_payload_axis_tvalid_reg || !m_udp_payload_axis_tvalid_int));
474+
// enable ready input next cycle if temp register is empty and output register will be available
475+
assign m_udp_payload_axis_tready_int_early = !temp_m_udp_payload_axis_tvalid_reg && (!m_udp_payload_axis_tvalid_reg || m_udp_payload_axis_tready);
476476

477477
always @* begin
478478
// transfer sink ready state to source

rtl/udp_ip_rx_64.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -496,8 +496,8 @@ assign m_udp_payload_axis_tvalid = m_udp_payload_axis_tvalid_reg;
496496
assign m_udp_payload_axis_tlast = m_udp_payload_axis_tlast_reg;
497497
assign m_udp_payload_axis_tuser = m_udp_payload_axis_tuser_reg;
498498

499-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
500-
assign m_udp_payload_axis_tready_int_early = m_udp_payload_axis_tready || (!temp_m_udp_payload_axis_tvalid_reg && (!m_udp_payload_axis_tvalid_reg || !m_udp_payload_axis_tvalid_int));
499+
// enable ready input next cycle if temp register is empty and output register will be available
500+
assign m_udp_payload_axis_tready_int_early = !temp_m_udp_payload_axis_tvalid_reg && (!m_udp_payload_axis_tvalid_reg || m_udp_payload_axis_tready);
501501

502502
always @* begin
503503
// transfer sink ready state to source

rtl/udp_ip_tx.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -432,8 +432,8 @@ assign m_ip_payload_axis_tvalid = m_ip_payload_axis_tvalid_reg;
432432
assign m_ip_payload_axis_tlast = m_ip_payload_axis_tlast_reg;
433433
assign m_ip_payload_axis_tuser = m_ip_payload_axis_tuser_reg;
434434

435-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
436-
assign m_ip_payload_axis_tready_int_early = m_ip_payload_axis_tready || (!temp_m_ip_payload_axis_tvalid_reg && (!m_ip_payload_axis_tvalid_reg || !m_ip_payload_axis_tvalid_int));
435+
// enable ready input next cycle if temp register is empty and output register will be available
436+
assign m_ip_payload_axis_tready_int_early = !temp_m_ip_payload_axis_tvalid_reg && (!m_ip_payload_axis_tvalid_reg || m_ip_payload_axis_tready);
437437

438438
always @* begin
439439
// transfer sink ready state to source

rtl/udp_ip_tx_64.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -485,8 +485,8 @@ assign m_ip_payload_axis_tvalid = m_ip_payload_axis_tvalid_reg;
485485
assign m_ip_payload_axis_tlast = m_ip_payload_axis_tlast_reg;
486486
assign m_ip_payload_axis_tuser = m_ip_payload_axis_tuser_reg;
487487

488-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
489-
assign m_ip_payload_axis_tready_int_early = m_ip_payload_axis_tready || (!temp_m_ip_payload_axis_tvalid_reg && (!m_ip_payload_axis_tvalid_reg || !m_ip_payload_axis_tvalid_int));
488+
// enable ready input next cycle if temp register is empty and output register will be available
489+
assign m_ip_payload_axis_tready_int_early = !temp_m_ip_payload_axis_tvalid_reg && (!m_ip_payload_axis_tvalid_reg || m_ip_payload_axis_tready);
490490

491491
always @* begin
492492
// transfer sink ready state to source

rtl/udp_mux.v

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -348,8 +348,8 @@ assign m_udp_payload_axis_tid = ID_ENABLE ? m_udp_payload_axis_tid_reg :
348348
assign m_udp_payload_axis_tdest = DEST_ENABLE ? m_udp_payload_axis_tdest_reg : {DEST_WIDTH{1'b0}};
349349
assign m_udp_payload_axis_tuser = USER_ENABLE ? m_udp_payload_axis_tuser_reg : {USER_WIDTH{1'b0}};
350350

351-
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
352-
assign m_udp_payload_axis_tready_int_early = m_udp_payload_axis_tready || (!temp_m_udp_payload_axis_tvalid_reg && (!m_udp_payload_axis_tvalid_reg || !m_udp_payload_axis_tvalid_int));
351+
// enable ready input next cycle if temp register is empty and output register will be available
352+
assign m_udp_payload_axis_tready_int_early = !temp_m_udp_payload_axis_tvalid_reg && (!m_udp_payload_axis_tvalid_reg || m_udp_payload_axis_tready);
353353

354354
always @* begin
355355
// transfer sink ready state to source

0 commit comments

Comments
 (0)