PYNQ系列学习(二)——pynq与zynq对比(一)

PYNQ系列学习(二)——pynq与zynq对比(一)_第1张图片

Zynq可扩展处理平台是赛灵思新一代 FPGA的可编程技术的产品系列。与采用嵌入式处理器的FPGA不同,Zynq产品系列的处理系统不仅能在开机时启动,而且还可根据需要配置可编程逻辑。采用这种方法,软件编程模式与全功能的标准ARM处理SoC毫无二致。

与之相关和不同的是,PYNQ = Python + ZYNQ,即将ZYNQ部分功能的Python化,直接调用Python库和FPGA硬件库进行功能的开发。

1. 实例图片
下面是ZYNQ系列与PYNQ系列中两款具有代表性的开发板:

ZYNQ系列——ZYNQ7000

PYNQ系列学习(二)——pynq与zynq对比(一)_第2张图片

 

PYNQ系列——PYNQ_z2


2. ZYNQ优点

 

1. 一般基于C/C++开发,功能更全面、扩展性更强。

PYNQ系列学习(二)——pynq与zynq对比(一)_第3张图片


2. ZYNQ相比于PYNQ更成熟,相关的学习教程较多,便于学习与开发过程中问题的解决

 

3. PYNQ优点
1、Python用于ZYNQ开发,Python库和FPGA硬件库可以直接调用,极大加快开发进程、缩短开发周期、降低开发难度,更方便、快捷;使用 Jupyter 在线编程工具,简单易行。

下面是小编利用python语言编写的简单函数:

PYNQ系列学习(二)——pynq与zynq对比(一)_第4张图片

 

下面是jupyter_notebook界面,简单易操作:

PYNQ系列学习(二)——pynq与zynq对比(一)_第5张图片

 

2. 用PYNQ开发,当Python有更加有效的可用库时(如图像处理—OpenCV),其性能要比C/C++开发更强。

 

下面是利用opencv库,所编写的人脸检测代码的一部分:

PYNQ系列学习(二)——pynq与zynq对比(一)_第6张图片

 

运行结果:

PYNQ系列学习(二)——pynq与zynq对比(一)_第7张图片

 

4. 总结
通过以上介绍,我们可以总结出ZYNQ与PYNQ的区别与联系:PYNQ是ZYNQ与python库的结合,前者学习与开发性较好,而后者的功能多样性与扩展性更好。

因此,在二者使用的选取上,可以分别从以下角度考虑:

1. 要用于个人学习与开发,PYNQ的功能(如嵌入式、AI终端实现等)应该完全足够。(一般用Python应该就够了,需要的话再结合C/C++、设计新的硬件库等);

2. 若要研发类似PYNQ的板子,可以借鉴:在ZYNQ基础上加入Python内核和Python编译环境的网络服务器以及FPGA硬件库等。

转载于:https://www.cnblogs.com/Ph-one/p/11346312.html

你可能感兴趣的:(PYNQ系列学习(二)——pynq与zynq对比(一))