docs: geom_honoured is asserted but not wired anywhere yet
The ring-geometry note claimed a rejected BP/RHBP is "observable rather than silent". That is overstated: geom_honoured exists on RXFrameAssembler and the tests check it, but BBATop wires it to nothing -- no status register, no LED, no UART line -- so a rejected geometry is silent to both the GC and the bench. Recorded as a loose end; the guarantee today is "rejected rather than obeyed", not "reported". Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+11
-4
@@ -66,10 +66,17 @@ driver's smaller ring is respected instead of ignored.
|
|||||||
|
|
||||||
**Garbage is rejected, not obeyed.** The bounds are used only when
|
**Garbage is rejected, not obeyed.** The bounds are used only when
|
||||||
`bp >= 1` (page 0 is the TX buffer), `rhbp <= 0x0F` and `rhbp > bp`;
|
`bp >= 1` (page 0 is the TX buffer), `rhbp <= 0x0F` and `rhbp > bp`;
|
||||||
otherwise the hardcoded pages 1–15 stand and `geom_honoured` goes low, so a
|
otherwise the hardcoded pages 1–15 stand and `geom_honoured` goes low.
|
||||||
mismatch is observable rather than silent. Without that check, `BP = 0` or an
|
Without that check, `BP = 0` or an `RHBP` below `BP` gives a zero or negative
|
||||||
`RHBP` below `BP` gives a zero or negative ring size and the assembler writes
|
ring size and the assembler writes outside it.
|
||||||
outside it.
|
|
||||||
|
⚠️ **`geom_honoured` is NOT yet observable from outside the FPGA.** It is
|
||||||
|
declared on `RXFrameAssembler` and asserted correctly (T7/T7b check it), but
|
||||||
|
`BBATop` does not wire it to anything — no status register, no LED, no UART
|
||||||
|
line. So a rejected geometry is currently silent to the GC and to the bench.
|
||||||
|
Wiring it to the `StatusPanel` or the UART console is a small loose end worth
|
||||||
|
closing; until then "rejected rather than obeyed" is the guarantee, not
|
||||||
|
"reported".
|
||||||
|
|
||||||
⚠️ **A ring must be LARGER than `_MAX_FRAME_PAGES` (6) or nothing is ever
|
⚠️ **A ring must be LARGER than `_MAX_FRAME_PAGES` (6) or nothing is ever
|
||||||
stored.** A frame's length is unknown until EOF, so the assembler reserves the
|
stored.** A frame's length is unknown until EOF, so the assembler reserves the
|
||||||
|
|||||||
Reference in New Issue
Block a user