動作環境
Windows 10 Pro (v1909)
PYNQ-Z1 (Digilent) (以下、PYNQと表記)
Vivado v2019.1 (64-bit)
概要
- Vivadoでbitstreamを作成
- LEDを点灯するだけのもの
- AXI-GPIOで作成
- Outportにしていたが、VivadoがInportに変更をしていたため失敗していた
Block Designとポート設定
ポート設定。ここがAll Inputsとなっていたため、失敗していた。
Run Connection Automationを実行したときにAll Inputsに強制的に変更される。
Clear Board Parameterを実行して、All InputsからAll Outputsに再設定した。
I/Oポート設定
I/O Ports設定。
https://reference.digilentinc.com/reference/programmable-logic/pynq-z1/reference-manual
の12 Basic I/Oを参考にした。
Jupyter Notebook
Block DesignのtclファイルとBitstreamファイルをアップロードした。
下記でLEDが点灯することを確認した。
#from pynq.overlays.base import BaseOverlay
from pynq import Overlay
from pynq import PL
OL = Overlay("/home/xilinx/pynq/overlays/base/LEDs_2020-06-07_1351.bit")
OL.download()
from pynq import MMIO
mmio=MMIO(int(PL.ip_dict["leds"]["phys_addr"]), 4, True)
mmio.write(0,10)
LED点灯の別の方法
下記のようにしてLEDを点灯できるようだ。
leds = [OL.leds[index] for index in range(4)]
leds[0].off()
leds[1].on()
leds[2].on()
情報感謝です。