最早听说PYNQ是下面这货:
看下简介:
PYNQ-Z2是一款FPGA开发板,它以ZYNQ XC7Z020 FPGA为核心,利用ZYNQ中的可编程逻辑和Arm处理器的优势可以构建强大的嵌入式系统,PYNQ的开源框架可以使嵌入式编程用户在无需设计可编程逻辑电路的情况下充分发挥Xilinx ZYNQ SoC的功能,使用Ethernet作为PC和board之间的通讯方式,这块开发板除支持传统ZYNQ开发方式外,还可支持Python进行SoC编程,并且代码可直接在PYNQ-Z2上进行开发和调试。可编程逻辑电路以硬件库的形式导入并且可以通过API编程,这种方式基本上与软件库的导入和编程方式相同。
PYNQ-Z2配备有以太网,HDMI输入/输出,MIC输入,音频输出,Arduino接口,树莓派接口,2个Pmod,用户LED,按钮和开关。 兼容树莓派连接器、Arduino屏蔽连接器以及Pmod连接器可以支持多种配件拓展,同时这些接口也可以用作GPIO。
PYNQ 是 Python On Zynq 的缩写,它是一个软件开发框架,指导硬件层、驱动层和应用层之间的接口设计,PYNQ框架通过高层次的封装,将底层硬件FPGA实现细节与上层应用层的使用脱耦,让上层应用开发者通过Python编程就可以调用FPGA模块。其适用于大面积的设计者和开发者,能帮助用户实现多种高性能的嵌入式应用,包括:并行硬件执行,高帧率视频处理,硬件加速算法,实时信号处理,高带宽IO,低延时控制。
PYNQ结合了ZYNQ与Python的全部优势,可结合DF arduino扩展板,树莓派扩展板使用;可广泛应用于机器学习、研究和原型制造等领域。
技术规格
更多的资料见:http://www.pynq.io/
偶然间看到下面这张图片:
原来黑金开发板也是支持Python?的
PYNQ 能简化 ZYNQ 开发吗?
PYNQ 主要目标是使用 Python 开发 Zynq,使设计者能快速体验基于 zynq 的嵌入式开发,按照 Xilinx 官方的说法:让不懂 FPGA、甚至不懂 C 语言的人来开发 ZYNQ。真是如此吗?我们来看一下 PYNQ 的核心部分是什么?
Overlays,这个用中文很难表述清楚,本质是 FPGA 的编译后的结果,是一个 bit 流文件,PYNQ 可以动态加载、卸载这些 bit 流,这样的话 FPGA 端的功能就可以根据 ARM 软件的需求动态改变。那么,如果不会开发 FPGA,这些 bit 流文件怎么来?如果在大公司,可以找 FPGA开发人员开发,如果是规模一般的公司,那么开发者还是老老实实先把 FPGA 学扎实,关于多久能学好 FPGA 的问题,笔者理解是经过坚持不懈地练习,大概一年左右。
PYNQ 使用 python 为开发语言,迄今为止, C 或 C++是最常用的嵌入式编程语言,因为嵌入式经常和硬件底层打交道,虽然 python 可以提升开发效率,但是还是要有人为 Python 开发库,这些底层库基本都是 C 或 C++。
PYNQ 是基于浏览器的,使用一种叫 Jupyter notebook 的技术,这个不是 ZYNQ 特有的,普通的 PC 也可以。
总结一下:
PYNQ= Python + ZYNQ
FPGA 还是需要有人开发
还是要有嵌入式开发人员给 Python 提供底层接口
不能简化 ZYNQ 开发为什么还要用 PYNQ 呢?
非常熟悉 Python,以前的算法都是 Python 上写好的,现在需要移植
确实不会 C 或 C++,也不会搭建交叉编译环境
Xilinx 提供了一部分底层硬件的 Python 库,例如寄存器读写、 DMA 使用,有了这些基本的操作,可以解决大部分对效率要求不高的嵌入式程序,用于调试还是很方便的
PYNQ 属于锦上添花,在学校 ZYNQ 的同时,对于有 Python 基础,但是不想再系统学习嵌入式开发的人员来说是非常合适的工具
不会 python 能用 PYNQ 吗?
如果不会 python,这个真不行! PYNQ 学习资源 官网:http://www.pynq.io Github: https://github.com/Xilinx/PYNQ
然后就把黑金官方的一些文档及zynq7010和7020光盘资料分享给大家:
PYNQ黑金资料:
链接: https://pan.baidu.com/s/1IRDOQiILjo2t9opnaxPJHg
提取码: hz2a
黑金zynq7010资料:
链接: https://pan.baidu.com/s/1Z-0PqNvakvWsYl9ba6iKEw
提取码: 7h3g
黑金zynq7020资料:
链接: https://pan.baidu.com/s/1VNFOBDCGxInktesoM9zJJw
提取码: dg7x
所有的资源都是:
获取方法:
公众号:OpenFPGA
后台回复:
ZYNQ