Files
PLFM_RADAR/9_Firmware/9_2_FPGA/tb/nco_quadrature.csv
T
Jason c983a3c705 Achieve timing closure: DSP48E1 pipelines, 4-stage NCO, 28-bit CIC, ASYNC_REG
Phase 0+ timing optimization (attempts #13-22 + implementation):

NCO (nco_400m_enhanced.v):
- 4-stage pipeline: DSP48E1 accumulate -> LUT read -> negate -> quadrant MUX
- DSP48E1 phase accumulator in P=P+C mode (eliminates 8-stage CARRY4 chain)
- Registered phase_inc_dithered to break cascaded 32-bit add path

DDC (ddc_400m.v):
- Direct DSP48E1 instantiation for I/Q mixers (AREG=1, BREG=1, MREG=1, PREG=1)
- CEP=1, RSTP=!reset_n for proper pipeline control
- 3-stage dsp_valid_pipe for PREG=1 latency
- Behavioral sim model under ifdef SIMULATION for Icarus compatibility

CIC (cic_decimator_4x_enhanced.v):
- 28-bit accumulators (was 36) per CIC width formula: 18 + 5*log2(4) = 28
- Removed integrator/comb saturation (CIC uses wrapping arithmetic by design)
- Pipelined output saturation comparison

CDC/ASYNC_REG:
- ASYNC_REG attribute on all CDC synchronizer registers (cdc_modules.v,
  radar_system_top.v, usb_data_interface.v)
- Sync reset in generate blocks (cdc_modules.v)

Results: Vivado post-implementation WNS=+1.196ns, 0 failing endpoints,
850 LUTs (1.34%), 466 FFs (0.37%), 2 DSP48E1 (0.83%) on xc7a100t.
All testbenches pass: 241/244 (3 known stub failures).
2026-03-16 01:02:07 +02:00

1.0 KiB

1samplesincosmag_sq
2014732288981052126228
3118868263191048691185
4222594231701047337736
5326319188681048691185
6428898147321052126228
753111395121058496913
863228548081065438089
973275701073021049
10832285-48081065438089
11931113-95121058496913
121028898-147321052126228
131126319-188681048691185
141223170-225941047337736
151318868-263191048691185
161414732-288981052126228
17159512-311131058496913
18164808-322851065438089
19170-327571073021049
2018-32285-48081065438089
2119-31113-95121058496913
2220-28898-147321052126228
2321-26319-188681048691185
2422-23170-225941047337736
2523-18868-263191048691185
2624-14732-288981052126228
2725-9512-311131058496913
2826-4808-322851065438089
29270-327571073021049
3028-4808322851065438089
3129-9512311131058496913
3230-14732288981052126228
3331-18868263191048691185
3432-22594231701047337736
3533-26319188681048691185
3634-28898147321052126228
3735-3111395121058496913
3836-3228548081065438089
3937-3275701073021049
40384808322851065438089
41399512311131058496913