diff --git a/docs/implementation-log.html b/docs/implementation-log.html index c0bff69..db8e575 100644 --- a/docs/implementation-log.html +++ b/docs/implementation-log.html @@ -31,29 +31,37 @@

Recent milestone timeline

-

Build 16 XDC cleanup validated on production target

-

Remote production XDC pass eliminated XDCB-5 warnings, collapsed the large TIMING-18 bucket to a single ft601_txe residue, and preserved timing at WNS +0.058 ns, WHS +0.068 ns, WPWS +0.684 ns.

+

Gap 4: USB Read Path wired with toggle CDC (e5d1b3c)

+

FT601 read FSM cmd_* outputs connected through toggle CDC to clk_100m command decode registers in radar_system_top.v. Host can now set radar mode, trigger chirps, set CFAR threshold, and control data streaming via USB. 3 new testbench groups (55 total checks). 18/18 FPGA regression.

-

Build 15 timing-clean integration baseline established

-

Production-target implementation completed with all timing constraints met after USB range-profile wiring and the CFAR sequential-assignment fix.

+

Build 20 tagged v0.1.3-build20 — new production baseline (c6103b3)

+

WNS improved 7x to +0.426 ns (from +0.062 ns in Build 18). Includes 400 MHz MMCM jitter cleaner, CIC comb DSP48E1 CREG pipeline, and XDC clock-name fix. All timing constraints met. 6,092 LUTs (4.5%), 9,024 FFs (3.4%), 16 BRAM (4.4%), 140 DSP48E1 (18.9%), 0.730 W.

-

USB range profile path wired to matched-filter output

-

The top-level Doppler placeholder was removed from the USB range-profile path and replaced with the real matched-filter range output propagated through the receiver chain.

+

Build 19 timing failure root-caused and fixed

+

Build 19 had WNS -0.011 ns due to conflicting XDC create_generated_clock preventing false-path application on CDC paths. Fixed by removing the conflicting constraint and using Vivado auto-generated clk_mmcm_out0.

+
+
+

Gap 3: Safety Architecture closed (f3bbf77)

+

Added IWDG watchdog configuration, Emergency_Stop PA rail cutoff, temperature max guard, periodic IDQ re-read, and emergency state ordering. 5 new MCU tests, 20/20 MCU regression pass.

+
+
+

Gap 5: BRAM async reset fixed (c87dce0)

+

Chirp memory loader BRAM async reset converted to synchronous reset pattern per Xilinx UG901 guidelines. Prevents BRAM inference failures on production target.

+
+
+

Build 18 tagged v0.1.2-build18 — prior production baseline

+

WNS +0.062 ns, WHS +0.059 ns. 6,088 LUTs, 8,946 FFs, 16 BRAM, 140 DSP48E1, 0.631 W. All timing met.

Firmware bug sweep closed with regression coverage

-

All 17 audited MCU firmware bugs were fixed, regression-tested, and pushed, including LO init ordering, SPI chip-select handling, PA calibration logic, TIM3 PWM bring-up, and stale diagnostic mismatches.

+

All 17 audited MCU firmware bugs were fixed, regression-tested, and pushed, including LO init ordering, SPI chip-select handling, PA calibration logic, TIM3 PWM bring-up, and stale diagnostic mismatches. 20/20 MCU tests pass.

FPGA timing/resource cleanup phase completed

Chirp BRAM migration, Doppler DSP48 pipelining, CIC pipeline staging, matched-filter regression repair, and full FPGA regression brought the active baseline to 18/18 passing tests.

-
-

Build 13 frozen as earlier hardware candidate

-

Historical milestone retained for traceability: WNS +0.311 ns, TNS 0.000, WHS +0.060, THS 0.000 on the production target before the later DSP and integration work.

-
@@ -61,19 +69,21 @@

Codebase quality and verification upgrades

-

Debug and infrastructure improvements

+

Build history and timing improvements

diff --git a/docs/release-notes.html b/docs/release-notes.html index a618776..2ac4db1 100644 --- a/docs/release-notes.html +++ b/docs/release-notes.html @@ -40,24 +40,34 @@ - 2763b4b - CFAR sequential fix and Build 15 analysis capture - Replaced the clocked-block CFAR blocking assignment with sequential logic and published the Build 15 timing/DRC/methodology analysis baseline. + e5d1b3c + Gap 4 USB Read Path: host-to-FPGA command path with toggle CDC + Wired FT601 read FSM cmd_* outputs through toggle CDC to clk_100m command decode registers. Host can now set radar mode, trigger chirps, set CFAR threshold, and control data streaming. 3 new TB test groups (55 checks). 18/18 FPGA regression. - 3fa26c9 - USB range profile wiring completed - Removed the Doppler placeholder from the USB range path and propagated real matched-filter range data through the receiver/top-level interfaces. + c6103b3 v0.1.3-build20 + Gap 7 MMCM jitter cleaner + CIC CREG pipeline + XDC clock-name fix + Added 400 MHz MMCM for ADC clock jitter cleaning, CIC comb DSP48E1 CREG pipeline, and fixed XDC conflicting generated clock. Build 20: WNS +0.426 ns (7x improvement over Build 18). All timing met. - f4ff271 - Matched-filter regression repair - Corrected golden-case $readmemh paths so the matched-filter regression returned to 40/40 passing. + f3bbf77 + Gap 3 Safety Architecture + IWDG watchdog, Emergency_Stop PA rail cutoff, temperature max guard, periodic IDQ re-read, emergency state ordering. 5 new MCU tests, 20/20 pass. - 463ebef - CIC pipeline staging and regression runner - Added CIC comb pipeline staging, simulation guards, and an FPGA regression runner to preserve timing while tightening verification. + c87dce0 + Gap 5 BRAM async reset fix + Fixed chirp memory loader BRAM async reset to use synchronous reset pattern per Xilinx UG901 guidelines. + + + 3b7afba v0.1.2-build18 + Build 18 production build + Production baseline: WNS +0.062 ns, WHS +0.059 ns. 6,088 LUTs, 8,946 FFs, 16 BRAM, 140 DSP48E1, 0.631 W. + + + ed6f79c v0.1.1-build17 + FIR DSP48 pipelining + matched filter BRAM migration + Build 17 production build with DSP48 pipelining improvements. c466021 @@ -85,25 +95,44 @@
-

Uncommitted validated work

+

Tagged releases

+
+

Architectural gap status

+
+ + + + + + + + + + + +
#GapStatus
3Safety ArchitectureDone (f3bbf77)
5BRAM Async ResetDone (c87dce0)
7400 MHz MMCMDone (c6103b3, Build 20)
4USB Read PathDone (e5d1b3c)
2GUI SettingsNext
6CDC-15 USB BusesPost-bring-up
1CFAR Real ImplementationPost-bring-up
+
+
+

Open in GitHub

diff --git a/docs/reports.html b/docs/reports.html index 5265821..024cd52 100644 --- a/docs/reports.html +++ b/docs/reports.html @@ -34,9 +34,10 @@

Current FPGA implementation status

@@ -57,7 +58,7 @@ FPGA programming flow9_Firmware/9_2_FPGA/scripts/program_fpga.tclPrograms the device and reports DONE / INIT_COMPLETE / probes presencePrimary operator-facing programming script Debug probe insertion flow9_Firmware/9_2_FPGA/scripts/insert_ila_probes.tclUsed when generating or refreshing debug-capable imagesKeep matched with the selected debug bitstream FPGA regression runner9_Firmware/9_2_FPGA/run_regression.shPre-arrival regression evidence for the tracked FPGA baseline18 / 18 passing on the current tracked branch - MCU regression harness9_Firmware/9_1_Microcontroller/tests/MakefilePre-arrival firmware regression evidence before flashing hardware15 / 15 passing on the current tracked branch + MCU regression harness9_Firmware/9_1_Microcontroller/tests/MakefilePre-arrival firmware regression evidence before flashing hardware20 / 20 passing on the current tracked branch Bring-up logging macros9_Firmware/9_1_Microcontroller/9_1_1_C_Cpp_Libraries/diag_log.hDefines the main first-power-on log vocabulary used over USART3Observation-only instrumentation layer Board-day worksheetdocs/board-day-worksheet.htmlRecord pass/fail, measurements, and blockers during first sessionsUse with this page and the bring-up plan Bring-up execution plandocs/bring-up.htmlOperator checklist, abort criteria, observability targets, and open risksPrimary readiness document @@ -91,9 +92,9 @@

FPGA implementation analysis

-

Status: Current engineering baseline

-

Primary detailed write-up: internal Build 15 implementation analysis captured timing, power, route status, DRC, methodology, CDC, and utilization for the production-target design after USB range wiring and CFAR cleanup.

-

Follow-on Build 16 remote validation focused on production XDC cleanup only and confirmed no timing regression while reducing methodology noise substantially.

+

Status: Current engineering baseline — Build 20 (v0.1.3-build20)

+

Build 20 is the current production baseline. Full timing, utilization, power, DRC, methodology, CDC, and route reports are available on the remote Vivado host. Setup slack improved 7x from Build 18 (+0.062 ns to +0.426 ns) via MMCM jitter cleaner, CIC CREG pipeline, and XDC clock-name fix.

+

Build 18 (v0.1.2-build18) retained as prior reference. Build 19 failed timing (WNS -0.011 ns) due to conflicting XDC generated clock, root-caused and fixed in Build 20.

@@ -110,10 +111,11 @@

Report Currency Notice