初识PYNQ-Z2软硬件系统框架



Xilinx高级总监 : Patrick Lysaght 在ACA 2018 全国计算机体系结构学术年会上正式发布PYNQ-Z2

Python on ZYNQ 让大一学生也能轻松搭建高性能嵌入式系统

PYNQ即Python on ZYNQ,使用Python语言和库,设计人员可以利用Zynq中可编程逻辑和微处理器的优势来快速构建高性能的嵌入式应用程序。

PYNQ-Z2的硬件平台以Xilinx ZYNQ SoC为核心,而Arm与FPGA的异构系统是创建高性能嵌入式系统应用的基础也是与市面上众多嵌入式平台最大的不同之处。本台有别于一般传统的ZYNQ开发平台,PYNQ-Z2支持Python 语言开发,同时也可以采用传统的Xilinx Vivado 开发工具流程平台开发嵌入式系统应用, PYNQ-Z2具有极丰富实用的外设,比如千兆以太网口、USB、UART、HDMI输入/输出、数字音频输入/输出、大容量DDR,LED、按键、开关等,还提供了兼容Ardunio、RPi、Pmod的扩展接口, 是创客Maker、学生创新与实践的最佳选择,也适合大一到大四的本科生当FPGA口袋实验平台。

Xilinx PYNQ项目,让非传统FPGA用户也能轻松开发FPGA

PYNQ基于其支持框架可以面向多种应用场景适合多种领域的专家使用,并向硬件工程师、软件工程师、数据工程师提供了各自合适的开发环境与手段。


基于Web访问的Jupyter Notebook在线编辑工具


PYNQ硬件结构示意图

PYNQ硬件结构示意图

PYNQ-Z2最重要的特点是可以使用Python进行编程,并且提供了基于Web访问的Jupyter Notebook在线编辑工具。运行在Arm处理器上的嵌入式Linux系统为PYNQ提供了软件基础平台,Python环境、Jupyter Notebook工具都在其上。

整个FPGA部分的设计被称为Overlay,可面向多用户、多应用生成不同的Bitstream文件,支持通过软件API进行调用,动态的切换FPGA上的逻辑功能。

PYNQ的API库则起到了连接软硬件的作用,使我们可以通过Python访问FPGA侧的处理单元。最终,只要我们通过浏览器访问Jupyter Notebook,就可以对PYNQ进行软件部分的开发。

PYNQ软件层次图

PYNQ软件层次图

Jupyter Notebook是一个基于浏览器的交互式开发环境,基于Python内核和Websocket协议,运行在Tornado Web服务器上。它提供了一个环境,你可以在其中记录代码,运行代码,查看结果,可视化数据并在查看输出结果。这些特性使其成为一款执行端到端数据科学工作流程的便捷工具,可以用于数据清理,统计建模,构建和训练机器学习模型,可视化数据以及许多其他用途。通过Jupyter创建的交互式笔记本文档,支持实时代码,交互式小部件,绘图,Markdown,方程式,图像和视频。该工具近年来成为大数据分析以及机器学习领域最火热的工具之一,近三年github上传的notebook文档数量超过230万份!

PYNQ框架构成

PYNQ框架构成

PYNQ二代板的资源在那里找的到?

PYNQ.io 或 TUL、依元素科技官网 ,我们有更多的FPGA课程系列就在依元素科技官网 www.e-elements.com

PYNQ二代板在那里买?

依元素科技官方淘宝店 : 搜寻 店铺 : 依元素科技 或搜寻 宝贝:PYNQ-Z2

依元素科技Xilinx FPGA课程体系、FPGA口袋实验平台,现诚征全国地区经销合作伙伴,欢迎联系我们!

我们欢迎关心新工科建设、双一流建设的老师加入Xilinx大学计划,我们有一列系的培养方案改革案例、最新课改成果、可以供您参考,关于成立Xilinx/Arm联合实验室建设、课程改革、Vivado软件捐赠、校企共建课程、FPGA师资培训、学生竞赛、学生讲座等联系我们。合作意向联系方式:edu@e-elements.com

推荐阅读