fix(fpga): F-0.1 wire AD9484 OR overrange pin into diagnostics
The AD9484 OR (overrange) LVDS pair is routed on the 50T main board to xc7a50t-ftg256 bank-14 pins M6/N6 but was previously left unconnected at the top level. Plumb it through the full stack so saturation at the raw ADC boundary shows up in the existing overflow aggregation: - ad9484_interface_400m: add adc_or_p/n inputs, IBUFDS + IDDR capture of both phases in the BUFIO domain, re-register into the clk_400m BUFG domain, OR rise|fall into adc_overrange_400m output. - radar_receiver_final: stickify adc_overrange_400m in clk_400m, CDC to clk_100m via a 2FF ASYNC_REG chain (same reasoning as F-1.2's cdc_cic_fir_overrun — single-bit, latched low→high, GPIO-class diagnostic), OR into the existing ddc_overflow_any aggregation. - radar_system_top: expose adc_or_p/n top-level ports and pass through. - xc7a50t_ftg256.xdc: anchor M6/N6 as LVDS_25 DIFF_TERM, with the same DCO-relative input-delay constraints as adc_d_p[*]. - xc7a200t_fbg484.xdc: IOSTANDARD/DIFF_TERM set; PACKAGE_PIN left as a documented TODO — the 200T dev-board schematic has not been checked and the 200T build will need the anchor filled in before place/route.
This commit is contained in:
@@ -134,6 +134,22 @@ set_property IOSTANDARD LVDS_25 [get_ports {adc_d_p[*]}]
|
||||
set_property IOSTANDARD LVDS_25 [get_ports {adc_d_n[*]}]
|
||||
set_property DIFF_TERM TRUE [get_ports {adc_d_p[*]}]
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# Audit F-0.1: AD9484 OR (overrange) LVDS pair
|
||||
# The 50T main board schematic routes ADC_OR_P/N to bank-14 pins M6/N6 on
|
||||
# xc7a50t-ftg256. The 200T dev-board schematic has NOT been checked yet;
|
||||
# adc_or_p/n are declared as top-level ports so the 50T build anchors them
|
||||
# cleanly, but the 200T anchor below is a TODO placeholder — synth/impl will
|
||||
# error on unplaced IO until the 200T schematic is verified and the PACKAGE_PIN
|
||||
# values are set. IOSTANDARD/DIFF_TERM properties stay as-is (same class as
|
||||
# adc_d_p).
|
||||
# --------------------------------------------------------------------------
|
||||
set_property IOSTANDARD LVDS_25 [get_ports {adc_or_p}]
|
||||
set_property IOSTANDARD LVDS_25 [get_ports {adc_or_n}]
|
||||
set_property DIFF_TERM TRUE [get_ports {adc_or_p}]
|
||||
# TODO(F-0.1): set_property PACKAGE_PIN <?> [get_ports {adc_or_p}] after 200T schematic audit
|
||||
# TODO(F-0.1): set_property PACKAGE_PIN <?> [get_ports {adc_or_n}] after 200T schematic audit
|
||||
|
||||
# ADC Power Down — single-ended, Bank 14 (LVCMOS25 matches bank VCCO)
|
||||
# Pin: P20 = IO_0_14
|
||||
set_property PACKAGE_PIN P20 [get_ports {adc_pwdn}]
|
||||
|
||||
Reference in New Issue
Block a user