Files
overwatch/9_Firmware/9_2_FPGA/tb/nco_1mhz_output.csv
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

8.8 KiB

1samplesin_outcos_outdds_ready
200327670
310327670
420327670
530327570
640327571
75804327281
86804327281
971608326781
1082410326091
1192410326091
12103212325211
13114011324121
14124011324121
15134808322851
16145602321371
17155602321371
18166393319711
19176393319711
20187179317851
21197962315801
22207962315801
23218739313561
24229512311131
25239512311131
262410278308521
272511039305711
282611039305711
292711793302731
302811793302731
312912539299561
323013279296211
333113279296211
343214010292681
353314732288981
363414732288981
373515446285101
383616151281051
393716151281051
403816846276831
413917530272451
424017530272451
434118204267901
444218204267901
454318868263191
464419519258321
474519519258321
484620159253291
494720787248111
504820787248111
514921403242791
525022005237311
535122005237311
545222594231701
555322594231701
565423170225941
575523731220051
585623731220051
595724279214031
605824811207871
615924811207871
626025329201591
636125832195191
646225832195191
656326319188681
666426790182041
676526790182041
686627245175301
696727245175301
706827683168461
716928105161511
727028105161511
737128510154461
747228898147321
757328898147321
767429268140101
777529621132791
787629621132791
797729956125391
807829956125391
817930273117931
828030571110391
838130571110391
848230852102781
85833111395121
86843111395121
87853135687391
88863158079621
89873158079621
90883178571791
91893197163931
92903197163931
93913213756021
94923213756021
95933228548081
96943241240111
97953241240111
98963252132121
99973260924101
100983260924101
101993267816081
102100327288041
103101327288041
1041023275701
1051033275701
1061043275701
10710532728-8041
10810632728-8041
10910732678-16081
11010832609-24101
11110932609-24101
11211032521-32121
11311132412-40111
11411232412-40111
11511332285-48081
11611432137-56021
11711532137-56021
11811631971-63931
11911731971-63931
12011831785-71791
12111931580-79621
12212031580-79621
12312131356-87391
12412231113-95121
12512331113-95121
12612430852-102781
12712530571-110391
12812630571-110391
12912730273-117931
13012830273-117931
13112929956-125391
13213029621-132791
13313129621-132791
13413229268-140101
13513328898-147321
13613428898-147321
13713528510-154461
13813628105-161511
13913728105-161511
14013827683-168461
14113927245-175301
14214027245-175301
14314126790-182041
14414226790-182041
14514326319-188681
14614425832-195191
14714525832-195191
14814625329-201591
14914724811-207871
15014824811-207871
15114924279-214031
15215023731-220051
15315123731-220051
15415223170-225941
15515323170-225941
15615422594-231701
15715522005-237311
15815622005-237311
15915721403-242791
16015820787-248111
16115920787-248111
16216020159-253291
16316119519-258321
16416219519-258321
16516318868-263191
16616418204-267901
16716518204-267901
16816617530-272451
16916717530-272451
17016816846-276831
17116916151-281051
17217016151-281051
17317115446-285101
17417214732-288981
17517314732-288981
17617414010-292681
17717513279-296211
17817613279-296211
17917712539-299561
18017812539-299561
18117911793-302731
18218011039-305711
18318111039-305711
18418210278-308521
1851839512-311131
1861849512-311131
1871858739-313561
1881867962-315801
1891877962-315801
1901887179-317851
1911896393-319711
1921906393-319711
1931915602-321371
1941925602-321371
1951934808-322851
1961944011-324121
1971954011-324121
1981963212-325211
1991972410-326091
2001982410-326091
2011991608-326781
202200804-327281
203201804-327281
2042020-327571
2052030-327571
206204-3275701
207205-32728-8041
208206-32728-8041
209207-32678-16081
210208-32609-24101
211209-32609-24101
212210-32521-32121
213211-32412-40111
214212-32412-40111
215213-32285-48081
216214-32137-56021
217215-32137-56021
218216-31971-63931
219217-31971-63931
220218-31785-71791
221219-31580-79621
222220-31580-79621
223221-31356-87391
224222-31113-95121
225223-31113-95121
226224-30852-102781
227225-30571-110391
228226-30571-110391
229227-30273-117931
230228-30273-117931
231229-29956-125391
232230-29621-132791
233231-29621-132791
234232-29268-140101
235233-28898-147321
236234-28898-147321
237235-28510-154461
238236-28105-161511
239237-28105-161511
240238-27683-168461
241239-27245-175301
242240-27245-175301
243241-26790-182041
244242-26790-182041
245243-26319-188681
246244-25832-195191
247245-25832-195191
248246-25329-201591
249247-24811-207871
250248-24811-207871
251249-24279-214031
252250-23731-220051
253251-23731-220051
254252-23170-225941
255253-23170-225941
256254-22594-231701
257255-22005-237311
258256-22005-237311
259257-21403-242791
260258-20787-248111
261259-20787-248111
262260-20159-253291
263261-19519-258321
264262-19519-258321
265263-18868-263191
266264-18204-267901
267265-18204-267901
268266-17530-272451
269267-17530-272451
270268-16846-276831
271269-16151-281051
272270-16151-281051
273271-15446-285101
274272-14732-288981
275273-14732-288981
276274-14010-292681
277275-13279-296211
278276-13279-296211
279277-12539-299561
280278-12539-299561
281279-11793-302731
282280-11039-305711
283281-11039-305711
284282-10278-308521
285283-9512-311131
286284-9512-311131
287285-8739-313561
288286-7962-315801
289287-7962-315801
290288-7179-317851
291289-6393-319711
292290-6393-319711
293291-5602-321371
294292-5602-321371
295293-4808-322851
296294-4011-324121
297295-4011-324121
298296-3212-325211
299297-2410-326091
300298-2410-326091
301299-1608-326781
302300-804-327281
303301-804-327281
3043020-327571
3053030-327571
3063040327571
307305-804327281
308306-804327281
309307-1608326781
310308-2410326091
311309-2410326091
312310-3212325211
313311-4011324121
314312-4011324121
315313-4808322851
316314-5602321371
317315-5602321371
318316-6393319711
319317-6393319711
320318-7179317851
321319-7962315801
322320-7962315801
323321-8739313561
324322-9512311131
325323-9512311131
326324-10278308521
327325-11039305711
328326-11039305711
329327-11793302731
330328-11793302731
331329-12539299561
332330-13279296211
333331-13279296211
334332-14010292681
335333-14732288981
336334-14732288981
337335-15446285101
338336-16151281051
339337-16151281051
340338-16846276831
341339-17530272451
342340-17530272451
343341-18204267901
344342-18204267901
345343-18868263191
346344-19519258321
347345-19519258321
348346-20159253291
349347-20787248111
350348-20787248111
351349-21403242791
352350-22005237311
353351-22005237311
354352-22594231701
355353-22594231701
356354-23170225941
357355-23731220051
358356-23731220051
359357-24279214031
360358-24811207871
361359-24811207871
362360-25329201591
363361-25832195191
364362-25832195191
365363-26319188681
366364-26790182041
367365-26790182041
368366-27245175301
369367-27245175301
370368-27683168461
371369-28105161511
372370-28105161511
373371-28510154461
374372-28898147321
375373-28898147321
376374-29268140101
377375-29621132791
378376-29621132791
379377-29956125391
380378-29956125391
381379-30273117931
382380-30571110391
383381-30571110391
384382-30852102781
385383-3111395121
386384-3111395121
387385-3135687391
388386-3158079621
389387-3158079621
390388-3178571791
391389-3197163931
392390-3197163931
393391-3213756021
394392-3213756021
395393-3228548081
396394-3241240111
397395-3241240111
398396-3252132121
399397-3260924101
400398-3260924101
401399-3267816081
402400-327288041
403401-327288041
404402-3275701
405403-3275701
4064040327571
407405804327281
408406804327281
4094071608326781
4104082410326091
4114092410326091
4124103212325211
4134114011324121
4144124011324121
4154134808322851
4164145602321371
4174155602321371
4184166393319711
4194176393319711
4204187179317851
4214197962315801
4224207962315801
4234218739313561
4244229512311131
4254239512311131
42642410278308521
42742511039305711
42842611039305711
42942711793302731
43042811793302731
43142912539299561
43243013279296211
43343113279296211
43443214010292681
43543314732288981
43643414732288981
43743515446285101
43843616151281051
43943716151281051
44043816846276831
44143917530272451
44244017530272451
44344118204267901
44444218204267901
44544318868263191
44644419519258321
44744519519258321
44844620159253291
44944720787248111
45044820787248111
45144921403242791
45245022005237311
45345122005237311
45445222594231701
45545322594231701
45645423170225941
45745523731220051
45845623731220051
45945724279214031
46045824811207871
46145924811207871
46246025329201591
46346125832195191
46446225832195191
46546326319188681
46646426790182041
46746526790182041
46846627245175301
46946727245175301
47046827683168461
47146928105161511
47247028105161511
47347128510154461
47447228898147321
47547328898147321
47647429268140101
47747529621132791
47847629621132791
47947729956125391
48047829956125391
48147930273117931
48248030571110391
48348130571110391
48448230852102781
4854833111395121
4864843111395121
4874853135687391
4884863158079621
4894873158079621
4904883178571791
4914893197163931
4924903197163931
4934913213756021
4944923213756021
4954933228548081
4964943241240111
4974953241240111
4984963252132121
4994973260924101
5004983260924101
5014993267816081