SOC产品序列
赛灵思采用软硬件全可编程功能开发智能系统,加速产品上市进程。全可编程主要采用三种架构:
- TSMC 28nm Zynq®-7000 All Programmable SoC
可参考:链接: link. 链接: link. - TSMC 16FinFET+ UltraScale All Programmable FPGA架构的UltraScale™ MPSoC(多重处理片上系统)架构
- 还有一个UltraScale™ RFSoC目前还不太涉及。其在UltraScale™ MPSoC基础上加上了ADC和DAC模块。
关于架构的区别关系可参考
链接: link.
UltraScale™ MPSoC兼容 Zynq-7000 SoC、软件和生态系统。
FPGA
Artix-7 FPGA系列,业界最低功耗和最低成本
Kintex-7 FPGA 系列, 业界最佳性价比
Virtex-7 FPGA系列,业界最高系统性能和容量
ZYNQ( ZYNQ = ARM处理器 + FPGA )
Zynq-7000 SoC (PL部分资源较少,7000的意思是PL部分基于7系列的FPGA)
- Zynq-7000、Zynq-7010和Zynq-7020的PL部分基于针对低成本/功耗优化的Artix-7系列
- Zynq-7030和Zynq-7040器件基于中端Kintex-7系列
Zynq UltraScale+ MPSoC(PL部分资源较多) - Zynq UltraScale+ MPSoC系列器件共有四个大的系列,分别是CG系列、EG系列和EV系列,其中EG系列和EV系列提供汽车级和军品级器件。参考:链接: link.
- 例如Ultra96™属于EG系列(• Xilinx Zynq UltraScale+ MPSoC ZU3EG SBVA484)参考网站查看其可编程逻辑资源
链接: link
PYNQ(PYNQ = Python + ZYNQ)
PYNQ 用于Zynq, Zynq UltraScale+, Zynq RFSoC架构的SOC
Overlay概念
PYNQ很重要的一个概念是overlay:
Overlay,又称为硬件库,是用来扩展用户应用的可编程/可配置FPGA设计.Overlay能够用来加速软件应用或者为了某一特定应用定制化硬件平台。例如图像处OV用是非常典型的经常被用FPGA技术加速处理的速度的应用。Overlay能够像载入软件库一样载入FPGA设计。
PYNQ提供Python接口允许PL端的Overlay(硬件库)被PS端的python调用。FPGA设计需要专门的硬件工程的知识。PYNQ Overlay由硬件设计人员设计,打包为PYNQ的python API。而软件设计人员只需在python 中调用这些Overlay,而不需要专门的硬件设计人员进行设计。和软件库设计类似。提高了通用性。
默认情况下,base Overlay在PYNQ启动时就已经被载入,而用户自己定制的overlay可以直接拷贝到板子的相应目录。
一个overlay 包含:
• 一个配置FPGA的.bit文件
• 一个 vivado设计的.tcl文件定义可用IP
• Python API定义IP属性
PYNQ的Overlay类可以被用来载入一个overlay.一个overlay被初始化为一个bit文件的名称。初始化overlay会默认下载bit文件并且描述Tcl文件。Base Overlay被用来控制PYNA的常用外设接口。通常包括 GPIO设备(LED,开关按钮等),视频音频或者其他定制化接口。
正因为base Overlay包含着板子的外设接口的IP,因此,它可以用来作为设计专用IP Overlay时的参考设计。