02_PYNQ常见问题
最后更新于
最后更新于
PYNQ是Python On Zynq的缩写,它是一个软件开发框架,指导硬件层、驱动层和应用层之间的接口设计,不是ISE、Vivado、SDSoC这样的IDE工具,更不是Zynq芯片的下一代芯片产品。
PYNQ框架的设计初衷是通过高层次的封装,将底层硬件FPGA实现细节与上层应用层的使用脱耦,对软件开发者来说,PYNQ框架已经提供了完整的访问FPGA资源的library,让上层应用开发者通过Python编程就可以调用FPGA模块,不需要懂Verilog/VHDL硬件编程就可以享受FPGA可并行计算、接口可方便扩展和可灵活配置带来的诸多好处。
在在PYNQ框架下,ARM A9 CPU上运行的软件包括:
· 载有Jupyter Notebooks设计环境的网络服务器
· IPython内核和程序包
· Linux
· FPGA的基本硬件库和API
我相信这个问题应该是很多人第一次听说PYNQ框架的印象,事实上,在PYNQ框架下并不能通过Python对FPGA进行编程来取代传统的RTL编程方式。PYNQ框架是为软件开发者提供了访问FPGA资源的python接口,Python开发者可以忽略这些实现细节,通过python即可轻松访问FPGA,动态加载各种预编译好的各种FPGA应用,像调用函数一样去调用各种通过FPGA加速的应用或者访问连接到FPFA的外设。让软件工程师能轻松享受FPGA并行计算和可灵活配置的诸多好处。
PYNQ是一个软件框架,而PYNQ-Z1是支持PYNQ软件框架的硬件板卡,只需要下载好已经编译好的PYNQ镜像,开机启动即可开始你的PYNQ之旅。目前其它的板卡也开始支持PYNQ框架了,比如Ultra96等。当然,用户也可以将PYNQ软件框架移植到自己的板卡上,不过对开发者会有更高的要求,需要了解更多的硬件知识。
除了支持PYNQ框架,PYNQ-Z1也可以采用传统的ZYNQ开发方式,使用Vivado, SDK, SDSoC等工具进行开发。
Digilent中文官方网站提供有PYNQ资源汇总贴(http://www.digilent.com.cn/community/411.html)
Pynq.io是PYNQ官方网站,上面有英文资源汇总。
另外也欢迎关注DIGILENT微信公众号,会不定期发布参考资料、FPGA应用案例更新。