看到有一位老哥的学习记录贴才知道有b站“依元素科技”,里面有PYNQ直播课的录屏,教了PYNQ的基础使用。觉得自己错亿了,之前在CSDN上面搜“如何配置PYNQ”等,浪费了很多时间,其实它这直播课里面都一步一步地教了。
记录day2录屏:
谷歌浏览器输入http://192.168.2.99打开jupyter notebook,新建一个.ipynb文件,点击如下图
点灯和灭灯
在cell[1]里面输入代码导入基础overlay(录屏没有录到overlay讲解部分TT,所以目前自己在用python调用函数进行开发这里很晕)
一个cell 一个cell地写,就相当于设置了断点,可以一个cell一个cell地执行
from pynq.overlays.base import BaseOverlay
base = BaseOverlay("base.bit")
led0 = base.leds[0]
led0.on()
led0.off()
流水灯
time里面包含延迟函数sleep
jupyter notebook的一个cell里面输入:
import time
led0 = base.leds[0]
led1 = base.leds[1]
led2 = base.leds[2]
led3 = base.leds[3]
for i in range(20):
led0.toggle()
time.sleep(.1)
led1.toggle()
time.sleep(.1)
led2.toggle()
time.sleep(.1)
led3.toggle()
time.sleep(.1)
用开关控制led灯
MAX_SWITCHES = 2
MAX_LEDS = 4
led=[base.leds[i] for i in range(MAX_LEDS)]
switches=[base.switches[i] for i in range(MAX_SWITCHES)]
for 0kongzhii in range(MAX_LEDS):
if switches[i%2].read():
led[i].on()
else:
led[i].off()
开关0同时控制小灯0和2
开关1同时控制小灯1和3
录播末尾老师答疑的时候说:“学pynq,可以从两个角度,如果想多接触和使用python就从jupyter notebook入手,如果想硬件加速,就从正常的Vivado开发入手”所以说,要想用好pynq(比如AI加速),就除了HLS,还要把python给弄明白(总感觉pynq用的py代码不如正常py代码容易懂,因为它老是调用依据overlay来封装的函数,不是一般常见的python库