• 正文
    • 第二章 ?FPGA、Zynq和Zynq MPSoC
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

《探索Zynq MPSoC》學(xué)習(xí)筆記(二)

06/04 14:29
503
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

引言:本文開始學(xué)習(xí)第二章內(nèi)容,本文重點介紹FPGA、Zynq和Zynq MPSoC器件技術(shù)演進以及Zynq和Zynq MPSoC器件的基本結(jié)構(gòu)和特點。

第二章 ?FPGA、Zynq和Zynq MPSoC

Zynq MPSoC是Xilinx發(fā)布的第一款SoC Zynq-7000片上系統(tǒng)(SoC)的演變。這兩種器件都包括處理系統(tǒng)(PS)和可編程邏輯(PL),PL等效于現(xiàn)場可編程門陣列(FPGA)。如圖2.1所示,它在高層次上比較了三種類型器件,Zynq MPSoC中的PS比Zynq中的PS更大、更復(fù)雜。?在本章中,將回顧這三種器件類型的特點,并重點介紹它們之間的異同。我們還提出了一些潛在演進的原因。

?圖2.1:FPGA、Zynq和Zynq MPSoC的高層次比較

2.1 技術(shù)時間表

在繼續(xù)之前,重要的是要提到Zynq、Zynq MPSoC和FPGA都是當(dāng)前的技術(shù),并且相互補充?!白罴选边x擇取決于正在創(chuàng)建的設(shè)計的特性。所有三種器件類別都有自己獨特的功能平衡,這使得它們中的每一種都特別適合一系列不同的任務(wù)和應(yīng)用程序。

?圖2.2:FPGA、Zynq和Zynq MPSoC演進時間表

這本書的許多讀者可能都熟悉Zynq,所以我們從那里開始復(fù)習(xí),可以將其與較新的Zynq MPSoC設(shè)備進行比較。?FPGA是兩個SoC的PL部分的基礎(chǔ),將在本章后面介紹。2.2 Zynq-7000 SoC?Zynq-7000 SoC是Xilinx發(fā)布的第一款SoC設(shè)備,將基于FPGA的PL與基于Arm的PS相結(jié)合。在本節(jié)中,我們將簡要介紹Zynq的架構(gòu)和功能,讀者可以參考我們上一本書中的詳細內(nèi)容。?2.2.1 Zynq的結(jié)構(gòu)和特點?為了提供架構(gòu)的高層次概述,Zynq架構(gòu)有兩個部分:PS和PL,它們之間有一組互連,如圖2.3所示。這些互連基于先進可擴展接口(AXI)標(biāo)準,這是Arm開發(fā)的片上通信標(biāo)準。?將PS處理系統(tǒng)組件與PL耦合是運行嵌入式系統(tǒng)軟件的基礎(chǔ)要求,特別是操作系統(tǒng)和軟件應(yīng)用程序,需提供專用的優(yōu)化資源,同時保留FPGA邏輯的所有優(yōu)點(特別是其強大的并行性和可重配置性)。AXI接口形成了兩個部分之間的連接。AXI是針對SoC應(yīng)用程序進行優(yōu)化的標(biāo)準。圖2.3中PS和PL的相對尺寸未按比例繪制,事實上,Zynq系列中有幾個器件,每個器件都具有相同的PS架構(gòu)和不同大小的PL。

?圖2.3:Zynq SoC設(shè)備的高級框圖(來自“Zynq Book”[3])

稍后將更詳細介紹Zynq架構(gòu)和Zynq MPSoC器件之間PS和PL架構(gòu)的差異。?Zynq處理系統(tǒng) (PS)Zynq ?PS部分,如圖2.3中的藍色部分所示,包括一個應(yīng)用級處理器和其他組件。這些概述如下(有關(guān)詳細信息,請參見[3])。

?應(yīng)用處理器單元(APU):該單元包括雙核Arm Cortex-A9處理器以及256KB的片上高速緩存。

?互連和存儲器接口:它們分別實現(xiàn)PS和PL之間以及與外部存儲器之間的通信。

?I/O外設(shè)組:集成外設(shè)接口,涵蓋通用標(biāo)準,如USB、UART、SPI、I2C等。

Zynq中的PS有兩個處理核,設(shè)計者可以選擇將兩個核心用于同一操作系統(tǒng),或者在每個操作系統(tǒng)上使用不同的操作系統(tǒng)。稍后,我們將Zynq PS與Zynq MPSoC架構(gòu)的PS進行比較,并注意到新器件中功能的擴展,特別是,Zynq MPSoC最多有六個處理核心!

最近,Zynq的“輕量級”版本Zynq-7000S發(fā)布,采用單一Arm Cortex-A9處理器。Zynq可編程邏輯(PL)?Zynq的PL部分基于Artix-7 FPGA結(jié)構(gòu)(適用于該系列中較小的器件)或Kintex-7 FPGA架構(gòu)(適用于較大的器件)。這兩個變體代表Xilinx 7系列FPGA的成員,其中還包括更高性能的Virtex-7。

與等效的FPGA一樣,Zynq PL包括DSP48 Slice切片(用于高速算術(shù)的資源)、塊RAM、高速收發(fā)器、集成通信塊以及通用邏輯。

在本章的后面,第2.4.3節(jié)提供了現(xiàn)代FPGA關(guān)于這些資源的更多信息。?PS和PL之間的接口?Zynq的兩個區(qū)域之間有九個接口。其中四個互連被指定為“通用”接口,四個互連為“高性能”接口,其余互連為“加速器一致性端口”(ACP),它提供了應(yīng)用程序處理單元(APU,位于PS內(nèi))和PL之間的直接路由。

2.2.2 Zynq設(shè)備

為了對Zynq-7000系列中的器件進行簡要比較,請考慮表2.1,該表匯總了每個芯片的關(guān)鍵特性和參數(shù)(請注意,單核Zynq-700S系列不包括在表中,但等效細節(jié)可在[23]中找到)。

表2.1:Zynq-7000 SoC范圍內(nèi)器件的比較

a.支持的最大處理器時鐘頻率取決于器件速度等級。所有Zynq-7000芯片的PS都是相同的,唯一的區(qū)別是支持的最大時鐘頻率。PL在整個系列中都是相似的,低端設(shè)備采用基于Artix-7的邏輯,其余設(shè)備采用Kintex-7中的邏輯。PL中的專用資源(如DSP片、塊RAM存儲器和輸入/輸出資源)尺寸和數(shù)量也各不相同。

2.2.3 Zynq使用模式

設(shè)計者以前使用過FPGA,或者使用過處理器,或者兩者兼而有之都可以采用Zynq。Zynq在推出時的賣點是提供一種解決方案,用于在單個器件上實現(xiàn)基于處理器的任務(wù),如運行軟件和操作系統(tǒng),以及基于FPGA的處理,并具有高端性能和兩個組件之間的高容量互連。

如果以前只使用FPGA,那么添加專用硬處理器可以提高性能(與由通用PL資源構(gòu)建的“軟”處理器相比);而另一方面,如果以前單獨使用處理器,F(xiàn)PGA邏輯的存在使某些任務(wù)能夠在硬件中實現(xiàn),從而提供加速并釋放處理器用于其他任務(wù)。?以前需要專用處理器和FPGA的系統(tǒng)可以從兩個物理器件減少到一個,從而節(jié)省了接口工作量、功耗、材料清單成本等。這些考慮因素在[3]中進一步討論,特別是Zynq-7000。然而,我們發(fā)現(xiàn)類似的因素促使Zynq MPSoC的使用。

如接下來幾頁所述,Zynq MPSoC提供了處理單元的進一步集成,擴展了Zynq的PS部分,包括實時處理引擎、圖形處理器視頻編解碼器(某些器件具備),以及功能更強大的應(yīng)用處理器。2.3 Xilinx Zynq MPSoC?與Zynq相比,Zynq MPSoC代表了架構(gòu)的擴展。盡管由相同的高級組件(PS和PL,使用AXI互連接口)組成,但PS更為復(fù)雜,PL從Xilinx的7系列升級為UltraScale+ FPGA架構(gòu)。在大多數(shù)Zynq MPSoC系列中,PL的尺寸也比Zynq系列器件大。

2.3.1 Zynq MPSoC的發(fā)布?Zynq MPSoC于2015年首次發(fā)布,距離Zynq首次發(fā)布已有四年時間。在這段時間里,Zynq在各種應(yīng)用領(lǐng)域得到了廣泛應(yīng)用,通過這一點,對完全集成的“FPGA+處理器”解決方案的需求已經(jīng)根深蒂固。

Zynq MPSoC提供了增強型PS和更大的PL(有多種不同尺寸可供選擇)。Zynq MPSoC系列已經(jīng)建立了子家族,以滿足不同類型的應(yīng)用及其需求,特別是在PS資源方面。這些子家族通過兩個字母的名稱來區(qū)分:CG、EG和EV,其中兩個字符的含義如表2.2所示。

表2.2:Zynq MPSoC子族標(biāo)識符

Zynq MPSoC并沒有取代Zynq,而是提供了一種類似形式的擴展和增強解決方案。Zynq器件將繼續(xù)是低成本、低復(fù)雜系統(tǒng)的合適選擇。

2.3.2 Zynq MPSoC體系結(jié)構(gòu)和特點

與Zynq相比,Zynq MPSoC包括一組擴展的資源,有三種變體(即CG、EG和EV子家族)。PS和PL的主要特征如表2.4所示。在后面章節(jié)詳細了解體系結(jié)構(gòu)時,我們將詳細介紹這些資源的功能。?Zynq MPSoC架構(gòu)的另一個重要發(fā)展是其電源管理功能。器件被劃分為四個獨立的電源域,可以單獨操作。這意味著設(shè)備的未使用部分可以在不需要時斷電,從而提高整體電源效率。另外,安全功能也得到了增強。?此外,需要強調(diào)的是,Zynq MPSoC得益于UltraScale+ FPGA體系結(jié)構(gòu)(將在第2.4.3節(jié)中進行介紹),其中包括對Zynq使用的7系列體系結(jié)構(gòu)的某些改進。兩個特別顯著的區(qū)別特征是包含了UltraRAM,以及將DSP Slices進一步升級為DSP48E2(DSP48E1包含在Zynq中)。表2.3中顯示了資源最小和最大的器件。通過與表2.1進行比較,請注意,Zynq MPSoC系列包括具有比Zynq系列大得多的PL面積的器件。這使得Zynq MPSoC在需要大量使用PL時成為更好的選擇,例如,作為嵌入式系統(tǒng)設(shè)計的一部分,用于一組復(fù)雜算法的硬件加速。表2.3:基本資源比較(最小和最大Zynq MPSoC的PL)

a.不包括高速串行接口。

表2.4:Zynq MPSoC的特性概述(按子家族)

a.包含在器件的子集中;?b.包括在所有器件中。

2.4 FPGA

在本章涵蓋的三種器件類型中,F(xiàn)PGA是建立時間最長的,也是Zynq和Zynq MPSoC器件PL元件的基礎(chǔ)。因此,我們將從簡要的FPGA開發(fā)回顧開始,然后對其應(yīng)用進行一些說明,然后介紹當(dāng)今FPGA技術(shù)的架構(gòu)和特性。

2.4.1 什么是FPGA?

對于剛接觸該領(lǐng)域的讀者來說,簡要介紹FPGA可能會很有用。FPGA代表現(xiàn)場可編程門陣列(Field-Programmable Gate Array)。首字母縮略詞中的“門陣列”部分反映了FPGA器件最初是由邏輯門陣列組成的?,F(xiàn)代FPGA不僅僅由簡單的門組成,而是包含可重新配置的電路元件。

稍后我們將更詳細地討論架構(gòu)?!爆F(xiàn)場可編程”反映了FPGA在制造后(“現(xiàn)場”)可由系統(tǒng)開發(fā)人員和最終用戶進行編程,事實上,它們可以根據(jù)需要進行重新編程,以實現(xiàn)新的硬件功能。

Xilinx等FPGA供應(yīng)商不僅提供物理器件,還提供用于開發(fā)FPGA設(shè)計并最終編程的開發(fā)工具。為了提高生產(chǎn)力,還有預(yù)先驗證的IP核(稱為知識產(chǎn)權(quán)、參考設(shè)計、文檔等)。在某些情況下,支持還擴展到第三方軟件公司和設(shè)計公司。Zynq和Zynq MPSoC器件共享并擴展用于FPGA設(shè)計的工具和資源套件。

2.4.2 FPGA的發(fā)展

自早期以來,F(xiàn)PGA架構(gòu)已經(jīng)以多種方式發(fā)展,當(dāng)時FPGA只包括64個觸發(fā)器和3輸入查找表(LUT,用于實現(xiàn)邏輯功能)。隨著器件的尺寸不斷增長,已包括更多數(shù)量的邏輯資源,并且這些邏輯資源的架構(gòu)已經(jīng)發(fā)展。FPGA能夠在更高的頻率下工作,并且消耗更少的功率。

此外,還整合了許多專用資源,包括高速存儲器,以及對算術(shù)、時鐘和互聯(lián)的支持。?暫時著眼于規(guī)模,請考慮圖2.4。該圖總結(jié)了FPGA在“邏輯單元”方面的擴展,“邏輯單元是邏輯密度的度量,從低級別元素中稍微抽象出來,以考慮架構(gòu)之間的差異。

在過去的十五年中,以五年為間隔,給出了最現(xiàn)代的器件的快照,并將其與第一個FPGA(1985年)進行了比較。很明顯,今天的FPGA甚至讓10年前的FPGA相形見絀,更不用說最早的器件了!請注意,第一個FPGA(XC2064)由圖2.4左側(cè)的小點表示。尤其是近年來,出現(xiàn)了高端、中端和低端器件的選擇,在圖中分別用紅色、綠色和藍色方框表示。

XC2064與當(dāng)今最大的可用設(shè)備(就邏輯單元而言)Virtex UltraScale+ VU13P設(shè)備之間的數(shù)字比較如表2.5所示。這種比較不包括在中間時期引入架構(gòu)的一些更先進的功能。

圖2.4:以邏輯單元為單位的相對FPGA尺寸(選定年份和世代)的比較(注意,對于所示的每一代,內(nèi)框表示最小的器件,外框表示最大的器件)

表2.5:基本資源比較(Xilinx的第一個FPGA與最新和最大的FPGA)

a.現(xiàn)代FPGA具有6個輸入LUT;早期的設(shè)備具有4輸入LUT邏輯單元?b.“邏輯單元”定義為一個4輸入LUT和一個觸發(fā)器。反映出較新器件的邏輯密度增加,6輸入LUT和2個觸發(fā)器被視為約1.6個邏輯單元。

Xilinx FPGA的基本架構(gòu)仍然是簡單數(shù)字邏輯元件的二維陣列,分組為CLB。每個CLB包括少量的觸發(fā)器和查找表(LUT),其中LUT能夠?qū)崿F(xiàn)布爾邏輯功能,以及小型存儲器和移位寄存器。CLB的精確組成隨著時間的推移而演變,現(xiàn)代技術(shù)中的一個CLB比舊設(shè)備中的CLB代表了更多的邏輯量。CLB仍然與可編程互連和交換機矩陣連接在一起,盡管這種連接基礎(chǔ)設(shè)施也有所改進。您可以在圖2.5的底部看到CLB、開關(guān)矩陣和可編程互連的陣列結(jié)構(gòu)。

FPGA體系結(jié)構(gòu)不斷發(fā)展,以滿足應(yīng)用需求。更大的內(nèi)存塊(“塊RAM”,以及最近的“超RAM”)提供了密集、高速的內(nèi)存功能。例如,允許在設(shè)備上存儲大量的視頻數(shù)據(jù)。專用乘法器在2000年左右被引入,后來發(fā)展成為能夠進行乘法、加法/減法和其他邏輯功能的集成算術(shù)塊(DSP48x片)。

自2004年推出以來,DSP48x切片已經(jīng)自行開發(fā),x后綴表示存在幾種變體。支持“硬”IP塊形式的高速接口(即在設(shè)備上的硅中物理實現(xiàn)的功能塊)與高速串行接口一起集成到選定的FPGA中。隨著FPGA技術(shù)在通信基礎(chǔ)設(shè)施、數(shù)據(jù)中心、高性能和云計算中的廣泛應(yīng)用,這些資源非常有價值。?如表2.6所示,除了更大的規(guī)模外,最新的FPGA還包括重要的專用資源和功能。

表2.6:關(guān)于UltraScale+FPGA示例的高級資源

在下一節(jié)中,我們將更詳細地討論UltraScale+ FPGA的體系結(jié)構(gòu)。

2.4.3 現(xiàn)代FPGA體系結(jié)構(gòu):UltraScale+

現(xiàn)代FPGA本質(zhì)上是一個二維的元件陣列,從這個意義上說,它們與早期的器件相似。然而,陣列的組成在資源方面要豐富得多;當(dāng)然,正如前面強調(diào)的那樣,器件更大。?圖2.5是UltraScale+ FPGA資源布局。在高抽象級別上,F(xiàn)PGA器件布局包括包含不同類型資源的垂直區(qū)域。器件的大部分區(qū)域被分配為通用邏輯,即CLB,主要由LUT和觸發(fā)器組成。塊RAM和超級RAM存儲塊以及DSP48x算術(shù)Slices,排列在器件上的單列或雙列中,形成薄的垂直“條紋”。

?圖2.5:UltraScale+布局示例

在接口方面,輸入/輸出塊按組排列,并在資源的主陣列內(nèi)形成列。IOB可以支持各種接口標(biāo)準[20]。以高速串行收發(fā)器[17]的形式提供了額外的連接,這些收發(fā)器通常位于FPGA的邊緣,每組四個。在這些附近,提供了專用塊來支持選定的通信標(biāo)準(如表2.6所示)。

FPGA結(jié)構(gòu)中還存在用于配置、時鐘管理和系統(tǒng)監(jiān)控的其他資源。DSP功能?數(shù)字信號處理(DSP)在很大程度上依賴于定點乘法和加法運算。

常見的DSP任務(wù),如有限脈沖響應(yīng)(FIR)濾波和快速傅立葉變換(FFT)的計算,完全由加法器/減法器、乘法器和采樣延遲構(gòu)成。?對這些操作的支持是通過Xilinx FPGA中的DSP48x切片(特別是UltraScale+設(shè)備中的DSB48E2變體)提供的。圖2.6提供了該切片的簡化框圖,顯示了算術(shù)運算和字長,但省略了一些補充功能,如延遲元件、信號路徑和多路復(fù)用器。DSP48E2切片可以級聯(lián)在一起(不需要使用架構(gòu)資源),以創(chuàng)建有限脈沖響應(yīng)(FIR)濾波器或快速傅立葉變換(FFT)結(jié)構(gòu)。

在需要比單個DSP片上可用的更長的字長的情況下,例如,為了實現(xiàn)高達96位的非常寬的加法器可以組合兩個或多個DSP48E2切片。除了算術(shù)功能外,DSP48E2還可用于桶移位、模式檢測和其他邏輯運算。關(guān)于DSP48E2的完整信息,包括與以前的DSP48x切片相比的改進細節(jié),可以在[21]中找到。

圖2.6:用于高速運算的DSP48E2片的簡化框圖

內(nèi)存支持存儲器可以使用CLB資源在FPGA上實現(xiàn),這通常是存儲少量數(shù)據(jù)的首選方法。對于較大的存儲器,有塊RAM(能夠存儲36Kb,或充當(dāng)兩個較小的18Kb部分),而在UltraScale設(shè)備中,有具有更大存儲能力的Ultra RAM(每個288Kb)??梢酝ㄟ^組合塊RAM或超級RAM來創(chuàng)建更大的存儲器。塊RAM和超級RAM由FPGA上的專用物理塊實現(xiàn),而不是由通用的低電平邏輯元件構(gòu)成。它們能夠在器件支持的最大時鐘頻率下運行,實現(xiàn)高性能操作。如果當(dāng)前配置不使用Ultra RAM,也可以將其斷電,或者在操作設(shè)計不需要時長時間進入睡眠模式。?考慮到備選方案,數(shù)據(jù)存儲有四種可能性,如圖2.7所示。

?圖2.7:FPGA存儲器類型的比較

隨著更大的設(shè)備,特別是Ultra RAM的引入,可在芯片上存儲比前幾代更多的數(shù)據(jù)。這是有利的,因為它減少或消除了對片外存儲器的要求,以及隱含的額外系統(tǒng)成本、接口工作、功耗和延遲,以及性能限制。每種內(nèi)存類型都具有使其成為某些任務(wù)的最佳選擇的特性。根據(jù)所采用的設(shè)計方法,設(shè)計者可以明確地針對特定的內(nèi)存資源,或者允許合成工具做出這些決定。

2.5 比較與討論:FPGA與Zynq與Zynq-MPSoC

本節(jié)將總結(jié)FPGA、Zynq和Zynq MPSoC在架構(gòu)、功耗和性能以及嵌入式系統(tǒng)實現(xiàn)功能方面的差異。還將提及特別適合于這些器件的候選應(yīng)用。關(guān)于設(shè)計方法、嵌入式系統(tǒng)實現(xiàn)和應(yīng)用的進一步討論將在本書后面進行,重點討論Zynq MPSoC。

2.5.1 架構(gòu)

在比較FPGA、Zynq和Zynq MPSoC器件的架構(gòu)時,我們可以總結(jié)出三個關(guān)鍵區(qū)別:

?Zynq和Zynq MPSoC都提供硬處理器,而FPGA則不提供。

?Zynq MPSoC的PS比Zynq的更大、更強、更多樣。

?最大的FPGA比最大的Zynq和Zynq MPSoC設(shè)備提供更多的PL。

Zynq是Xilinx的第一款SoC設(shè)備,將應(yīng)用級處理器與FPGA邏輯相結(jié)合。Zynq MPSoC代表了Zynq的演變,其提供了更廣泛的處理資源;例如,Zynq MPSoC提供實時處理器、圖形處理器以及應(yīng)用處理器。另一方面,Zynq只有一個應(yīng)用程序處理器。FPGA不包括硬處理器,盡管一個或多個“軟”處理器可以合并到基于FPGA的系統(tǒng)中(即,由通用邏輯構(gòu)建,有關(guān)此主題的更多討論,請參見第2.5.3節(jié))。

所有三種器件類型都包括PL。自FPGA首次發(fā)布以來,PL的架構(gòu)已經(jīng)發(fā)展了30多年,已經(jīng)開發(fā)了許多不同的代。另一方面,Zynq和Zynq MPSoC具有與特定代FPGA邏輯相關(guān)的PL區(qū)域的特征區(qū)域。具體來說,Zynq采用7系列邏輯,而Zynq MPSoC采用UltraScale+邏輯。在CLB布局、DSP和存儲器、互聯(lián)、時鐘和電源功能方面存在許多差異。表2.7提供了可用資源的快速比較。我們可以看到,最新的FPGA雖然不包括處理系統(tǒng),但提供的PL量最大,大約是最大的Zynq MPSoC的三倍。

還值得注意的是,Zynq MPSoC設(shè)備包括比Zynq大得多的PL部分,以及擴展的PS功能。?在FPGA和SoC設(shè)備的PL部分,接口資源由通用I/O和高速串行收發(fā)器組成,并由強化的IP資源補充,以支持以太網(wǎng)和PCI Express等標(biāo)準。Zynq和Zynq MPSoC設(shè)備的PS部分提供了進一步的標(biāo)準接口(例如CAN、I2C、USB等)作為強化資源。Zynq MPSoC包括Zynq上不存在的一些硬化界面,例如因特拉肯界面作為硬化塊被包括在選定的Zynq MPC芯片上。

表2.7:FPGA、Zynq-7000 SoC和Zynq-MPSoC之間的資源比較

a.僅在EG和EV設(shè)備中 b.僅在EV設(shè)備中 c.在選定的設(shè)備中2.5.2 功耗和性能 多年來,在提高性能(即最大處理頻率或“速度”)的同時,在降低功耗方面取得了相當(dāng)大的進展。如[15]所述,從1985年引入Xilinx FPGA到2011年發(fā)布7系列器件,能耗(按每個邏輯單元測量)減少了1000倍以上。在同一時期,業(yè)績增長了約100倍。對我們感興趣的設(shè)備進行快速比較是很有用的。

功耗來源 由于便于編程和保持設(shè)備配置所需的底層架構(gòu),可編程設(shè)備的功耗自然高于固定功能等效IC。 在FPGA術(shù)語中,我們通常指功耗的兩個元素,靜態(tài)功率和動態(tài)功率,其可以定義如下:靜態(tài)功率—就保持其配置而言,這包括芯片運行所需的功率。靜態(tài)功率是由于晶體管漏電流(即即使晶體管處于“關(guān)斷”狀態(tài)也會流過晶體管的電流)而產(chǎn)生的,并且隨著器件的尺寸(即晶體管數(shù)量的增加)而增加。靜態(tài)功耗也隨工藝技術(shù)、電壓和工作溫度而變化。

?動態(tài)功率—

由于開關(guān)活動,芯片上的設(shè)計操作產(chǎn)生的額外功率。它是頻率相關(guān)的,例如,如果觸發(fā)器在200MHz下切換,將比100MHz消耗更多的功率。動態(tài)功耗可以隨著時間的推移而變化,這取決于電路元件的活動,也取決于所提供的電壓電平以及用于實現(xiàn)設(shè)計的邏輯和路由。工程師可以通過優(yōu)化其低功耗設(shè)計來影響動態(tài)功率,例如,通過確保電路元件的時鐘頻率不高于所需的頻率。?Zynq和Zynq MPSoC的PS也具有相關(guān)的功率要求。功耗的提高工藝技術(shù)的進步,即使用具有越來越小的特征尺寸的ASIC制造工藝,在一定程度上解釋了上述功耗和性能的改進。這在很大程度上符合摩爾定律(也就是說,英特爾聯(lián)合創(chuàng)始人戈登·摩爾在1965年做出的預(yù)測,即芯片上的晶體管數(shù)量大約每兩年翻一番)。然而,現(xiàn)在人們普遍猜測,摩爾定律的終點可能很近[2],[5]。以較小的工藝幾何形狀進行制造變得越來越困難,成本也越來越高。?在FPGA方面,隨著工藝幾何結(jié)構(gòu)的縮小,仍然可以實現(xiàn)性能增益,但額外的漏電流會增加靜態(tài)功耗[4],[10]。這限制了純粹通過在較小尺寸中制造相同類型的晶體管來實現(xiàn)進一步的FPGA/SoC功率降低的可能性。然而,晶體管結(jié)構(gòu)的轉(zhuǎn)變,從平面式到“FinFET”,帶來了好處。Xilinx首次在其16nm器件中采用FinFET,其中包括UltraScale+FPGA和Zynq MPSoC[13]。為了應(yīng)對制造趨勢的放緩,重點已轉(zhuǎn)向架構(gòu)改進,以及開發(fā)設(shè)計工具和方法,使系統(tǒng)能夠更高效地實現(xiàn)。在UltraScale和最近的UltraScale+FPGA系列中,引入了新的體系結(jié)構(gòu)功能來降低功耗,例如對CLB體系結(jié)構(gòu)、DSP48x切片和內(nèi)存結(jié)構(gòu)的改進,以及更高效的互連。還有一些設(shè)備選項可以在較低的核心電壓下運行,這允許設(shè)計者權(quán)衡功耗與性能[14]。諸如時鐘門控(即,確保設(shè)備的未使用部分不主動工作并消耗能量)之類的技術(shù)也在降低功耗方面發(fā)揮作用。7系列FPGA和Zynq引入了一種“智能”時鐘門控功能,可以自動應(yīng)用時鐘門控,而無需設(shè)計師手動將其納入系統(tǒng)。Xilinx設(shè)計工具定期更新,以利用新一代的架構(gòu)發(fā)展。具體而言,在Zynq MPSoC中,平臺管理單元(PMU)能夠控制功率域和構(gòu)成PS的各種處理引擎。由于大多數(shù)設(shè)計不會使用所有可用功能,因此可以通過關(guān)閉未使用的功能來實現(xiàn)節(jié)能[12]。PMU還具有其他系統(tǒng)初始化功能,將在第10章中進一步討論。性能計算性能通常根據(jù)最大處理頻率進行量化。為了比較性能,考慮PS和PL元件的最大時鐘頻率是有趣的。

表2.8:UltraScale+FPGA、Zynq-7000和Zynq-MPSoC的最大時鐘頻率

a.實際數(shù)字取決于速度等級和工作電壓。

總之,F(xiàn)PGA和SoC器件的功耗密切相關(guān),因為所有SoC都包括與FPGA有效相同的PL區(qū)域。與Zynq和Zynq MPSoC相比,由于UltraScale+ FPGA體系結(jié)構(gòu)中的各種優(yōu)化,Zynq MP SoC設(shè)備的PL功耗(每個邏輯單元)更低,總體性能更高。就PS而言,Zynq MPSoC架構(gòu)更為復(fù)雜,提供了更高的性能,還包括用于電源管理的附加功能。

2.5.3 嵌入式系統(tǒng)實現(xiàn)

用FPGA等可編程器件實現(xiàn)嵌入式系統(tǒng)的愿望推動了Xilinx SoC器件的發(fā)展,以前是Zynq,最近是Zynq-MPSoC。?嵌入式系統(tǒng)(通常是一個或多個處理器、存儲器、外圍設(shè)備和互連,以及與外部存儲器或其他組件的連接)可以使用單個可編程器件創(chuàng)建。

有了處理器,系統(tǒng)可以支持軟件應(yīng)用程序,通常在操作系統(tǒng)上運行。該器件的可編程特性具有現(xiàn)場升級和運行時重新配置的常見優(yōu)勢,F(xiàn)PGA邏輯的并行架構(gòu)支持加速適當(dāng)?shù)娜蝿?wù)。

Zynq和Zynq MPSoC處理器具有相關(guān)聯(lián)的存儲器以及所選元件之間的互連。與Zynq相比,該Zynq MPSoC具有更多的專用處理元件。例如,已經(jīng)引入了專用實時處理器來補充應(yīng)用程序處理器。FPGA支持嵌入式系統(tǒng)設(shè)計已經(jīng)有一段時間了,最顯著的是通過MicroBlaze處理器,這是一種由用戶配置為IP核心的“軟”處理器,由FPGA上的CLB資源構(gòu)建。(這里的術(shù)語“軟”與“硬”形成對比,這意味著設(shè)備上存在專用處理器。)

MicroBlaze等軟處理器的一個明顯優(yōu)勢是其靈活性。這些處理器可以針對預(yù)期應(yīng)用進行定制,例如,如果不需要浮點支持,則可以省略浮點支持,這減少了實現(xiàn)處理器所需的PL資源。明顯的缺點是性能劣勢,硬處理器的性能遠高于軟處理器。為了量化差異,MicroBlaze處理器在UltraScale FPGA中的工作頻率最高可達400MHz左右(取決于MicroBlaze核心的配置)。

與Zynq和Zynq MPSoC設(shè)備中的應(yīng)用程序處理器相比(見第27頁表2.8),這是一個低得多的性能水平。?因此,我們可以得出結(jié)論,SoC對于嵌入式系統(tǒng)來說更為優(yōu)化。它們提供專用的高性能處理資源,能夠在比基于FPGA的軟處理器高得多的時鐘頻率下工作。Zynq MPSoC具有豐富多樣的處理資源,可實現(xiàn)實時處理和圖形處理。同時,仍然有機會在PL部分中使用一個或多個MicroBlaze實例,以補充位于PS中的主處理器。

2.5.4應(yīng)用

FPGA已成為需要實現(xiàn)計算復(fù)雜系統(tǒng)的應(yīng)用程序的首選平臺,尤其是未來需要更新的情況下。由于FPGA具有可重新編程的特性,它支持現(xiàn)場升級,甚至可以實現(xiàn)動態(tài)重新配置的系統(tǒng),即將器件重新編程作為正常操作的一部分。特別適合FPGA的應(yīng)用示例包括移動基站信號處理、視頻壓縮和解壓縮、雷達系統(tǒng)、數(shù)據(jù)中心的高速交換和路由基礎(chǔ)設(shè)施等。每種情況下,處理都需要具有確定性和高性能,同時為引入新標(biāo)準、配置或算法提供了潛力。

即使在可編程性不是關(guān)鍵問題的情況下,由于開發(fā)ASIC的非經(jīng)常性工程(NRE)成本很高,F(xiàn)PGA通常比體積低于某個閾值的ASIC更受歡迎。人們普遍認為,這一閾值正在上升,這意味著ASIC現(xiàn)在只被認為適用于非常大容量的應(yīng)用,或者當(dāng)有特殊要求時,如最小形狀因數(shù)或非常低的功率設(shè)計。迄今為止提到的所有FPGA優(yōu)點也適用于Zynq和Zynq MPSoC。

通過增加處理器功能,這些設(shè)備專門滿足可能需要單獨處理器和FPGA的應(yīng)用,將運行軟件代碼的能力與高速并行處理相結(jié)合。在Zynq MPSoC中,專用的實時處理能力、GPU和視頻編解碼器使系統(tǒng)能夠在單個設(shè)備上實現(xiàn)復(fù)雜的系統(tǒng)。應(yīng)用包括“大數(shù)據(jù)”分析、高級駕駛員輔助系統(tǒng)(ADAS)、廣播攝像設(shè)備、導(dǎo)航系統(tǒng)和許多其他系統(tǒng)。我們將在第5章中進一步探討應(yīng)用程序。

2.6 章節(jié)綜述

本章介紹并比較了FPGA、Zynq和Zynq MPSoC。概述了每種設(shè)備的基本結(jié)構(gòu)和特點,并介紹了它們的重要特點。我們特別看到,Zynq和Zynq MPSoC為標(biāo)準FPGA可編程邏輯添加了一個處理系統(tǒng),并且與Zynq相比,Zynq MPSoC中的處理系統(tǒng)提供了擴展的功能和性能。同樣顯而易見的是,隨著Zynq MPSoC的發(fā)布,SoC器件上提供的PL已經(jīng)大大擴展,我們注意到UltraScale+ FPGA所享有的功率和性能優(yōu)勢也適用于Zynq MP SoC設(shè)備。

基于PYNQ和機器學(xué)習(xí)探索MPSOC-讀書筆記(開篇)

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

專注FPGA技術(shù)開發(fā),涉及Intel FPGA、Xilinx FPGA技術(shù)開發(fā),開發(fā)環(huán)境使用,代碼風(fēng)格、時序收斂、器件架構(gòu)以及軟硬件項目實戰(zhàn)開發(fā),個人公眾號:FPGA技術(shù)實戰(zhàn)。