From fba65c68f7462686d894f68a71077e6f46500665 Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Wed, 26 Jun 2024 13:37:08 +0200 Subject: [PATCH] image builder: Allow missing connections The image builder will currently emit a warning if a NoC-block has unconnected ports. This requires specifying `-W` to continue building, which is the intended behaviour. However, there are cases where there are legitimate reasons to not connect a block, e.g., in the X310, where the radio block has 2x2 ports, but we only connect 2 RX ports, and 1 TX port. This adds a way to declare a "null" connection, which makes it explicit in the image core YAML that a connection was deliberately omitted. Such connections are created by connecting to a port called "_none_", e.g.: ``` connections: - { srcblk: _device_, srcport: _none_, dstblk: radio0, dstport: in_1 } ``` The block name is irrelevant, but the schema requires providing a block name. This commit also amends the x3xx_radio_base.yml to avoid warnings when building X3x0 bitfiles. Original-commit: 6758966a5ac127a396e8b3b39f96aa484098e50f --- top/x300/yaml_include/x3xx_radio_base.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/top/x300/yaml_include/x3xx_radio_base.yml b/top/x300/yaml_include/x3xx_radio_base.yml index dcff223..5af8c56 100644 --- a/top/x300/yaml_include/x3xx_radio_base.yml +++ b/top/x300/yaml_include/x3xx_radio_base.yml @@ -67,6 +67,10 @@ connections: # RF A TX - { srcblk: ep0, srcport: out0, dstblk: duc0, dstport: in_0 } - { srcblk: duc0, srcport: out_0, dstblk: radio0, dstport: in_0 } + # This is a fake connection: It signals to the image builder that we are + # deliberately not connecting this port, so it doesn't have to print a warning + # about it. + - { srcblk: _device_, srcport: _none_, dstblk: radio0, dstport: in_1 } # RF A RX - { srcblk: radio0, srcport: out_0, dstblk: ddc0, dstport: in_0 } - { srcblk: ddc0, srcport: out_0, dstblk: ep0, dstport: in0 } @@ -77,6 +81,8 @@ connections: # RF B TX - { srcblk: ep2, srcport: out0, dstblk: duc1, dstport: in_0 } - { srcblk: duc1, srcport: out_0, dstblk: radio1, dstport: in_0 } + # See comment above about fake connections. + - { srcblk: _device_, srcport: _none_, dstblk: radio1, dstport: in_1 } # RF B RX - { srcblk: radio1, srcport: out_0, dstblk: ddc1, dstport: in_0 } - { srcblk: ddc1, srcport: out_0, dstblk: ep2, dstport: in0 }