PYNQ初体验--AXI_GPIO实验

PYNQ简介

PYNQ是什么

PYNQ是一个新的开源框架,使嵌入式编程人员能够在无需设计可编程逻辑 电路的情况下即可充分发挥 Xilinx Zynq All Programmable SoC(APSoC)的功能。 与常规方式不同的是,通过 PYNQ,用户可以使用 Python 进行 APSoC编程,并且 代码可直接在支持 PYNQ 的开发板上进行开发和测试。通过 PYNQ,可编程逻辑 电路将作为硬件库导入并通过其 API进行编程,其方式与导入和编程软件库基本 相同。简单来所,PYNQ 对软件开发者相较于之前的 ZYNQ 开发更加友善,于此同时使用 pynq 还支持许多开源的工具库,比如常用的 OpenCv 库在 PYNQ 中,也是能够得到支持的。
也可以用这个等式来说明PYNQ是个什么。
PYNQ = ZYNQ +Python

jupyter notebook

PYNQ的开发都是基于Jupyter notebook开发的,Jupyter Notebook 是一个基于浏览器的交互式编程计算环境。在使用 JupyterNotebook 编程时,文件里可以包含代码、画图、注释、公式、图片和视频。当 PYNQ 开发板上安装好镜像文件,就可以在 Jupyter Notebook 里轻松地用 Python 编程,使用硬件库及 Overlay控制硬件平台及交互。

PYNQ的学习资料

前面也已经介绍到 PYNQ 是一个开源项目,在 PYNQ 开源社区中,有许多活跃的开发者在对 PYNQ
这个开源项目进行不断地完善。用户若想更深一步的了解PYNQ 可以到 PYNQ 的官方网站和 xilinx 的 github官方仓库中寻找资源。
https://github.com/Xilinx/PYNQ_Workshop

如何使用PYNQ?

步骤一:在使用PYNQ前,用户若需要自己设计生成一个镜像,可以使用该开发包(链接如下:https://pan.baidu.com/s/1-XzRx_R1NNcjm1MrgsX8GA 提取码:srlr),在 Ubuntu16.4 环境下进行 PYNQ 镜像的制作,只要是 ZYNQ 系列的 FPGA 芯片都支持 PYNQ。官方叶给出了如何来制作镜像的步骤,网址如下:https://pynq.readthedocs.io/en/latest/pynq_sd_card.html

步骤二:将制作好的镜像文件用win32DiskImager烧录到 SD 卡中即可。

步骤三:将ZYNQ板卡设置为SD卡启动,连接好串口线和网线即可开始PYNQ的开发之旅了。

PYNQ上跑的一个AXI_GPIO小例程

先打开vivado创建一个AXI_GPIO的工程,工程BD如下所示:
在这里插入图片描述
然后将工程所生成的硬件文件、tcl文件已经比特流文件找到,导入到PYNQ开发的目录文件夹下。
在这里插入图片描述
三个文件如图所示。
打开谷歌浏览器,输入192.168.2.99:9090,进入jupyter notebook界面,创建新的文件夹,并将这上述三个文件upload上去。
在这里插入图片描述

本次实验,使用一个简单的例子,完成了整个 PYNQ 开发的流程。可以看到 PYNQ 的开发其实和之前的SDK 中进行开发是很类似的。相较于传统的 FPGA 开 发,PYNQ 对于软件开发人员更友好。 本次实验,展示了如何来使用 jupyter notebook,作为一个交互式编程环境, jupyter notebook 比起 ipython 还是要优秀许多的。

猜你喜欢

转载自blog.csdn.net/qq_36662353/article/details/106961318