FC2カウンター FPGAの部屋 ”Getting Started with PYNQ and the ZUBoard”をやってみる5
fc2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

”Getting Started with PYNQ and the ZUBoard”をやってみる5

”Getting Started with PYNQ and the ZUBoard”をやってみる4”の続き。

Adam Taylor さんの”Getting Started with PYNQ and the ZUBoard”をやってみようということで、前回は、ブロック・デザインの HDL Wrapper ファイルを作成し、論理合成、インプリメンテーション、ビットストリームの生成を行って成功した。bit ファイルと hwh ファイルが生成された。今回は、前回生成した bit ファイルと hwh ファイルを ZUBoard 1CG の PYNQ v3.0.1 に転送し、”Getting Started with PYNQ and the ZUBoard”の Python3 のソフトウェアを動作せたところ、成功した。

ZUBoard 1CG の PYNQ v3.0.1 を起動して、Chrome ブラウザで IP アドレス の TCP ポート 9090 を見た。
Jupyter Notebook のログイン画面が出ているので、パスワードの xilinx を入れてログインした。
ディレクトリが表示されるので、右の New ボタンから Folder を選択して、新しいフォルダを作成する。
zub1cg_pynq_104_230807.png

Untitle Folder が作成された。
Untitle Folder の前のチェックボックスにチェックを入れて、Rename ボタンをクリックする。
zub1cg_pynq_105_230807.png

新しいディレクトリ名に tpg_overlay と入力して、Rename ボタンをクリックした。
zub1cg_pynq_106_230807.png

するとフォルダの名前が tpg_overlay に変更された。

ZUBoard 1CG の PYNQ v3.0.1 のホーム・ディレクトリの下の jupyter_notebooks/tpg_overlay ディレクトリが生成されたので、
FileZilla で tpg_bd.hwh ファイルと tpg_bd_wrapper.bit ファイルをホーム・ディレクトリに SFTP でアップロードした。
これは、jupyter_notebooks/tpg_overlay ディレクトリのオーナーが root なので、直接 SFTP でアップロードできないためだ。
zub1cg_pynq_107_230807.png

ここから ZUBoard 1CG の PYNQ v3.0.1 での作業となる。
tpg_bd.hwh ファイルと tpg_bd_wrapper.bit ファイルをホーム・ディレクトリから、jupyter_notebooks/tpg_overlay ディレクトリにリネームして移動した。
cd ~
sudo mv tpg_bd.hwh jupyter_notebooks/tpg_overlay/tpg.hwh
sudo mv tpg_bd_wrapper.bit jupyter_notebooks/tpg_overlay/tpg.bit


Jupter Notebook を見ると、tpg.hwh と tpg.bit ファイルが見える。
zub1cg_pynq_108_230807.png

Getting Started with PYNQ and the ZUBoard”の Python3 のソフトウェアを引用する。

import time 
import numpy as np
from pynq import pl
from pynq import Overlay
from pynq.lib.video import *
import cv2
import matplotlib.pyplot as plt

ol = Overlay('/home/xilinx/jupyter_notebooks/tpg_overlay/tpg.bit')

pixel_in = ol.pixel_pack_2_0
pixel_in.bits_per_pixel = 24

colourspace_in = ol.color_convert_2_0
rgb2bgr = [0.0, 1.0, 0.0,
           1.0, 0.0, 0.0,
           0.0, 0.0, 1.0,
           0.0, 0.0, 0.0]

colourspace_in.colorspace = rgb2bgr

cam_vdma = ol.axi_vdma_0
lines = 512
framemode = VideoMode(640, lines, 24)
cam_vdma.readchannel.mode = framemode
cam_vdma.readchannel.start()

tpg = ol.v_tpg_0
tpg.write(0x10,512)
tpg.write(0x18,640)
tpg.write(0x40,0)
tpg.write(0x30,0)
tpg.write(0x20,0xB)
tpg.write(0x00,0x81)

frame_camera = cam_vdma.readchannel.readframe()
frame_color=cv2.cvtColor(frame_camera,cv2.COLOR_BGR2RGB)
pixels = np.array(frame_color)
plt.imshow(pixels)
plt.show()


引用したコードで 右の New ボタンから Python3(ipykernel) を選択して、新しいノートブックを生成した。
新しいノートブックの前のチェックボックスにチェックを入れて、Rename ボタンをクリックして、名前を tpg.ipynb に変更した。

Getting Started with PYNQ and the ZUBoard”の Python3 のソフトウェアを tpg.ipynb に入力した。
ノートブックを実行していくとテスト・パターンが表示された。成功だ。
zub1cg_pynq_109_230807.png
zub1cg_pynq_110_230807.png
  1. 2023年08月08日 04:05 |
  2. ZUBoard
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/6007-878a2332
この記事にトラックバックする(FC2ブログユーザー)