Jason
063fa081fe
fix: FPGA timing margins (WNS +0.002→+0.080ns) + 11 bug fixes from code review
FPGA timing (400MHz domain WNS: +0.339ns, was +0.002ns):
- DONT_TOUCH on BUFG to prevent AggressiveExplore cascade replication
- NCO→mixer pipeline registers break critical 1.5ns route
- Clock uncertainty reduced 200ps→100ps (adequate guardband)
- Updated golden/cosim references for +1 cycle pipeline latency
STM32 bug fixes:
- Guard uint32_t underflow in processStartFlag (length<4)
- Replace unbounded strcat in getSystemStatusForGUI with snprintf
- Early-return error masking in checkSystemHealth
- Add HAL_Delay in emergency blink loop
GUI bug fixes:
- Remove 0x03 from _HARDWARE_ONLY_OPCODES (was in both sets)
- Wire real error count in V7 diagnostics panel
- Fix _stop_demo showing 'Live' label during replay mode
FPGA comment fixes + CI: add test_v7.py to pytest command
Vivado build 50t passed: 0 failing endpoints, WHS=+0.056ns
2026-04-14 00:08:26 +05:45
..
2026-04-14 00:08:26 +05:45
2026-04-14 00:08:26 +05:45
2026-03-16 18:51:08 +02:00
2026-03-16 01:02:07 +02:00
2026-03-16 01:02:07 +02:00
2026-03-16 01:02:07 +02:00
2026-03-16 01:02:07 +02:00
2026-03-16 16:01:40 +02:00
2026-03-16 16:01:40 +02:00
2026-03-16 16:01:40 +02:00
2026-04-12 14:21:03 +05:45
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 13:37:10 +02:00
2026-03-15 06:14:11 +02:00
2026-03-16 01:02:07 +02:00
2026-03-16 01:02:07 +02:00
2026-03-16 01:02:07 +02:00
2026-03-16 01:02:07 +02:00
2026-04-07 19:22:16 +03:00
2026-03-16 22:24:34 +02:00
2026-03-17 19:38:09 +02:00
2026-03-20 04:57:34 +02:00
2026-03-15 06:14:11 +02:00
2026-03-20 01:45:00 +02:00
2026-03-15 06:14:11 +02:00
2026-03-20 04:38:35 +02:00
2026-03-20 04:38:35 +02:00
2026-03-16 18:14:06 +02:00
2026-04-07 02:51:48 +03:00
2026-04-07 02:51:48 +03:00
2026-03-15 06:14:11 +02:00
2026-04-07 02:51:48 +03:00
2026-03-19 20:39:01 +02:00
2026-03-20 19:02:06 +02:00
2026-03-15 06:14:11 +02:00
2026-04-07 02:51:48 +03:00
2026-04-07 02:51:48 +03:00
2026-03-18 01:28:42 +02:00
2026-03-19 12:20:37 +02:00
2026-03-16 10:25:07 +02:00
2026-03-16 16:23:01 +02:00
2026-03-20 16:39:17 +02:00
2026-03-16 19:15:23 +02:00
2026-03-16 15:02:35 +02:00
2026-03-16 23:23:06 +02:00
2026-03-19 23:54:48 +02:00
2026-03-20 04:57:34 +02:00
2026-03-20 04:38:35 +02:00
2026-03-20 03:19:22 +02:00
2026-04-13 23:35:10 +05:45
2026-04-07 02:51:48 +03:00
2026-03-20 04:38:35 +02:00
2026-04-13 19:24:11 +05:45