PYNQ BaseOverlay介绍

  • 了解BaseOverlay
  • Jupyter Notebook的介绍
  • Jupyter Notebook实验案例操作

1.了解BaseOverlay

PYNQ BaseOverlay介绍_第1张图片
硬件库的概念可以参考软件库的概念,硬件库可以调用一些硬件加速的IP供应用层来操作——PYNQ提供了一个Python交互界面,允许我们呢通过处理系统上的Python来控制可编程逻辑里的overlays
PYNQ BaseOverlay介绍_第2张图片
BaseOverlay是xilinx提供的一些基础的overlay,硬件的外设的资源(如上图所示)
PYNQ BaseOverlay介绍_第3张图片

2.Jupyter Notebook的介绍

基于浏览器基础的开发工具,我们可以在其中使用Python语言
PYNQ BaseOverlay介绍_第4张图片
PYNQ的平台采用的是ipynb的文件

3.Jupyter Notebook实验案例操作

基于PYNQ的LED和拨码开关的控制

from pynq.overlays.base import BaseOverlay
base = BaseOverlay("base.bit")
led0 = base.led[0]
led0.on()
led0.off()
led0.toggle()

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)

MAX_SWITCHES = 2
MAX_LEDS = 4
switches = [base.switches[i] for i in range(MAX_SWITCHES)]
leds = [base.leds[i] for i in range(MAX_LEDS)]

for i in range(MAX_LEDS):
	if switches[i%2].read():
		leds[i].on()
	else
		leds[i].off()

你可能感兴趣的:(PYNQ)