docs: def walkSignalPorts(rootPort: LPort):
      """
      recursively walk ports without any children
      """
      if rootPort.children:
          for ch in rootPort.children:
              yield from walkSignalPorts(ch)
      else:
          yield rootPort