Skip to content

Release Candidate v2.74.0 - #1476

Draft
ruck314 wants to merge 14 commits into
mainfrom
pre-release
Draft

Release Candidate v2.74.0#1476
ruck314 wants to merge 14 commits into
mainfrom
pre-release

Conversation

bengineerd and others added 14 commits August 24, 2026 08:19
Harden RSSI connection negotiation
Correct RSSI monitor busy and liveness timing
Correct RSSI TX NULL ordering and checksum injection
RssiCore passed (2**SEGMENT_ADDR_SIZE_G)-16 directly into the
FIFO_PAUSE_THRESH_G generic of both the application and transport
AxiStreamFifoV2 instances. That generic is declared as
"integer range 1 to (2**24)", so the expression has to stay positive. It
does not once the segment buffer is 16 words or smaller:

  SEGMENT_ADDR_SIZE_G = 3 -> -8
  SEGMENT_ADDR_SIZE_G = 4 ->  0

Nothing rejects that range up front. SEGMENT_ADDR_SIZE_G carries no range
constraint, and the existing MAX_SEG_SIZE_G assertion explicitly permits
it, so the only symptom is a bare "value out of range" elaboration error
pointing at the instantiation rather than at the cause. RssiCoreWrapper
reaches the range through ordinary use because it derives the generic as
bitSize(MAX_SEG_SIZE_G/RSSI_WORD_WIDTH_C-1), so MAX_SEG_SIZE_G of 128
yields 4 and MAX_SEG_SIZE_G of 64 yields 3.

Cap the 16 word padding at half a segment instead of flooring the result.
That keeps the "one segment early, minus padding" intent proportional for
small buffers rather than collapsing to a threshold of 1, which would
pause the TX and RX FSMs after only two buffered words. Thresholds for
SEGMENT_ADDR_SIZE_G of 5 or more, including the default of 7, are
unchanged.
Fix RSSI segment FIFO pause threshold for small buffers
Document SURF cocotb regression methodology
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants