PYNQ板卡

看了PYNQ的相关资料,对PYNQ板卡有了一些自己的看法和观点,

1、先说核心芯片。
    PYNQ开发板的核心芯片是赛灵思公司的ZYNQ7020,该芯片由2个部分构成——PS和PL,
 


    上图为ZYNQ的系统结构图,通俗的理解是PS是嵌入式开发,PL是FPGA逻辑开发,两者可以独立操作,好处嘛,那就是在单芯片的基础上,集成了ARM和FPGA的优点,而且,由于单芯片的使用,对PCB布线非常的有帮助,减少了PCB的面积。因为ARM和FPGA采用内部的AXI总线互联,而不是传统的ARM芯片+FPGA芯片的板级互联,抗干扰更强,速度可以更高,所以,ZYNQ芯片的性能从理论上看,在一定程度上强于FPGA芯片+ARM芯片这个方案。PS部分的代码可以用C/C++等(对嵌入式开发理解不深,如果有错误,麻烦留言更正),而PL部分的代码则可以采用Verilog或者VHDL(还有一些非主流的语言),不管是PS还是PL部分,都是属于在芯片的底层开发。
2、接着说板上资源。


    第一点,核心芯片的资源,ZYNQ7020芯片有多少资源,大家可以到赛灵思官网去下载官方手册观看。第二点,板上其他芯片资源,有DDR3、支持SD卡卡槽、以太网、HDMI高清输入与输出接口、Pmod接口等(上图进行了简易罗列)。这些介绍,官方指导书会给出更详细说明,只不过大家需要耐着性子看英文手册。整体上看这些板上资源,还是很丰满的,囊括了ZYNQ的常用领域所需的芯片,很多的ZYNQ开发板都是这类的配置,很通用,同时,也说明了,该板卡也支持底层开发,可以作为一款通用的ZYNQ学习开发板,有预算的同学可以关注一下。
3、炫酷的外观。


    当了多年的FPGA工程师,大红色开发板见过不少,还是很少看到粉红色的开发板的(我应该没有色盲吧,应该算是粉红色的),感觉很卡哇伊,非常的时尚!拿出来,有一种很酷炫的感觉,可能不知不觉中还会让人有更多的学习动力。
4、Python语言的支持。


    由于工作所限,还没接触过Python语言,稍微百度了下,Python语言应该是比较上层的语言,该特点很有新意。与大多数ZYNQ开发板(都是开发PS和PL)不一样,该开发板的主旨在于开发上层应用,因为底层的PS和PL都已经开发完成,并已经预留了相应的接口给上层的工具进行调用,Python等语言可以通过该接口进行上层的开发,而不需要过多关注底层的东西,可以说是非常使用的开发板。
总结:
    该板卡的核心芯片为赛灵思的ZYNQ7020芯片,该芯片由FPGA和ARM硬核组成,不仅性能优良,而且极大的减少了芯片的布线难度,这样,就能做出一个小巧的高性能核心板,该开发板外形新颖时尚,可以用Python语言进行项目开发,而不需要花费大量时间在底层的开发上,可以加快项目的开发进度,使产品快速上市。

分享一些PYNQ板卡学习资料:


http://pynq.readthedocs.io/en/latest/
http://www.pynq.io/examples.html
http://www.pynq.io/source-code.html

 PYNQ-Z1 Reference Manual [Reference.rar (12.02 MB, 下载次数: 32) 
注:该文章为本人在openhw社区首发,如需转载,麻烦声明网站地址和作者,否则,本人有保留追究其法律责任的权利。

参考:看了PYNQ的相关资料,对PYNQ板卡有了一些自己的看法和观点,

1、先说核心芯片。
    PYNQ开发板的核心芯片是赛灵思公司的ZYNQ7020,该芯片由2个部分构成——PS和PL,
 


    上图为ZYNQ的系统结构图,通俗的理解是PS是嵌入式开发,PL是FPGA逻辑开发,两者可以独立操作,好处嘛,那就是在单芯片的基础上,集成了ARM和FPGA的优点,而且,由于单芯片的使用,对PCB布线非常的有帮助,减少了PCB的面积。因为ARM和FPGA采用内部的AXI总线互联,而不是传统的ARM芯片+FPGA芯片的板级互联,抗干扰更强,速度可以更高,所以,ZYNQ芯片的性能从理论上看,在一定程度上强于FPGA芯片+ARM芯片这个方案。PS部分的代码可以用C/C++等(对嵌入式开发理解不深,如果有错误,麻烦留言更正),而PL部分的代码则可以采用Verilog或者VHDL(还有一些非主流的语言),不管是PS还是PL部分,都是属于在芯片的底层开发。
2、接着说板上资源。


    第一点,核心芯片的资源,ZYNQ7020芯片有多少资源,大家可以到赛灵思官网去下载官方手册观看。第二点,板上其他芯片资源,有DDR3、支持SD卡卡槽、以太网、HDMI高清输入与输出接口、Pmod接口等(上图进行了简易罗列)。这些介绍,官方指导书会给出更详细说明,只不过大家需要耐着性子看英文手册。整体上看这些板上资源,还是很丰满的,囊括了ZYNQ的常用领域所需的芯片,很多的ZYNQ开发板都是这类的配置,很通用,同时,也说明了,该板卡也支持底层开发,可以作为一款通用的ZYNQ学习开发板,有预算的同学可以关注一下。
3、炫酷的外观。


    当了多年的FPGA工程师,大红色开发板见过不少,还是很少看到粉红色的开发板的(我应该没有色盲吧,应该算是粉红色的),感觉很卡哇伊,非常的时尚!拿出来,有一种很酷炫的感觉,可能不知不觉中还会让人有更多的学习动力。
4、Python语言的支持。


    由于工作所限,还没接触过Python语言,稍微百度了下,Python语言应该是比较上层的语言,该特点很有新意。与大多数ZYNQ开发板(都是开发PS和PL)不一样,该开发板的主旨在于开发上层应用,因为底层的PS和PL都已经开发完成,并已经预留了相应的接口给上层的工具进行调用,Python等语言可以通过该接口进行上层的开发,而不需要过多关注底层的东西,可以说是非常使用的开发板。
总结:
    该板卡的核心芯片为赛灵思的ZYNQ7020芯片,该芯片由FPGA和ARM硬核组成,不仅性能优良,而且极大的减少了芯片的布线难度,这样,就能做出一个小巧的高性能核心板,该开发板外形新颖时尚,可以用Python语言进行项目开发,而不需要花费大量时间在底层的开发上,可以加快项目的开发进度,使产品快速上市。

分享一些PYNQ板卡学习资料:


http://pynq.readthedocs.io/en/latest/
http://www.pynq.io/examples.html
http://www.pynq.io/source-code.html

 PYNQ-Z1 Reference Manual [Reference.rar (12.02 MB, 下载次数: 32) 
注:该文章为本人在openhw社区首发,如需转载,麻烦声明网站地址和作者,否则,本人有保留追究其法律责任的权利。

 

PYNQ的概念

    

         PYNQ是Xilinx的一个的开源项目。它旨在使基于Xilinx ZYNQ的嵌入式系统设计更加容易。

         通过使用Python语言及其库文件,设计者能够充分发挥ZYNQ PL部分和PS部分的各自优势去设计更加强大的、有意义的嵌入式系统。

         PYNQ使得用户能够实现多种高性能的嵌入式应用,包括:

        l  并行硬件执行

        l  高帧率视频处理

        l  硬件加速算法

        l  实时信号处理

        l  高带宽IO

        l  低延时控制    

 

 


 

 

PYNQ的用户

    

       PYNQ指向大面积的设计者和开发者,包括:

       l  软件设计者 — 想利用ZYNQ及其硬件可编程性的优势,从而避免使用ASIC模式设计工具去设计硬件。

       l  系统架构师 — 想使用更加简单方便的ZYNQ软件接口和框架。

       l  硬件工程师 — 想让硬件项目推广给更多的人使用

 

 


 

 

关键的技术

         

     Jupyter Notebook是一种基于浏览器的交互式计算环境。Jupyter Notebook能够创建多种文件(动态代码、交互式控件、图表、解释性文本、方程式、图像、视觉等)。

         在Jupyter Notebook环境下使用python可以简便地为PYNQ-Z1编程。

         通过python,开发者能调用可编程逻辑部分的硬件库。硬件库可以加速PYNQ-Z1上运行的软件代码,还可以自定义硬件平台和接口。

         PYNQ镜像是一个可以引导的Linux镜像,其中包含pynq python包、其他开源包。

 


 

 

使用PYNQ需要什么软件?

         

     Jupyter Notebook 是基于浏览器的接口,所以需要一个兼容的网页浏览器,从而使用python去编程。

         为了更高的性能,用户也可以使用C/C++去编程。此时,需要支持PYNQ-Z1的、免费的Xilinx SDK软件。用户也可以使用其他第三方的软件开发工具。

         为了增加新的硬件库,所以需要Xilinx或第三方的硬件设计工具。Xilinx Vivado 免费版完全支持PYNQ-Z1。

      

 


 

 

PYNQ-Z1板卡资源

 

处理器:双核ARM Cortex-A9

FPGA:1.3M 可重构逻辑

内存:512MB DDR3/FLASH

存储:Micro SD卡插槽

视频:HDMI输入/输出

音频:Mic输入,Line输出

网络:10/100/1000以太网

扩展口:连接到ARM PS端的USB Host

IO接口:1×Arduino 口,2×Pmod (49GPIO)

GPIO: 16GPIO

Other I/O:6个用户LEDs,4个按键开关,2个拨码开关

尺寸:87mm × 122mm

 


 

 

PYNQ资源下载

         

  从PYNQ GitHub上可以下载所有PYNQ项目的源代码。如果用户想加入或联系PYNQ项目团队,可以在PYNQ support forum上发布信息。

        PYNQ资料百度网盘下载地址:http://pan.baidu.com/s/1dF60nPv  密码: 32vb

 


 

 

PYNQ示例

 

    

      OpenCV人脸识别          ADC波形采集                      PWM发生器

具体的参考示例请访问http://www.pynq.io/examples.html

 


 

 

PYNQ官方网站

 

http://www.pynq.io/home.html

 

参考:http://www.openhw.org/module/forum/thread-656233-1-1.htmlPYNQ板卡见解——yiqizhenshanhe

http://www.openhw.org/topic-1172

你可能感兴趣的:(FPGA学习)