host: Fix NIPC calculation in ddc/duc

Computed NIPC values now resolve to 1 for
RF_BW < 200 MHz and the workaround in X410_X4_100
bitfile to ensure correct NIPC has been reverted.
This commit is contained in:
mhallada 2026-08-05 14:59:36 +02:00 committed by mkoop-ni
parent f60ae0e17d
commit 6883bb4d39
3 changed files with 6 additions and 17 deletions

View File

@ -16,18 +16,3 @@ inherit:
parameters:
RF_BW: 100
noc_blocks:
# Workaround for bug in NIPC calculation in DDC/DUC block configuration yaml for BW < 200 MHz.
duc0:
parameters:
NIPC: 1
ddc0:
parameters:
NIPC: 1
duc1:
parameters:
NIPC: 1
ddc1:
parameters:
NIPC: 1

View File

@ -19,7 +19,9 @@ parameters:
# 2 that can support the given RF_BW, assuming each of the NIPC parallel
# chains supports 200 MHz of RF bandwidth (with a corresponding sampling rate
# of 250 MSps). If RF_BW is not provided or is zero, NIPC defaults to 1.
NIPC: "${ 1 << ((-(-int(config.device.parameters.get('RF_BW', 200) // 200)) - 1).bit_length()) }"
NIPC: >-
${ 1 << ((max(1, -(-int(config.device.parameters.get('RF_BW', 200))
// 200)) - 1).bit_length()) }
clocks:
- name: rfnoc_chdr

View File

@ -19,7 +19,9 @@ parameters:
# 2 that can support the given RF_BW, assuming each of the NIPC parallel
# chains supports 200 MHz of RF bandwidth (with a corresponding sampling rate
# of 250 MSps). If RF_BW is not provided or is zero, NIPC defaults to 1.
NIPC: "${ 1 << ((-(-int(config.device.parameters.get('RF_BW', 200) // 200)) - 1).bit_length()) }"
NIPC: >-
${ 1 << ((max(1, -(-int(config.device.parameters.get('RF_BW', 200))
// 200)) - 1).bit_length()) }
clocks:
- name: rfnoc_chdr