image builder: Use RADIO_NIPC parameter
This simplifies image core files by generating a RADIO_NIPC parameter for the X410, X440 and E31x BSP files. The IO port widths for X410 are now dynamically widened based on the NIPC value, which is a function of the RF_BW parameter, and cannot be modified. The radio block can now read the NIPC value from the BSP, and populate its spc parameter dynamically. This avoids having to know the right spc value when writing YAML image core files and reduces redundancy. This also removes the RADIO_NIPC parameter entirely from all the image core files. This parameter was fine, but it was a bit confusing because it referenced a Verilog parameter, which you just had to know was there in the generated Verilog. By referencing the BSP parameter instead, the YAML files (BSP, radio.yml, and image core file) are now self-contained regarding the RADIO_NIPC/spc information. As a minor upside, the input wire widths for X410's and N310's rfnoc_image_core.sv module are now generated with the correct widths, and not, as before, with the worst-case width (and then we assume Vivado will do the right thing). Original-commit: 53b4d7a21018fe7aabf9f774260aefb41297a41b
This commit is contained in:
@@ -32,7 +32,6 @@ noc_blocks:
|
|||||||
block_desc: 'radio.yml' # Block device descriptor
|
block_desc: 'radio.yml' # Block device descriptor
|
||||||
parameters:
|
parameters:
|
||||||
NUM_PORTS: 2
|
NUM_PORTS: 2
|
||||||
NIPC: RADIO_NIPC
|
|
||||||
|
|
||||||
# A list of all static connections in design
|
# A list of all static connections in design
|
||||||
# ------------------------------------------
|
# ------------------------------------------
|
||||||
|
|||||||
@@ -91,7 +91,6 @@ noc_blocks:
|
|||||||
block_desc: 'radio.yml'
|
block_desc: 'radio.yml'
|
||||||
parameters:
|
parameters:
|
||||||
NUM_PORTS: 2
|
NUM_PORTS: 2
|
||||||
NIPC: RADIO_NIPC
|
|
||||||
duc1:
|
duc1:
|
||||||
block_desc: 'duc.yml'
|
block_desc: 'duc.yml'
|
||||||
parameters:
|
parameters:
|
||||||
@@ -104,7 +103,6 @@ noc_blocks:
|
|||||||
block_desc: 'radio.yml'
|
block_desc: 'radio.yml'
|
||||||
parameters:
|
parameters:
|
||||||
NUM_PORTS: 2
|
NUM_PORTS: 2
|
||||||
NIPC: RADIO_NIPC
|
|
||||||
replay0:
|
replay0:
|
||||||
block_desc: 'replay.yml'
|
block_desc: 'replay.yml'
|
||||||
parameters:
|
parameters:
|
||||||
|
|||||||
@@ -72,7 +72,6 @@ noc_blocks:
|
|||||||
block_desc: 'radio.yml'
|
block_desc: 'radio.yml'
|
||||||
parameters:
|
parameters:
|
||||||
NUM_PORTS: 2
|
NUM_PORTS: 2
|
||||||
NIPC: RADIO_NIPC
|
|
||||||
duc1:
|
duc1:
|
||||||
block_desc: 'duc.yml'
|
block_desc: 'duc.yml'
|
||||||
parameters:
|
parameters:
|
||||||
@@ -85,7 +84,6 @@ noc_blocks:
|
|||||||
block_desc: 'radio.yml'
|
block_desc: 'radio.yml'
|
||||||
parameters:
|
parameters:
|
||||||
NUM_PORTS: 2
|
NUM_PORTS: 2
|
||||||
NIPC: RADIO_NIPC
|
|
||||||
replay0:
|
replay0:
|
||||||
block_desc: 'replay.yml'
|
block_desc: 'replay.yml'
|
||||||
parameters:
|
parameters:
|
||||||
|
|||||||
@@ -72,7 +72,6 @@ noc_blocks:
|
|||||||
block_desc: 'radio.yml'
|
block_desc: 'radio.yml'
|
||||||
parameters:
|
parameters:
|
||||||
NUM_PORTS: 2
|
NUM_PORTS: 2
|
||||||
NIPC: RADIO_NIPC
|
|
||||||
duc1:
|
duc1:
|
||||||
block_desc: 'duc.yml'
|
block_desc: 'duc.yml'
|
||||||
parameters:
|
parameters:
|
||||||
@@ -85,7 +84,6 @@ noc_blocks:
|
|||||||
block_desc: 'radio.yml'
|
block_desc: 'radio.yml'
|
||||||
parameters:
|
parameters:
|
||||||
NUM_PORTS: 2
|
NUM_PORTS: 2
|
||||||
NIPC: RADIO_NIPC
|
|
||||||
replay0:
|
replay0:
|
||||||
block_desc: 'replay.yml'
|
block_desc: 'replay.yml'
|
||||||
parameters:
|
parameters:
|
||||||
|
|||||||
@@ -53,12 +53,10 @@ noc_blocks:
|
|||||||
block_desc: 'radio.yml'
|
block_desc: 'radio.yml'
|
||||||
parameters:
|
parameters:
|
||||||
NUM_PORTS: 1
|
NUM_PORTS: 1
|
||||||
NIPC: RADIO_NIPC
|
|
||||||
radio1:
|
radio1:
|
||||||
block_desc: 'radio.yml'
|
block_desc: 'radio.yml'
|
||||||
parameters:
|
parameters:
|
||||||
NUM_PORTS: 1
|
NUM_PORTS: 1
|
||||||
NIPC: RADIO_NIPC
|
|
||||||
|
|
||||||
# A list of all static connections in design
|
# A list of all static connections in design
|
||||||
# ------------------------------------------
|
# ------------------------------------------
|
||||||
|
|||||||
@@ -65,12 +65,10 @@ noc_blocks:
|
|||||||
block_desc: 'radio.yml'
|
block_desc: 'radio.yml'
|
||||||
parameters:
|
parameters:
|
||||||
NUM_PORTS: 1
|
NUM_PORTS: 1
|
||||||
NIPC: RADIO_NIPC
|
|
||||||
radio1:
|
radio1:
|
||||||
block_desc: 'radio.yml'
|
block_desc: 'radio.yml'
|
||||||
parameters:
|
parameters:
|
||||||
NUM_PORTS: 1
|
NUM_PORTS: 1
|
||||||
NIPC: RADIO_NIPC
|
|
||||||
replay0:
|
replay0:
|
||||||
block_desc: 'replay.yml'
|
block_desc: 'replay.yml'
|
||||||
parameters:
|
parameters:
|
||||||
|
|||||||
@@ -85,12 +85,10 @@ noc_blocks:
|
|||||||
block_desc: 'radio.yml'
|
block_desc: 'radio.yml'
|
||||||
parameters:
|
parameters:
|
||||||
NUM_PORTS: 4
|
NUM_PORTS: 4
|
||||||
NIPC: RADIO_NIPC
|
|
||||||
radio1:
|
radio1:
|
||||||
block_desc: 'radio.yml'
|
block_desc: 'radio.yml'
|
||||||
parameters:
|
parameters:
|
||||||
NUM_PORTS: 4
|
NUM_PORTS: 4
|
||||||
NIPC: RADIO_NIPC
|
|
||||||
duc0:
|
duc0:
|
||||||
block_desc: 'duc.yml'
|
block_desc: 'duc.yml'
|
||||||
parameters:
|
parameters:
|
||||||
|
|||||||
@@ -125,12 +125,10 @@ noc_blocks:
|
|||||||
block_desc: 'radio.yml'
|
block_desc: 'radio.yml'
|
||||||
parameters:
|
parameters:
|
||||||
NUM_PORTS: 4
|
NUM_PORTS: 4
|
||||||
NIPC: RADIO_NIPC
|
|
||||||
radio1:
|
radio1:
|
||||||
block_desc: 'radio.yml'
|
block_desc: 'radio.yml'
|
||||||
parameters:
|
parameters:
|
||||||
NUM_PORTS: 4
|
NUM_PORTS: 4
|
||||||
NIPC: RADIO_NIPC
|
|
||||||
replay0:
|
replay0:
|
||||||
block_desc: 'replay.yml'
|
block_desc: 'replay.yml'
|
||||||
parameters:
|
parameters:
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ noc_blocks:
|
|||||||
block_desc: 'radio.yml'
|
block_desc: 'radio.yml'
|
||||||
parameters:
|
parameters:
|
||||||
NUM_PORTS: 2
|
NUM_PORTS: 2
|
||||||
NIPC: RADIO_NIPC
|
|
||||||
ctrl_clock: _device_.rfnoc_ctrl # The clock that is used for the control
|
ctrl_clock: _device_.rfnoc_ctrl # The clock that is used for the control
|
||||||
# interface. This is the default clock,
|
# interface. This is the default clock,
|
||||||
# so we could skip it.
|
# so we could skip it.
|
||||||
@@ -26,7 +25,6 @@ noc_blocks:
|
|||||||
block_desc: 'radio.yml'
|
block_desc: 'radio.yml'
|
||||||
parameters:
|
parameters:
|
||||||
NUM_PORTS: 2
|
NUM_PORTS: 2
|
||||||
NIPC: RADIO_NIPC
|
|
||||||
ctrl_clock: _device_.rfnoc_ctrl
|
ctrl_clock: _device_.rfnoc_ctrl
|
||||||
timebase_clock: _device_.radio
|
timebase_clock: _device_.radio
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ noc_blocks:
|
|||||||
block_desc: 'radio.yml'
|
block_desc: 'radio.yml'
|
||||||
parameters:
|
parameters:
|
||||||
NUM_PORTS: 4
|
NUM_PORTS: 4
|
||||||
NIPC: RADIO_NIPC
|
|
||||||
ctrl_clock: _device_.rfnoc_ctrl # The clock that is used for the control
|
ctrl_clock: _device_.rfnoc_ctrl # The clock that is used for the control
|
||||||
# interface. This is the default clock,
|
# interface. This is the default clock,
|
||||||
# so we could skip it.
|
# so we could skip it.
|
||||||
@@ -25,7 +24,6 @@ noc_blocks:
|
|||||||
block_desc: 'radio.yml'
|
block_desc: 'radio.yml'
|
||||||
parameters:
|
parameters:
|
||||||
NUM_PORTS: 4
|
NUM_PORTS: 4
|
||||||
NIPC: RADIO_NIPC
|
|
||||||
ctrl_clock: _device_.rfnoc_ctrl
|
ctrl_clock: _device_.rfnoc_ctrl
|
||||||
timebase_clock: _device_.radio1
|
timebase_clock: _device_.radio1
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user