ZCU111 can not use my overlay

Hi,I am using ZCU111.When I want to use my bit file,I got an error message.
My code:

from pynq import Overlay 
ZCU111_bit = Overlay("./ZCU111_PYNQ.bit")

error message:

---------------------------------------------------------------------------
CacheMetadataError                        Traceback (most recent call last)
File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynq/pl_server/embedded_device.py:252, in BitstreamHandler.get_parser(self, partial)
    251 try:
--> 252     parser = self._get_cache() 
    253 except CacheMetadataError:

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynq/pl_server/embedded_device.py:228, in BitstreamHandler._get_cache(self)
    227 else:
--> 228     raise CacheMetadataError(f"No cached metadata present")

CacheMetadataError: No cached metadata present

During handling of the above exception, another exception occurred:

KeyError                                  Traceback (most recent call last)
Input In [24], in <cell line: 2>()
      1 from pynq import Overlay 
----> 2 ZCU111_bit = Overlay("./ZCU111_PYNQ.bit")

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynq/overlay.py:319, in Overlay.__init__(self, bitfile_name, dtbo, download, ignore_version, device, gen_cache)
    315 super().__init__(bitfile_name, dtbo, partial=False, device=device)
    317 self._register_drivers()
--> 319 self.device.set_bitfile_name(self.bitfile_name)
    320 self.parser = self.device.parser
    322 self.ip_dict = (
    323     self.gpio_dict
    324 ) = (
    325     self.interrupt_controllers
    326 ) = self.interrupt_pins = self.hierarchy_dict = dict()

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynq/pl_server/device.py:118, in Device.set_bitfile_name(self, bitfile_name)
    116 def set_bitfile_name(self, bitfile_name: str) -> None:
    117     self.bitfile_name = bitfile_name
--> 118     self.parser = self.get_bitfile_metadata(self.bitfile_name)
    119     self.mem_dict = self.parser.mem_dict
    120     self.ip_dict = self.parser.ip_dict

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynq/pl_server/embedded_device.py:690, in EmbeddedDevice.get_bitfile_metadata(self, bitfile_name, partial)
    689 def get_bitfile_metadata(self, bitfile_name:str, partial:bool=False):
--> 690     parser = _get_bitstream_handler(bitfile_name).get_parser(partial=partial)
    691     if parser is None:
    692         raise RuntimeError("Unable to find metadata for bitstream")

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynq/pl_server/embedded_device.py:254, in BitstreamHandler.get_parser(self, partial)
    252     parser = self._get_cache() 
    253 except CacheMetadataError:
--> 254     parser = RuntimeMetadataParser(Metadata(input=self._filepath.with_suffix(".hwh")))
    255 except:
    256     raise RuntimeError(f"Unable to parse metadata")

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynqmetadata/frontends/metadata.py:40, in Metadata(input)
     38 if os.path.isfile(input):
     39     if str(input).endswith(".hwh"):
---> 40         return HwhFrontend(_hwhfile=input)
     41     elif str(input).endswith(".xsa"):
     42         return XsaFrontend(input=input) 

File <string>:25, in __init__(self, name, type, generic_type, _parent, _children, ref, ext, _timestamp, hierarchy_name, ports, parameters, blocks, modules, busses, _hierarchies, _hwhfile, _element_tree, _root, _logical2physical_portmap, _physical2logical_portmap, _logical2physical_extern_pm, _physical2logical_extern_pm)

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynqmetadata/frontends/hwh_frontend.py:219, in HwhFrontend.__post_init__(self)
    207 """
    208 Performs the parsing of the hwh into the metadata model
    209 * checks to see if the hwhfile is an XML string or a
   (...)
    216 * Performs a connectivity pass
    217 """
    218 if self._hwhfile != "":
--> 219     self.parse()

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynqmetadata/frontends/hwh_frontend.py:240, in HwhFrontend.parse(self)
    237 self._construct_logical2physical_extern_pm()
    238 self._create_external_ports()
--> 240 self.resolve_addressing()
    241 self.connect_signals()
    243 self.refresh()

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynqmetadata/frontends/hwh_frontend.py:596, in HwhFrontend.resolve_addressing(self)
    589 def resolve_addressing(self) -> None:
    590     """
    591     For all the subordinate ports in the design and manager ports
    592     grab all the addressing information
    593     WARNING: This should only be called after all the cores and ports
    594     have been populated.
    595     """
--> 596     self._resolve_subordinate_addressing()
    597     self._populate_subordinate_regmap()
    598     self._resolve_manager_address_maps()

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynqmetadata/frontends/hwh_frontend.py:453, in HwhFrontend._resolve_subordinate_addressing(self)
    451 if i.get("MEMTYPE") == "REGISTER" or i.get("MEMTYPE") == "MEMORY":
    452     core = self.blocks[i.get("INSTANCE")]
--> 453     port = core.ports[i.get("SLAVEBUSINTERFACE")]
    454     if isinstance(port, SubordinatePort):
    455         port.baseaddr = int(i.get("BASEVALUE"), 16)

KeyError: 'S_AXI'

and when I use xsa file

from pynq import Overlay 
ZCU111_bit = Overlay("./ZCU111_pynqtest.xsa")

It raises the same error

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
Input In [1], in <cell line: 2>()
      1 from pynq import Overlay 
----> 2 ZCU111_bit = Overlay("./ZCU111_pynqtest.xsa")

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynq/overlay.py:319, in Overlay.__init__(self, bitfile_name, dtbo, download, ignore_version, device, gen_cache)
    315 super().__init__(bitfile_name, dtbo, partial=False, device=device)
    317 self._register_drivers()
--> 319 self.device.set_bitfile_name(self.bitfile_name)
    320 self.parser = self.device.parser
    322 self.ip_dict = (
    323     self.gpio_dict
    324 ) = (
    325     self.interrupt_controllers
    326 ) = self.interrupt_pins = self.hierarchy_dict = dict()

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynq/pl_server/device.py:118, in Device.set_bitfile_name(self, bitfile_name)
    116 def set_bitfile_name(self, bitfile_name: str) -> None:
    117     self.bitfile_name = bitfile_name
--> 118     self.parser = self.get_bitfile_metadata(self.bitfile_name)
    119     self.mem_dict = self.parser.mem_dict
    120     self.ip_dict = self.parser.ip_dict

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynq/pl_server/embedded_device.py:690, in EmbeddedDevice.get_bitfile_metadata(self, bitfile_name, partial)
    689 def get_bitfile_metadata(self, bitfile_name:str, partial:bool=False):
--> 690     parser = _get_bitstream_handler(bitfile_name).get_parser(partial=partial)
    691     if parser is None:
    692         raise RuntimeError("Unable to find metadata for bitstream")

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynq/pl_server/embedded_device.py:268, in BitstreamHandler.get_parser(self, partial)
    266     parser = XclBin(xclbin_data=xclbin_data)
    267 elif is_xsa:
--> 268     parser = RuntimeMetadataParser(Metadata(input=self._filepath))
    269     if xclbin_data is None:
    270         xclbin_data = _create_xclbin(parser.mem_dict)

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynqmetadata/frontends/metadata.py:42, in Metadata(input)
     40     return HwhFrontend(_hwhfile=input)
     41 elif str(input).endswith(".xsa"):
---> 42     return XsaFrontend(input=input) 
     43 elif str(input).endswith(".json"):
     44     return JsonFrontend(input=input)

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynqmetadata/frontends/xsa_frontend.py:24, in XsaFrontend(input)
     22 xsa = XsaParser(input)
     23 xsa.load_bdc_metadata()
---> 24 md = HwhFrontend(_hwhfile=xsa.defaultHwhPaths[0])
     25 md.ext["xsa"] = XsaObjectExtension(xsa=xsa)
     26 for b in md.blocks.values():

File <string>:25, in __init__(self, name, type, generic_type, _parent, _children, ref, ext, _timestamp, hierarchy_name, ports, parameters, blocks, modules, busses, _hierarchies, _hwhfile, _element_tree, _root, _logical2physical_portmap, _physical2logical_portmap, _logical2physical_extern_pm, _physical2logical_extern_pm)

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynqmetadata/frontends/hwh_frontend.py:219, in HwhFrontend.__post_init__(self)
    207 """
    208 Performs the parsing of the hwh into the metadata model
    209 * checks to see if the hwhfile is an XML string or a
   (...)
    216 * Performs a connectivity pass
    217 """
    218 if self._hwhfile != "":
--> 219     self.parse()

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynqmetadata/frontends/hwh_frontend.py:240, in HwhFrontend.parse(self)
    237 self._construct_logical2physical_extern_pm()
    238 self._create_external_ports()
--> 240 self.resolve_addressing()
    241 self.connect_signals()
    243 self.refresh()

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynqmetadata/frontends/hwh_frontend.py:596, in HwhFrontend.resolve_addressing(self)
    589 def resolve_addressing(self) -> None:
    590     """
    591     For all the subordinate ports in the design and manager ports
    592     grab all the addressing information
    593     WARNING: This should only be called after all the cores and ports
    594     have been populated.
    595     """
--> 596     self._resolve_subordinate_addressing()
    597     self._populate_subordinate_regmap()
    598     self._resolve_manager_address_maps()

File /usr/local/share/pynq-venv/lib/python3.10/site-packages/pynqmetadata/frontends/hwh_frontend.py:453, in HwhFrontend._resolve_subordinate_addressing(self)
    451 if i.get("MEMTYPE") == "REGISTER" or i.get("MEMTYPE") == "MEMORY":
    452     core = self.blocks[i.get("INSTANCE")]
--> 453     port = core.ports[i.get("SLAVEBUSINTERFACE")]
    454     if isinstance(port, SubordinatePort):
    455         port.baseaddr = int(i.get("BASEVALUE"), 16)

KeyError: 'S_AXI'

hoping that you can solve my question