Diary/2022-11-29
KV260 PYNQ
- https://xilinx.github.io/kria-apps-docs/kria_som_ubuntu_support/build/html/index.html
- https://github.com/Xilinx/Kria-PYNQ
- PYNQのセットアップ
READMEの通り.
git clone https://github.com/Xilinx/Kria-PYNQ.git cd Kria-PYNQ/ sudo bash install.sh -b KV260
実行すると,pynq-v3.0-binariesとかいってmicroblaze用のgccなんかもインストールされる.
そういえばPynq環境のGPIOってMicroBlaze介ししたりしてたんだっけ?とか(あとで調べる).
インストールがおわると自動的にJupyter Notebookが起動してるので
ブラウザでアクセスすればいい.ポート番号は9090,パスワードはxilinx.
ちなみに,systemdに起動スクリプトが登録されるので,リブート後も自動的にJupyter-notebookが起動される.
なお,root権限で起動しているので,Terminalはrootユーザであがってくる.
pynq-helloworldのresizer_ps.ipynbとresizer_pl.ipynbを実行してみる.
resizer_ps.ipynbではリサイズにかかる時間が
375 ms ± 1.08 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
で,一方,resizer_pl.ipynbではリサイズにかかる時間が
94.7 ms ± 29.2 us per loop (mean ± std. dev. of 7 runs, 10 loops each)
とのこと.4倍くらい速いのか.
resizer_pl.ipynbでは,
resize_design = Overlay("resizer.bit")
とかしている.UARTで接続しているコンソールをみていると,
[12805.886709] [drm] bitstream 54f5a343-ef3f-e9f9-039b-1945a66cc649 unlocked, ref=0 [12852.245704] fpga_manager fpga0: writing resizer.bin to Xilinx ZynqMP FPGA Manager [12852.406449] [drm] skip kind 29(AIE_RESOURCES) return code: -22 [12852.406481] [drm] skip kind 8(IP_LAYOUT) return code: -22 [12852.412445] [drm] skip kind 9(DEBUG_IP_LAYOUT) return code: -22 [12852.417900] [drm] skip kind 25(AIE_METADATA) return code: -22 [12852.423878] [drm] skip kind 7(CONNECTIVITY) return code: -22 [12852.429675] [drm] found kind 6(MEM_TOPOLOGY) [12852.435549] [drm] Memory 0 is not reserved in device tree. Will allocate memory from CMA [12852.448043] [drm] zocl_xclbin_read_axlf 45149d1d-8b2a-a206-2f0a-ea78f0368877 ret: 0 [12852.449934] [drm] bitstream 45149d1d-8b2a-a206-2f0a-ea78f0368877 locked, ref=1 [12852.457694] zocl-drm axi:zyxclmm_drm: ffff000810ea2810 kds_add_context: Client pid(35745) add context Domain(0) CU(0xffffffff) shared(true) [12852.484397] zocl-drm axi:zyxclmm_drm: ffff000810ea2810 kds_del_context: Client pid(35745) del context Domain(0) CU(0xffffffff)
とか表示されていた.
なお,一緒にインストールされるサンプル達のソースリポジトリは,
- Kria-PYNQ/kv260/base - https://github.com/Xilinx/Kria-PYNQ/tree/main/kv260/base
- DPU-PYNQ - https://github.com/Xilinx/DPU-PYNQ
- PYNQ_Composable_Pipeline - https://github.com/Xilinx/PYNQ_Composable_Pipeline
- PYNQ-HelloWorld - https://github.com/Xilinx/PYNQ-HelloWorld
らしい.