引言:本文开始学习第二章内容,本文重点介绍FPGA、Zynq和Zynq MPSoC器件技术演进以及Zynq和Zynq MPSoC器件的基本结构和特点。
第二章 ?FPGA、Zynq和Zynq MPSoC
Zynq MPSoC是Xilinx发布的第一款SoC Zynq-7000片上系统(SoC)的演变。这两种器件都包括处理系统(PS)和可编程逻辑(PL),PL等效于现场可编程门阵列(FPGA)。如图2.1所示,它在高层次上比较了三种类型器件,Zynq MPSoC中的PS比Zynq中的PS更大、更复杂。?在本章中,将回顾这三种器件类型的特点,并重点介绍它们之间的异同。我们还提出了一些潜在演进的原因。
?图2.1:FPGA、Zynq和Zynq MPSoC的高层次比较
2.1 技术时间表
在继续之前,重要的是要提到Zynq、Zynq MPSoC和FPGA都是当前的技术,并且相互补充。“最佳”选择取决于正在创建的设计的特性。所有三种器件类别都有自己独特的功能平衡,这使得它们中的每一种都特别适合一系列不同的任务和应用程序。
?图2.2:FPGA、Zynq和Zynq MPSoC演进时间表
这本书的许多读者可能都熟悉Zynq,所以我们从那里开始复习,可以将其与较新的Zynq MPSoC设备进行比较。?FPGA是两个SoC的PL部分的基础,将在本章后面介绍。2.2 Zynq-7000 SoC?Zynq-7000 SoC是Xilinx发布的第一款SoC设备,将基于FPGA的PL与基于Arm的PS相结合。在本节中,我们将简要介绍Zynq的架构和功能,读者可以参考我们上一本书中的详细内容。?2.2.1 Zynq的结构和特点?为了提供架构的高层次概述,Zynq架构有两个部分:PS和PL,它们之间有一组互连,如图2.3所示。这些互连基于先进可扩展接口(AXI)标准,这是Arm开发的片上通信标准。?将PS处理系统组件与PL耦合是运行嵌入式系统软件的基础要求,特别是操作系统和软件应用程序,需提供专用的优化资源,同时保留FPGA逻辑的所有优点(特别是其强大的并行性和可重配置性)。AXI接口形成了两个部分之间的连接。AXI是针对SoC应用程序进行优化的标准。图2.3中PS和PL的相对尺寸未按比例绘制,事实上,Zynq系列中有几个器件,每个器件都具有相同的PS架构和不同大小的PL。
?图2.3:Zynq SoC设备的高级框图(来自“Zynq Book”[3])
稍后将更详细介绍Zynq架构和Zynq MPSoC器件之间PS和PL架构的差异。?Zynq处理系统 (PS)Zynq ?PS部分,如图2.3中的蓝色部分所示,包括一个应用级处理器和其他组件。这些概述如下(有关详细信息,请参见[3])。
?应用处理器单元(APU):该单元包括双核Arm Cortex-A9处理器以及256KB的片上高速缓存。
?互连和存储器接口:它们分别实现PS和PL之间以及与外部存储器之间的通信。
?I/O外设组:集成外设接口,涵盖通用标准,如USB、UART、SPI、I2C等。
Zynq中的PS有两个处理核,设计者可以选择将两个核心用于同一操作系统,或者在每个操作系统上使用不同的操作系统。稍后,我们将Zynq PS与Zynq MPSoC架构的PS进行比较,并注意到新器件中功能的扩展,特别是,Zynq MPSoC最多有六个处理核心!
最近,Zynq的“轻量级”版本Zynq-7000S发布,采用单一Arm Cortex-A9处理器。Zynq可编程逻辑(PL)?Zynq的PL部分基于Artix-7 FPGA结构(适用于该系列中较小的器件)或Kintex-7 FPGA架构(适用于较大的器件)。这两个变体代表Xilinx 7系列FPGA的成员,其中还包括更高性能的Virtex-7。
与等效的FPGA一样,Zynq PL包括DSP48 Slice切片(用于高速算术的资源)、块RAM、高速收发器、集成通信块以及通用逻辑。
在本章的后面,第2.4.3节提供了现代FPGA关于这些资源的更多信息。?PS和PL之间的接口?Zynq的两个区域之间有九个接口。其中四个互连被指定为“通用”接口,四个互连为“高性能”接口,其余互连为“加速器一致性端口”(ACP),它提供了应用程序处理单元(APU,位于PS内)和PL之间的直接路由。
2.2.2 Zynq设备
为了对Zynq-7000系列中的器件进行简要比较,请考虑表2.1,该表汇总了每个芯片的关键特性和参数(请注意,单核Zynq-700S系列不包括在表中,但等效细节可在[23]中找到)。
表2.1:Zynq-7000 SoC范围内器件的比较
a.支持的最大处理器时钟频率取决于器件速度等级。所有Zynq-7000芯片的PS都是相同的,唯一的区别是支持的最大时钟频率。PL在整个系列中都是相似的,低端设备采用基于Artix-7的逻辑,其余设备采用Kintex-7中的逻辑。PL中的专用资源(如DSP片、块RAM存储器和输入/输出资源)尺寸和数量也各不相同。
2.2.3 Zynq使用模式
设计者以前使用过FPGA,或者使用过处理器,或者两者兼而有之都可以采用Zynq。Zynq在推出时的卖点是提供一种解决方案,用于在单个器件上实现基于处理器的任务,如运行软件和操作系统,以及基于FPGA的处理,并具有高端性能和两个组件之间的高容量互连。
如果以前只使用FPGA,那么添加专用硬处理器可以提高性能(与由通用PL资源构建的“软”处理器相比);而另一方面,如果以前单独使用处理器,FPGA逻辑的存在使某些任务能够在硬件中实现,从而提供加速并释放处理器用于其他任务。?以前需要专用处理器和FPGA的系统可以从两个物理器件减少到一个,从而节省了接口工作量、功耗、材料清单成本等。这些考虑因素在[3]中进一步讨论,特别是Zynq-7000。然而,我们发现类似的因素促使Zynq MPSoC的使用。
如接下来几页所述,Zynq MPSoC提供了处理单元的进一步集成,扩展了Zynq的PS部分,包括实时处理引擎、图形处理器和视频编解码器(某些器件具备),以及功能更强大的应用处理器。2.3 Xilinx Zynq MPSoC?与Zynq相比,Zynq MPSoC代表了架构的扩展。尽管由相同的高级组件(PS和PL,使用AXI互连接口)组成,但PS更为复杂,PL从Xilinx的7系列升级为UltraScale+ FPGA架构。在大多数Zynq MPSoC系列中,PL的尺寸也比Zynq系列器件大。
2.3.1 Zynq MPSoC的发布?Zynq MPSoC于2015年首次发布,距离Zynq首次发布已有四年时间。在这段时间里,Zynq在各种应用领域得到了广泛应用,通过这一点,对完全集成的“FPGA+处理器”解决方案的需求已经根深蒂固。
Zynq MPSoC提供了增强型PS和更大的PL(有多种不同尺寸可供选择)。Zynq MPSoC系列已经建立了子家族,以满足不同类型的应用及其需求,特别是在PS资源方面。这些子家族通过两个字母的名称来区分:CG、EG和EV,其中两个字符的含义如表2.2所示。
表2.2:Zynq MPSoC子族标识符
Zynq MPSoC并没有取代Zynq,而是提供了一种类似形式的扩展和增强解决方案。Zynq器件将继续是低成本、低复杂系统的合适选择。
2.3.2 Zynq MPSoC体系结构和特点
与Zynq相比,Zynq MPSoC包括一组扩展的资源,有三种变体(即CG、EG和EV子家族)。PS和PL的主要特征如表2.4所示。在后面章节详细了解体系结构时,我们将详细介绍这些资源的功能。?Zynq MPSoC架构的另一个重要发展是其电源管理功能。器件被划分为四个独立的电源域,可以单独操作。这意味着设备的未使用部分可以在不需要时断电,从而提高整体电源效率。另外,安全功能也得到了增强。?此外,需要强调的是,Zynq MPSoC得益于UltraScale+ FPGA体系结构(将在第2.4.3节中进行介绍),其中包括对Zynq使用的7系列体系结构的某些改进。两个特别显著的区别特征是包含了UltraRAM,以及将DSP Slices进一步升级为DSP48E2(DSP48E1包含在Zynq中)。表2.3中显示了资源最小和最大的器件。通过与表2.1进行比较,请注意,Zynq MPSoC系列包括具有比Zynq系列大得多的PL面积的器件。这使得Zynq MPSoC在需要大量使用PL时成为更好的选择,例如,作为嵌入式系统设计的一部分,用于一组复杂算法的硬件加速。表2.3:基本资源比较(最小和最大Zynq MPSoC的PL)
a.不包括高速串行接口。
表2.4:Zynq MPSoC的特性概述(按子家族)
a.包含在器件的子集中;?b.包括在所有器件中。
2.4 FPGA
在本章涵盖的三种器件类型中,FPGA是建立时间最长的,也是Zynq和Zynq MPSoC器件PL元件的基础。因此,我们将从简要的FPGA开发回顾开始,然后对其应用进行一些说明,然后介绍当今FPGA技术的架构和特性。
2.4.1 什么是FPGA?
对于刚接触该领域的读者来说,简要介绍FPGA可能会很有用。FPGA代表现场可编程门阵列(Field-Programmable Gate Array)。首字母缩略词中的“门阵列”部分反映了FPGA器件最初是由逻辑门阵列组成的。现代FPGA不仅仅由简单的门组成,而是包含可重新配置的电路元件。
稍后我们将更详细地讨论架构。”现场可编程”反映了FPGA在制造后(“现场”)可由系统开发人员和最终用户进行编程,事实上,它们可以根据需要进行重新编程,以实现新的硬件功能。
Xilinx等FPGA供应商不仅提供物理器件,还提供用于开发FPGA设计并最终编程的开发工具。为了提高生产力,还有预先验证的IP核(称为知识产权、参考设计、文档等)。在某些情况下,支持还扩展到第三方软件公司和设计公司。Zynq和Zynq MPSoC器件共享并扩展用于FPGA设计的工具和资源套件。
2.4.2 FPGA的发展
自早期以来,FPGA架构已经以多种方式发展,当时FPGA只包括64个触发器和3输入查找表(LUT,用于实现逻辑功能)。随着器件的尺寸不断增长,已包括更多数量的逻辑资源,并且这些逻辑资源的架构已经发展。FPGA能够在更高的频率下工作,并且消耗更少的功率。
此外,还整合了许多专用资源,包括高速存储器,以及对算术、时钟和互联的支持。?暂时着眼于规模,请考虑图2.4。该图总结了FPGA在“逻辑单元”方面的扩展,“逻辑单元是逻辑密度的度量,从低级别元素中稍微抽象出来,以考虑架构之间的差异。
在过去的十五年中,以五年为间隔,给出了最现代的器件的快照,并将其与第一个FPGA(1985年)进行了比较。很明显,今天的FPGA甚至让10年前的FPGA相形见绌,更不用说最早的器件了!请注意,第一个FPGA(XC2064)由图2.4左侧的小点表示。尤其是近年来,出现了高端、中端和低端器件的选择,在图中分别用红色、绿色和蓝色方框表示。
XC2064与当今最大的可用设备(就逻辑单元而言)Virtex UltraScale+ VU13P设备之间的数字比较如表2.5所示。这种比较不包括在中间时期引入架构的一些更先进的功能。
图2.4:以逻辑单元为单位的相对FPGA尺寸(选定年份和世代)的比较(注意,对于所示的每一代,内框表示最小的器件,外框表示最大的器件)
表2.5:基本资源比较(Xilinx的第一个FPGA与最新和最大的FPGA)
a.现代FPGA具有6个输入LUT;早期的设备具有4输入LUT逻辑单元?b.“逻辑单元”定义为一个4输入LUT和一个触发器。反映出较新器件的逻辑密度增加,6输入LUT和2个触发器被视为约1.6个逻辑单元。
Xilinx FPGA的基本架构仍然是简单数字逻辑元件的二维阵列,分组为CLB。每个CLB包括少量的触发器和查找表(LUT),其中LUT能够实现布尔逻辑功能,以及小型存储器和移位寄存器。CLB的精确组成随着时间的推移而演变,现代技术中的一个CLB比旧设备中的CLB代表了更多的逻辑量。CLB仍然与可编程互连和交换机矩阵连接在一起,尽管这种连接基础设施也有所改进。您可以在图2.5的底部看到CLB、开关矩阵和可编程互连的阵列结构。
FPGA体系结构不断发展,以满足应用需求。更大的内存块(“块RAM”,以及最近的“超RAM”)提供了密集、高速的内存功能。例如,允许在设备上存储大量的视频数据。专用乘法器在2000年左右被引入,后来发展成为能够进行乘法、加法/减法和其他逻辑功能的集成算术块(DSP48x片)。
自2004年推出以来,DSP48x切片已经自行开发,x后缀表示存在几种变体。支持“硬”IP块形式的高速接口(即在设备上的硅中物理实现的功能块)与高速串行接口一起集成到选定的FPGA中。随着FPGA技术在通信基础设施、数据中心、高性能和云计算中的广泛应用,这些资源非常有价值。?如表2.6所示,除了更大的规模外,最新的FPGA还包括重要的专用资源和功能。
表2.6:关于UltraScale+FPGA示例的高级资源
在下一节中,我们将更详细地讨论UltraScale+ FPGA的体系结构。
2.4.3 现代FPGA体系结构:UltraScale+
现代FPGA本质上是一个二维的元件阵列,从这个意义上说,它们与早期的器件相似。然而,阵列的组成在资源方面要丰富得多;当然,正如前面强调的那样,器件更大。?图2.5是UltraScale+ FPGA资源布局。在高抽象级别上,FPGA器件布局包括包含不同类型资源的垂直区域。器件的大部分区域被分配为通用逻辑,即CLB,主要由LUT和触发器组成。块RAM和超级RAM存储块以及DSP48x算术Slices,排列在器件上的单列或双列中,形成薄的垂直“条纹”。
?图2.5:UltraScale+布局示例
在接口方面,输入/输出块按组排列,并在资源的主阵列内形成列。IOB可以支持各种接口标准[20]。以高速串行收发器[17]的形式提供了额外的连接,这些收发器通常位于FPGA的边缘,每组四个。在这些附近,提供了专用块来支持选定的通信标准(如表2.6所示)。
FPGA结构中还存在用于配置、时钟管理和系统监控的其他资源。DSP功能?数字信号处理(DSP)在很大程度上依赖于定点乘法和加法运算。
常见的DSP任务,如有限脉冲响应(FIR)滤波和快速傅立叶变换(FFT)的计算,完全由加法器/减法器、乘法器和采样延迟构成。?对这些操作的支持是通过Xilinx FPGA中的DSP48x切片(特别是UltraScale+设备中的DSB48E2变体)提供的。图2.6提供了该切片的简化框图,显示了算术运算和字长,但省略了一些补充功能,如延迟元件、信号路径和多路复用器。DSP48E2切片可以级联在一起(不需要使用架构资源),以创建有限脉冲响应(FIR)滤波器或快速傅立叶变换(FFT)结构。
在需要比单个DSP片上可用的更长的字长的情况下,例如,为了实现高达96位的非常宽的加法器可以组合两个或多个DSP48E2切片。除了算术功能外,DSP48E2还可用于桶移位、模式检测和其他逻辑运算。关于DSP48E2的完整信息,包括与以前的DSP48x切片相比的改进细节,可以在[21]中找到。
图2.6:用于高速运算的DSP48E2片的简化框图
内存支持存储器可以使用CLB资源在FPGA上实现,这通常是存储少量数据的首选方法。对于较大的存储器,有块RAM(能够存储36Kb,或充当两个较小的18Kb部分),而在UltraScale设备中,有具有更大存储能力的Ultra RAM(每个288Kb)。可以通过组合块RAM或超级RAM来创建更大的存储器。块RAM和超级RAM由FPGA上的专用物理块实现,而不是由通用的低电平逻辑元件构成。它们能够在器件支持的最大时钟频率下运行,实现高性能操作。如果当前配置不使用Ultra RAM,也可以将其断电,或者在操作设计不需要时长时间进入睡眠模式。?考虑到备选方案,数据存储有四种可能性,如图2.7所示。
?图2.7:FPGA存储器类型的比较
随着更大的设备,特别是Ultra RAM的引入,可在芯片上存储比前几代更多的数据。这是有利的,因为它减少或消除了对片外存储器的要求,以及隐含的额外系统成本、接口工作、功耗和延迟,以及性能限制。每种内存类型都具有使其成为某些任务的最佳选择的特性。根据所采用的设计方法,设计者可以明确地针对特定的内存资源,或者允许合成工具做出这些决定。
2.5 比较与讨论:FPGA与Zynq与Zynq-MPSoC
本节将总结FPGA、Zynq和Zynq MPSoC在架构、功耗和性能以及嵌入式系统实现功能方面的差异。还将提及特别适合于这些器件的候选应用。关于设计方法、嵌入式系统实现和应用的进一步讨论将在本书后面进行,重点讨论Zynq MPSoC。
2.5.1 架构
在比较FPGA、Zynq和Zynq MPSoC器件的架构时,我们可以总结出三个关键区别:
?Zynq和Zynq MPSoC都提供硬处理器,而FPGA则不提供。
?Zynq MPSoC的PS比Zynq的更大、更强、更多样。
?最大的FPGA比最大的Zynq和Zynq MPSoC设备提供更多的PL。
Zynq是Xilinx的第一款SoC设备,将应用级处理器与FPGA逻辑相结合。Zynq MPSoC代表了Zynq的演变,其提供了更广泛的处理资源;例如,Zynq MPSoC提供实时处理器、图形处理器以及应用处理器。另一方面,Zynq只有一个应用程序处理器。FPGA不包括硬处理器,尽管一个或多个“软”处理器可以合并到基于FPGA的系统中(即,由通用逻辑构建,有关此主题的更多讨论,请参见第2.5.3节)。
所有三种器件类型都包括PL。自FPGA首次发布以来,PL的架构已经发展了30多年,已经开发了许多不同的代。另一方面,Zynq和Zynq MPSoC具有与特定代FPGA逻辑相关的PL区域的特征区域。具体来说,Zynq采用7系列逻辑,而Zynq MPSoC采用UltraScale+逻辑。在CLB布局、DSP和存储器、互联、时钟和电源功能方面存在许多差异。表2.7提供了可用资源的快速比较。我们可以看到,最新的FPGA虽然不包括处理系统,但提供的PL量最大,大约是最大的Zynq MPSoC的三倍。
还值得注意的是,Zynq MPSoC设备包括比Zynq大得多的PL部分,以及扩展的PS功能。?在FPGA和SoC设备的PL部分,接口资源由通用I/O和高速串行收发器组成,并由强化的IP资源补充,以支持以太网和PCI Express等标准。Zynq和Zynq MPSoC设备的PS部分提供了进一步的标准接口(例如CAN、I2C、USB等)作为强化资源。Zynq MPSoC包括Zynq上不存在的一些硬化界面,例如因特拉肯界面作为硬化块被包括在选定的Zynq MPC芯片上。
表2.7:FPGA、Zynq-7000 SoC和Zynq-MPSoC之间的资源比较
a.仅在EG和EV设备中 b.仅在EV设备中 c.在选定的设备中2.5.2 功耗和性能 多年来,在提高性能(即最大处理频率或“速度”)的同时,在降低功耗方面取得了相当大的进展。如[15]所述,从1985年引入Xilinx FPGA到2011年发布7系列器件,能耗(按每个逻辑单元测量)减少了1000倍以上。在同一时期,业绩增长了约100倍。对我们感兴趣的设备进行快速比较是很有用的。
功耗来源 由于便于编程和保持设备配置所需的底层架构,可编程设备的功耗自然高于固定功能等效IC。 在FPGA术语中,我们通常指功耗的两个元素,静态功率和动态功率,其可以定义如下:静态功率—就保持其配置而言,这包括芯片运行所需的功率。静态功率是由于晶体管漏电流(即即使晶体管处于“关断”状态也会流过晶体管的电流)而产生的,并且随着器件的尺寸(即晶体管数量的增加)而增加。静态功耗也随工艺技术、电压和工作温度而变化。
?动态功率—
由于开关活动,芯片上的设计操作产生的额外功率。它是频率相关的,例如,如果触发器在200MHz下切换,将比100MHz消耗更多的功率。动态功耗可以随着时间的推移而变化,这取决于电路元件的活动,也取决于所提供的电压电平以及用于实现设计的逻辑和路由。工程师可以通过优化其低功耗设计来影响动态功率,例如,通过确保电路元件的时钟频率不高于所需的频率。?Zynq和Zynq MPSoC的PS也具有相关的功率要求。功耗的提高工艺技术的进步,即使用具有越来越小的特征尺寸的ASIC制造工艺,在一定程度上解释了上述功耗和性能的改进。这在很大程度上符合摩尔定律(也就是说,英特尔联合创始人戈登·摩尔在1965年做出的预测,即芯片上的晶体管数量大约每两年翻一番)。然而,现在人们普遍猜测,摩尔定律的终点可能很近[2],[5]。以较小的工艺几何形状进行制造变得越来越困难,成本也越来越高。?在FPGA方面,随着工艺几何结构的缩小,仍然可以实现性能增益,但额外的漏电流会增加静态功耗[4],[10]。这限制了纯粹通过在较小尺寸中制造相同类型的晶体管来实现进一步的FPGA/SoC功率降低的可能性。然而,晶体管结构的转变,从平面式到“FinFET”,带来了好处。Xilinx首次在其16nm器件中采用FinFET,其中包括UltraScale+FPGA和Zynq MPSoC[13]。为了应对制造趋势的放缓,重点已转向架构改进,以及开发设计工具和方法,使系统能够更高效地实现。在UltraScale和最近的UltraScale+FPGA系列中,引入了新的体系结构功能来降低功耗,例如对CLB体系结构、DSP48x切片和内存结构的改进,以及更高效的互连。还有一些设备选项可以在较低的核心电压下运行,这允许设计者权衡功耗与性能[14]。诸如时钟门控(即,确保设备的未使用部分不主动工作并消耗能量)之类的技术也在降低功耗方面发挥作用。7系列FPGA和Zynq引入了一种“智能”时钟门控功能,可以自动应用时钟门控,而无需设计师手动将其纳入系统。Xilinx设计工具定期更新,以利用新一代的架构发展。具体而言,在Zynq MPSoC中,平台管理单元(PMU)能够控制功率域和构成PS的各种处理引擎。由于大多数设计不会使用所有可用功能,因此可以通过关闭未使用的功能来实现节能[12]。PMU还具有其他系统初始化功能,将在第10章中进一步讨论。性能计算性能通常根据最大处理频率进行量化。为了比较性能,考虑PS和PL元件的最大时钟频率是有趣的。
表2.8:UltraScale+FPGA、Zynq-7000和Zynq-MPSoC的最大时钟频率
a.实际数字取决于速度等级和工作电压。
总之,FPGA和SoC器件的功耗密切相关,因为所有SoC都包括与FPGA有效相同的PL区域。与Zynq和Zynq MPSoC相比,由于UltraScale+ FPGA体系结构中的各种优化,Zynq MP SoC设备的PL功耗(每个逻辑单元)更低,总体性能更高。就PS而言,Zynq MPSoC架构更为复杂,提供了更高的性能,还包括用于电源管理的附加功能。
2.5.3 嵌入式系统实现
用FPGA等可编程器件实现嵌入式系统的愿望推动了Xilinx SoC器件的发展,以前是Zynq,最近是Zynq-MPSoC。?嵌入式系统(通常是一个或多个处理器、存储器、外围设备和互连,以及与外部存储器或其他组件的连接)可以使用单个可编程器件创建。
有了处理器,系统可以支持软件应用程序,通常在操作系统上运行。该器件的可编程特性具有现场升级和运行时重新配置的常见优势,FPGA逻辑的并行架构支持加速适当的任务。
Zynq和Zynq MPSoC处理器具有相关联的存储器以及所选元件之间的互连。与Zynq相比,该Zynq MPSoC具有更多的专用处理元件。例如,已经引入了专用实时处理器来补充应用程序处理器。FPGA支持嵌入式系统设计已经有一段时间了,最显著的是通过MicroBlaze处理器,这是一种由用户配置为IP核心的“软”处理器,由FPGA上的CLB资源构建。(这里的术语“软”与“硬”形成对比,这意味着设备上存在专用处理器。)
MicroBlaze等软处理器的一个明显优势是其灵活性。这些处理器可以针对预期应用进行定制,例如,如果不需要浮点支持,则可以省略浮点支持,这减少了实现处理器所需的PL资源。明显的缺点是性能劣势,硬处理器的性能远高于软处理器。为了量化差异,MicroBlaze处理器在UltraScale FPGA中的工作频率最高可达400MHz左右(取决于MicroBlaze核心的配置)。
与Zynq和Zynq MPSoC设备中的应用程序处理器相比(见第27页表2.8),这是一个低得多的性能水平。?因此,我们可以得出结论,SoC对于嵌入式系统来说更为优化。它们提供专用的高性能处理资源,能够在比基于FPGA的软处理器高得多的时钟频率下工作。Zynq MPSoC具有丰富多样的处理资源,可实现实时处理和图形处理。同时,仍然有机会在PL部分中使用一个或多个MicroBlaze实例,以补充位于PS中的主处理器。
2.5.4应用
FPGA已成为需要实现计算复杂系统的应用程序的首选平台,尤其是未来需要更新的情况下。由于FPGA具有可重新编程的特性,它支持现场升级,甚至可以实现动态重新配置的系统,即将器件重新编程作为正常操作的一部分。特别适合FPGA的应用示例包括移动基站信号处理、视频压缩和解压缩、雷达系统、数据中心的高速交换和路由基础设施等。每种情况下,处理都需要具有确定性和高性能,同时为引入新标准、配置或算法提供了潜力。
即使在可编程性不是关键问题的情况下,由于开发ASIC的非经常性工程(NRE)成本很高,FPGA通常比体积低于某个阈值的ASIC更受欢迎。人们普遍认为,这一阈值正在上升,这意味着ASIC现在只被认为适用于非常大容量的应用,或者当有特殊要求时,如最小形状因数或非常低的功率设计。迄今为止提到的所有FPGA优点也适用于Zynq和Zynq MPSoC。
通过增加处理器功能,这些设备专门满足可能需要单独处理器和FPGA的应用,将运行软件代码的能力与高速并行处理相结合。在Zynq MPSoC中,专用的实时处理能力、GPU和视频编解码器使系统能够在单个设备上实现复杂的系统。应用包括“大数据”分析、高级驾驶员辅助系统(ADAS)、广播摄像设备、导航系统和许多其他系统。我们将在第5章中进一步探讨应用程序。
2.6 章节综述
本章介绍并比较了FPGA、Zynq和Zynq MPSoC。概述了每种设备的基本结构和特点,并介绍了它们的重要特点。我们特别看到,Zynq和Zynq MPSoC为标准FPGA可编程逻辑添加了一个处理系统,并且与Zynq相比,Zynq MPSoC中的处理系统提供了扩展的功能和性能。同样显而易见的是,随着Zynq MPSoC的发布,SoC器件上提供的PL已经大大扩展,我们注意到UltraScale+ FPGA所享有的功率和性能优势也适用于Zynq MP SoC设备。
基于PYNQ和机器学习探索MPSOC-读书笔记(开篇)
1610