if not (subfragment.ports or subfragment.statements or subfragment.subfragments):
                # If the fragment is completely empty, skip translating it, otherwise synthesis
                # tools (including Yosys and Vivado) will treat it as a black box when it is
                # loaded after conversion to Verilog.
                continue