PYNQZ2简单测评

简介&准备

PYNQ™-Z2 是一款基于Xilinx Zynq系列的SoC,其最重要的特点就是基于Pynq设计了一套使用Python与FPGA结合的框架。(具体也可以参考官网www.pynq.io

架构简介

PYNQ基于ZYNQ,而在这一片SoC中,Xilinx将ARM与FPGA结合在一起,也就是所谓的PS(Process System)端和PL(Programmable Logic)端,PS-PL使用片内AXI总线连接。

而利用ZYNQ的主要思想也就是在PS端处理控制逻辑在PL端负责神经网络的加速运算,之间通过AXI通信。当然也可以把PYNQ当树莓派使用,例如插个Intel神经加速棒来进行深度学习加速,但片载的FPGA不就浪费了:sweat:

硬件规格

ZYNQ XC7Z020-1CLG400C
 • 650MHz 双核 Cortex-A9 处理器
 • DDR3 8路DMA的内存控制器和四个高性能AXI3接口(High PerformanceAXI3 Slave ports)
 • 高带宽外设控制器:
  1G Ethernet, USB 2.0, SDIO
 • 低带宽外设控制器:
  SPI, UART, CAN, I2C
 • JTAG, Quad-SPI flash 和 MicroSD card
 • 可编程逻辑能力相当于ARTIX-7 FPGA
  • 13,300 个逻辑片(logic slices), 每个都拥有四个6输入LUT和8个触发器
  • 630 KB BRAM
  • 4个时钟管理片,每个片都有一个锁相环(PLL)和混合模式时钟管理器(MMCM)
  • 220个DSP
  • 片上模数转换器 (XADC)
内存
 • 带有16位总线@1050Mbps的512MB DDR3
 • 16MB Quad-SPI闪存,具有出厂编程的全球唯一标识符(兼容48位EUI-48/64™)
 • MicroSD插槽(TF卡)
电源
 • 可以由USB或任何7V-15V电源供电

详细可参阅官网Tul Pynq-Z2

资料下载

用户手册
系统镜像下载
XDC文件

开始

系统镜像烧写

首先下载上面提到的系统镜像,在这里推荐使用Etcher工具,基于Node.js编写跨平台易用,方便。在这里当然也可以使用DD工具。

Ethcer 下载地址


Select Image 选择刚刚下好的镜像,选择一张32G TF卡点击Flash 烧写即可

获取PYNQ地址

将PYNQ插入路由器DHCP会自动分配IP,到路由器中查看pynq地址。

安装QNN库

我们使用SSH进入系统安装需要的库。

PYNQ ssh web 账户密码默认均为xilinx

ssh xilinx@192.168.x.x

登陆进PYNQ后我们在这里安装QNN

sudo pip3 install git+https://github.com/Xilinx/QNN-MO-PYNQ.git

登陆PYNQ WEB

我们这里访问PYNQ的IP地址。PYNQ采用了jupyter作为他PYNQ代码查看编辑的工具。在这里我们大开QNN

选择Tiny Yolo(目标检测网络)

这里是Xilinx为PYNQ移植的Tiny Yolo网络


最后一张为能效对比

总结

最后我们可以看出PYNQ以不到5w的功耗,将在ARM上要运算一分钟的Tiny Yolo加速至不到1s,虽然精度与速度差强人意,但这个成绩在嵌入式上已经得到了极大的提高。

PS

上面是使用PYNQ自带的例程进行的测评,PYNQ的基本开发流程可参阅

相关推荐

2 条评论

  1. B1D1ng

    博主您好,我最近准备在PYNQ上做目标检测, 看到了您的这篇博客,想请问这个基于PYNQ的YOLO模型如何去训练呢?想要训练自己的数据集然后检测目标

  2. Andrew

    如果说仅仅是应用的话,推荐你玩一下DPU,最近在PYNQ上也有版本了,不过不是Z2。https://github.com/Xilinx/DPU-PYNQ

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

微信扫一扫,分享到朋友圈

PYNQZ2简单测评
返回顶部

显示

忘记密码?

显示

显示

获取验证码

Close