fix(pps): align firmware TOW with current RTL

This commit is contained in:
2026-07-28 21:53:33 +03:00
parent 988f9686e7
commit a697284bff
18 changed files with 1002 additions and 960 deletions
@@ -49,9 +49,9 @@ The default command executes the diagnostic matrix:
```text
scenario bits correction reference error DUT - trusted PPS
current-rtl/180ms 9 180 ms -0.000032 ms +0.000032 ms
current-rtl/160ms 9 160 ms -20.000032 ms +20.000032 ms
current-bit/160ms 8 160 ms -0.000032 ms +0.000032 ms
current-rtl/180ms 9 180 ms -0.000032 ms +0.000032 ms
```
Positive `DUT - trusted PPS` means the project output is late. The default
@@ -110,7 +110,8 @@ jitter assertion or synthetic run cannot certify it.
The sweep includes the current coefficients, quieter/faster precision loops,
a robust-noise guard, a larger Doppler-drift gain, and a quality-scheduled
candidate. The generated report contains the current numerical comparison.
No production constants are changed by the analysis.
The stability analysis does not alter loop constants. Production firmware now
uses the current-RTL-compatible 180 ms epoch correction described below.
## 20 ms diagnosis
@@ -124,15 +125,18 @@ The implemented interface is consequently:
```text
current RTL delivery 9 * 20 ms = 180 ms
firmware POSTPONE_TOW 8 * 20 ms = 160 ms
signed epoch mismatch 20 ms
production POSTPONE_TOW 9 * 20 ms = 180 ms
signed epoch mismatch 0 ms
former firmware value 8 * 20 ms = 160 ms
former signed mismatch 20 ms
```
With the current bitstream, `POSTPONE_TOW=0.180` is a firmware-only workaround
and must be used consistently by both satellite-state and PPS calculations.
It is 180 ms, not 190 ms. The preferred permanent correction is to validate a
candidate window containing the current eighth bit and retain the intended
160 ms firmware compensation.
Production firmware now uses `POSTPONE_TOW=0.180` as the current-RTL-compatible
correction, consistently in both satellite-state and PPS calculations. It is
180 ms, not 190 ms. If RTL is later changed to validate a candidate window
containing the current eighth bit, firmware must return to 160 ms in the same
coordinated release.
The validation intentionally does not modify production RTL or firmware.