PYNQ = Python + ZYNQ —— ZYNQ部分功能的Python化
PYNQ
优点:
1、 Python用于ZYNQ开发,Python库和FPGA硬件库可以直接调用,极大加快开发进程、缩短开发周期、降低开发难度,更方便、快捷;
2、 用PYNQ开发,当Python有更加有效的可用库时(如图像处理—OpenCV),其性能要比C/C++开发更强。
缺点:
目前,PYNQ还不支持任何高级的综合,也无法将Python应用直接移植到FPGA中,仅能调用已有库。
ZYNQ
优点:
一般基于C/C++开发,功能更全面、扩展性更强。
缺点:
没有PYNQ方便快捷、易上手,缺少Python那些强大功能库的支持。
注:
1、 PYNQ目前库有:Python库+FPGA硬件库(目前仅有2个:PYNQ-API接口+overlay);
2、 PYNQ用Jupyter Notebook去进行Python编程。为了更高的性能,也可以使用C/C++去编程,需要支持PYNQ-Z1的Xilinx SDK软件(也可以使用其他第三方的软件开发工具)。若要增加新的硬件库,需要Xilinx或第三方的硬件设计工具(XilinxVivado 完全支持PYNQ-Z1);
3、 个人用PYNQ来做开发(如嵌入式、AI终端实现等)应该完全足够。(一般用Python应该就够了,需要的话再结合C/C++、设计新的硬件库等);
4、 若要研发类似PYNQ的板子,可以借鉴:在ZYNQ基础上加入Python内核和Python编译环境的网络服务器以及FPGA硬件库等。