Hi!
This work is very fascinating! Thank you so much for your generous sharing.
When I downloaded pre-build bitstream and tried to run the demo, I encountered an KeyError for Quick Run of two_stream = Two_stream('./files/config.config'). The detials of the Error are as follow,
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-6-21540529c8e7> in <module>()
----> 1 two_stream = Two_stream('./files/config.config')
/home/xilinx/jupyter_notebooks/3d_stream_dma/two_stream.py in __init__(self, config_path)
28 3)
29
---> 30 self.lucas_kanade_acc = LK_accelerator(config, overlay=overlay)
31 self.feature_bank = Feature_bank(config)
32
/home/xilinx/jupyter_notebooks/3d_stream_dma/LK_optical_flow/accelerator.py in __init__(self, config, overlay)
19 def __init__(self, config=None, overlay=None):
20
---> 21 self.create_static_pl_instance(overlay) #all LK_accelerator share same PL instance
22
23 assert config is not None
/home/xilinx/jupyter_notebooks/3d_stream_dma/LK_optical_flow/accelerator.py in create_static_pl_instance(overlay)
40
41 # static PL objects
---> 42 LK_accelerator.hls_lk = overlay.hls_LK_0
43 LK_accelerator.dma0 = overlay.axi_dma_0 #inp1_arr,vx_arr
44 LK_accelerator.dma1 = overlay.axi_dma_1 #inp2_arr,vy_arr
/usr/local/lib/python3.6/dist-packages/pynq/overlay.py in __getattr__(self, key)
323 """
324 if self.is_loaded():
--> 325 return getattr(self._ip_map, key)
326 else:
327 raise RuntimeError("Overlay not currently loaded")
/usr/local/lib/python3.6/dist-packages/pynq/overlay.py in __getattr__(self, key)
525 elif key in self._description['ip']:
526 ipdescription = self._description['ip'][key]
--> 527 driver = ipdescription['driver'](ipdescription)
528 setattr(self, key, driver)
529 return driver
/usr/local/lib/python3.6/dist-packages/pynq/overlay.py in __init__(self, description)
475 self._gpio = {}
476 for interrupt, details in self._interrupts.items():
--> 477 setattr(self, interrupt, Interrupt(details['fullpath']))
478 for gpio, entry in self._gpio.items():
479 gpio_number = GPIO.get_gpio_pin(entry['index'])
/usr/local/lib/python3.6/dist-packages/pynq/interrupt.py in __init__(self, pinname)
96 self.number = PL.interrupt_pins[pinname]['index']
97 self.parent = weakref.ref(
---> 98 _InterruptController.get_controller(parentname))
99 self.event = asyncio.Event()
100 self.waiting = False
/usr/local/lib/python3.6/dist-packages/pynq/interrupt.py in get_controller(name)
157 if con.name == name:
158 return con
--> 159 ret = _InterruptController(name)
160 _InterruptController._controllers.append(ret)
161 return ret
/usr/local/lib/python3.6/dist-packages/pynq/interrupt.py in __init__(self, name)
175 """
176 self.name = name
--> 177 self.mmio = MMIO(PL.ip_dict[name]['phys_addr'], 32)
178 self.wait_handles = [[] for _ in range(32)]
179 self.event_number = 0
KeyError: ''
I found that the static PL objects in create_static_pl_instance(overlay) function of file, LK_optical_flow/accelerator.py, have the similar Error. Moreover, I found the similar Error discussion in https://support.xilinx.com/s/question/0D52E00006iI5nOSAS/a-key-error-when-i-am-trying-to-access-a-dma-ip-on-pynq-z1-board?language=en_US, but it dose not work in this work.
Hi! This work is very fascinating! Thank you so much for your generous sharing. When I downloaded pre-build bitstream and tried to run the demo, I encountered an
KeyError
forQuick Run
oftwo_stream = Two_stream('./files/config.config')
. The detials of the Error are as follow,I found that the static PL objects in
create_static_pl_instance(overlay)
function of file,LK_optical_flow/accelerator.py
, have the similar Error. Moreover, I found the similar Error discussion inhttps://support.xilinx.com/s/question/0D52E00006iI5nOSAS/a-key-error-when-i-am-trying-to-access-a-dma-ip-on-pynq-z1-board?language=en_US
, but it dose not work in this work.Thanks!