Zynq MPSoC是Zynq-7000 SoC(之后簡稱Zynq)的進化版本。Zynq是賽靈思發(fā)布的集成PL(FPGA)和PS設(shè)計的最早的一代產(chǎn)品。如圖2.1所示,在相對較高層次對比了三種器件。Zynq MPSoC的PS部分比Zynq的PS部分面積更大,也更復(fù)雜。本章,將介紹這三種器件的特點。
2.1 技術(shù)時間線
進一步介紹之前,需要指出這三種產(chǎn)品都有各自的優(yōu)勢,在選擇時,并不是越貴越好,而是最適合我們設(shè)計的選擇才是最好的選擇。這三種產(chǎn)品都有自己在成本,性能等方面最好的平衡,這使其可適用于不同的任務(wù)和應(yīng)用。
因為大多數(shù)讀者比較熟悉Zynq,因此我們從它開始介紹,以方便后面我們將Zynq MPSoC與其進行對比。因為FPGA 是所有SoC產(chǎn)品的PL部分,因此,我們稍后再做介紹。
2.2 Zynq-7000 SoC
Zynq-7000 SoC是Xilinx發(fā)布的第一款SoC器件。集成了基于FPGA的PL部分和基于Arm的PS部分。這里只對其做簡單介紹。更詳細介紹可參考[The Zynq Book](http://www.zynqbook.com/)該書已出中文版。
2.2.1 Zynq架構(gòu)特征
從高層次的角度去看,Zynq架構(gòu)包含PS和PL兩部分以及之間的互連線。如圖2.3所示?;ヂ?lián)遵循AXI標(biāo)準,AXI標(biāo)準是Arm開發(fā)的片上通信技術(shù)標(biāo)準。
將PS和PL集成到一起一方面能夠為運行嵌入式系統(tǒng)中的基于軟件的部分提供專用的優(yōu)化的資源(我的理解是適合運行于處理器的部分),另一方面能夠發(fā)揮FPGA的優(yōu)勢(尤其時其并行性和可配置能力)。AXI接口來連接這兩個不放呢,AXI是專為SoC應(yīng)用優(yōu)化的一個接口標(biāo)準。
圖2.3中并不是按尺寸比例畫的,對于不同的Zynq器件,他們有相同的PS架構(gòu),但是PL部分的尺寸不同。而對于Zynq和Zynq MPSoC,其PS和PL部分都是不同的。
Zynq PS部分
如圖2.3的藍色部分,是一個應(yīng)用級的處理器以及相關(guān)元件。如下所示:
應(yīng)用處理單元Application Processor Unit (APU) -這部分包括一個雙核 Arm Cortex-A9處理器,以及256KB的片上緩存。
互連線和存儲接口 -用來進行PL和PS通信以及與各自的片外存儲單元通信
I/O外設(shè) -一系列集成的外設(shè)接口,包括一些常用的標(biāo)準例如 USB,UART,SPI,I2C等
Zynq的PS部分包含兩個處理核,這使得設(shè)計人員可以在兩個核上運行相同操作系統(tǒng),或者每個核運行一個不同的操作系統(tǒng)。后面我們會對比Zynq核Zynq MPSoC的PS架構(gòu),并說明新器件增加的一些功能,實際上,Zynq MPSoC具有6個處理核。
最近(應(yīng)該是2019年),一個輕量級的Zynq版本,Zynq-7000S發(fā)布,該版本PS只包含一個Cortex-A9的處理器。
Zynq PL部分
Zynq的PL部分是基于Xilinx的FPGA器件的,其PL部分所對應(yīng)的器件性能決定PL性能,包括Xilinx的Artix-7,Kintex-7以及Virtex-7系列器件。像這些FPGA一樣,其PL部分包含DSP48x slices(高速計算資源),Block RAMs,高速收發(fā)器件,以及集成的通信模塊。以及通用邏輯。2.4.3節(jié)對現(xiàn)代FPGA的這些模塊進行進一步介紹。
Zynq PS與PL部分接口
Zynq的PL和PS部分有9個接口,包括4個“通用目的接口”,四個“高性能”接口,以及1個用來PS中APU和PL通信的“加速一致性”接口。
2.2.2 Zynq器件
表2.1對Zynq-7000系列器件的關(guān)鍵特征和參數(shù)進行了對比(注意這里并沒有給出單核的Zynq-7000S系列對比,可查看Zynq-7000 SoC Data Sheet: Overview文檔)。
對于列出Zynq-7000系列器件,除了支持的最大時鐘頻率其PS部分是沒有區(qū)別的。而其PL部分與其所基于的FPGA型號相似,例如基于Artix-7的PL部分與Artix-7資源類似。不同型號的PL部分在DSP slices,Block RAM以及輸入輸出資源上有所區(qū)別。
2.3 Xilinx Zynq MPSoC
Zynq MPSoC是Zynq的進階版本,其PS部分更加復(fù)雜,PL部分也由Xilinx7系列升級到UltraScale+ FPGA架構(gòu),對于大多數(shù)Zynq MPSoC器件,其PL部分的資源和面積要比Zynq系列要多。
2.3.1 Zynq MPSoC發(fā)布
Zynq MPSoC是在Zynq發(fā)布四年之后的2015年發(fā)布的。在這四年期間,Zynq在應(yīng)用于了很多領(lǐng)域,因此誕生了“FPGA+processor”的需求。
Zynq MPSoC提供了加強版的PS以及更多資源和面積的PL.包含不同子系列以滿足不同應(yīng)用的需求,其不同主要體現(xiàn)在PS資源上。三個子系列分別由兩個大寫字母表示,分別為CG系列,EG系列以及EV系列,這兩個字母的意思如表2.2所示。
Zynq MPSoC并不是Zynq的替代品,只是以相同的形式提供了一個擴展增強的解決方案。Zynq對于更適用相對來說低消耗和稍微簡單的系統(tǒng)。
2.3.2 Zynq MPSoC架構(gòu)及其特點
Zynq MPSoC的三個子系列PS和PL部分資源如表2.4,在后面幾章本書會詳細介紹這些特點。
Zynq MPSoC架構(gòu)的另外一個重要特點是其電源管理能力。該器件被分為四個電源區(qū)域,可以被單獨控制,這意味著可以給閑置部分斷電(power down),提高電源效率。另外,Zynq MPSoC架構(gòu)的安全方面也得到了進一步加強。
額外需要強調(diào)的是, Zynq MPSoC架構(gòu)PL部分所采用的UltraScale+ FPGA架構(gòu)(2.4.3節(jié)討論)相對于Zynq所采用的7系列也有很大增強。兩個非常重要的特征是其包含了UltraRAM以及DSP由DSP48E1發(fā)展為DSP48E2。
該器件系列的PL部分對于不同型號資源也不同,表2.3給出了最少和最多資源的情況,與Zynq的PL部分(表2.1)相比,Zynq MPSoC具有更多的資源,適合開發(fā)對PL資源要求更高的加速應(yīng)用。
2.4 FPGA
FPGA是以上兩種器件PL部分的基礎(chǔ),也是最早出現(xiàn)的器件。因此我們對其發(fā)展進行回顧,接著介紹一些應(yīng)用,最后介紹現(xiàn)代FPGA技術(shù)的架構(gòu)和特征。
2.4.1 什么是FPGA
(FPGA介紹資料較多這不再贅述及翻譯)
2.4.2 FPGA發(fā)展
Xilinx的FPGA架構(gòu)從最開始的只有64個觸發(fā)器和3輸入查找表(LUT實現(xiàn)邏輯功能)。隨著FPGA技術(shù)的發(fā)展,其面積不斷增大,邏輯資源不斷增加。其架構(gòu)也在發(fā)展,,功耗不斷降低,越來越能夠用于更高的頻率。而且大量的專用資源例如高速存儲器,計算模塊,時鐘和互聯(lián)也在不斷發(fā)展。
從FPGA的規(guī)模來看,用“邏輯單元(logic cells)”來度量邏輯密度,我們從稍微抽象的較低層次考慮體系結(jié)構(gòu)之間的差異。圖2.4.張圖總結(jié)了FPGA在“邏輯單元”方面的發(fā)展。以5年為一個時間節(jié)點展示了過去15年來發(fā)展。并將其與第一塊FPGA(1985年發(fā)布)對比,可以看到,如今的FPGA即使相對于過去10年的發(fā)展已經(jīng)相當(dāng)大,更不用是更早期的FPGA。可以看到,第一塊FPGA在圖中左側(cè)只能用一個點來表示。另外,今年,也有一些比較先進但相對低端的設(shè)備可供需求不高的開發(fā)者選擇。大框中的小框代表該系列較低端的器件。
僅從邏輯單元方面對比,表2.5給出了XC2064和如今最先進的器件Virtex UltraScale+ VU13P的對比。這還不包括近年來不斷發(fā)展的架構(gòu)等更先進特征的發(fā)展。
Xilinx基礎(chǔ)的FPGA結(jié)構(gòu)仍然是一個二維的數(shù)字邏輯元件陣列,以CLB分組。每一個CLB包含少量的觸發(fā)器(flip-flop)和查找表(LUT),其中LUT用來實現(xiàn)布爾邏輯函數(shù),小塊存儲器以及移位寄存器。從更底層面看,CLB的組成隨著時間在不斷發(fā)展,現(xiàn)代的CLB比早期的CLB含有更更多的邏輯資源。我們保留了這個術(shù)語,CLB仍然是將可編程互連線(programmable interconnects)和開關(guān)矩陣(switch matrices)連接到一起。當(dāng)然這種連接技術(shù)也有了很大提高。在圖2.5中,可以看到CLB的陣列結(jié)構(gòu)的一個圖示,開關(guān)矩陣和可編程互連線可在圖2.5底部看到。
隨著應(yīng)用要求的發(fā)展,F(xiàn)PGA架構(gòu)也在不斷發(fā)展,更大的存儲單元(從Bock RAM 到最近的 Ultra RAM)提供了更大密度更高速度的存儲能力,例如更大的存儲使得能夠在器件中存儲視頻數(shù)據(jù)。在2000年左右集成了乘法器,之后又集成了算術(shù)處理模塊(DSP48x slices)能夠進行乘法,加減法以及其他的邏輯計算。當(dāng)然,DSP這些年來也有了很大的發(fā)展。
隨著FPGA技術(shù)越來越多的應(yīng)用于基礎(chǔ)通信設(shè)施,數(shù)據(jù)中心,高性能云計算,支持包含高速串口的IP塊價值越來越大。
如表2.6所示,除了更大的面積,最新的FPGA包含更加專用的資源和功能。
下一節(jié)我們繼續(xù)討論UltraScale+ FPGAs的更多的細節(jié)。
現(xiàn)代FPGA架構(gòu):UltraScale+
現(xiàn)代的FPGA架構(gòu)本質(zhì)上也是一個器件的二維陣列。從某種意義上與早期的器件類似。其特點正如之前強調(diào)的時含有更豐富的資源,器件面積更大。
圖2.5時UltraScale+ FPGA資源的一個圖示,從較高的一個抽象層次來看,該圖可認為由豎直方向的一塊塊區(qū)域組成。大部分區(qū)域?qū)儆谕ㄓ媚康倪壿嫞╣eneral purpose logic)。例如由查找表和觸發(fā)器組成的CLB。還有一部分區(qū)域是Ultra RAM存儲塊以及DSP58x計算單元,排列在單或雙列,組成較窄的豎直條紋區(qū)域。
在接口方面,輸入/輸出塊被排列在bank(不好翻譯)中,并在主要資源陣列中形成列。輸入輸出塊(IOB)支持各種接口標(biāo)準。另外的連接是以高速串行收發(fā)器的形式提供的,這些收發(fā)器通常位于FPGA邊緣的四組。在這些基礎(chǔ)上,提供了專用塊來支持選定的通信標(biāo)準(見表2.6)。在FPGA結(jié)構(gòu)中還存在用于配置、時鐘管理和系統(tǒng)監(jiān)控的額外資源。
DSP功能
數(shù)字信號處理(DSP)的大部分操作都是定點數(shù)乘法和加法操作。常見的DSP任務(wù),如有限脈沖響應(yīng)(FIR)濾波和快速傅里葉變換(FFT)的計算,主要操作是加法/減法、乘法和采樣延遲(sample delays)。在Xilinx FPGA中,這些操作主要由DSP48x slice完成。這個slice的簡化框圖如圖2.6所示,該圖顯示了其算法操作和字長(wordlengths),省略了一些附加功能。例如延遲元件,信號路徑以及多路復(fù)用器等。為了實現(xiàn)FIR或者FFT,可以將DSP48E2 slices級聯(lián)到一起(不需要消耗FPGA資源)。例如需要實現(xiàn)一個比單獨DSP slice字長更長的加法器——比如實現(xiàn)一個96位的加法器——可以將多個DSP48E2組合到一起。
除了計算功能外,DSP48E2 slice還可用于桶形移位寄存器、模式檢測(pattern detection)以及其他邏輯操作。更多關(guān)于DSP48E2的完整信息,包括與之前的DSP48Ex相比的改進細節(jié)??梢圆榭次臋n:UltraScale Architecture DSP Slice: User Guide
存儲支持
FPGA中的存儲器可以由CLB資源組成,由CLB組成的的存儲資源經(jīng)常被用來存儲少量數(shù)據(jù)。對于較大的存儲,可以用Block RAM(能夠存儲36Kb,或分為兩個18Kb的存儲器),在UltraScale器件中,集成了具有更大存儲能力的Ultra RAM(每個288Kb)。更大的存儲器可以通過組合Block RAM 或者Ultra RAM實現(xiàn)。
Block RAM和Ultra RAM是作為FPGA上的專用物理block實現(xiàn)的,而不是由通用的更底層的邏輯元件組成的。它們支持高性能操作,能夠以設(shè)備支持的最大時鐘頻率運行。Ultra RAM在不用時可以單獨斷電。關(guān)于Ultra RAM的更多細節(jié)參考文檔:UltraRAM: Breakthrough Embedded Memory Integration on UltraScale+ Devices。
圖2.7給出了FPGA上四種可用的存儲資源。
隨著器件面積的增加,尤其是Ultra RAM的引入,片上存儲能力不斷增強,這使得可以減少甚至消滅對片外存儲的依賴。這使得我們減少了額外的系統(tǒng)消耗,接口努力(effort),能耗以及延遲和性能限制。圖2.7的每一種存儲都有各自的特征,在不同的任務(wù)中可以選擇合適的。取決于采用的設(shè)計方法,設(shè)計人員能夠選擇特定的存儲資源或者直接讓綜合工具去選擇。
2.5 對比和討論:FPGA,Zynq和Zynq MPSoC
這一節(jié)總結(jié)了FPGA,Zynq和Zynq MPSoC的不同特點,包括其架構(gòu)、功耗、性能以及他們在嵌入式系統(tǒng)實現(xiàn)時的特點。
2.5.1 架構(gòu)
(本小節(jié)大部分內(nèi)容前面都已經(jīng)提到過這里只給出一個結(jié)論性表格,更詳細的總結(jié)可參考原書)
2.5.2 功耗和性能
多年來,在降低電力消耗的同時,在提高性能(即。最大處理頻率,或“速度”)。從1985年發(fā)布的Xilinx FPGA到2011年7系列器件,能耗(每個邏輯單元測量)減少了1000倍以上。同時,性能增加了大約100倍。我們下面對這些器件進行一個簡單的比較。
功耗
(參考原書)
性能
計算性能通常用最大處理頻率來度量。為了比較性能,表2.8比較了PS和PL元件的最大時鐘頻率。
總之,F(xiàn)PGA和SoC設(shè)備的功耗是密切相關(guān)的,因為所有的SoC都包括一個與FPGA有效相同的PL區(qū)域。與Zynq和Zynq MPSoC相比,Zynq MPSoC器件的中的功耗(每個邏輯單元)較低,整體性能較高,這是由于UltraScale+ FPGA體系結(jié)構(gòu)的各種優(yōu)化所致。在PS方面,Zynq MPSoC體系結(jié)構(gòu)更加復(fù)雜,提供了更高的性能,還包括了電源管理等附加特征。
原文標(biāo)題:FPGA、Zynq 和 Zynq MPSoC簡析及架構(gòu)分析
文章出處:【微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責(zé)任編輯:haq
-
FPGA
+關(guān)注
關(guān)注
1625文章
21620瀏覽量
601232 -
MPSoC
+關(guān)注
關(guān)注
0文章
196瀏覽量
24230
原文標(biāo)題:FPGA、Zynq 和 Zynq MPSoC簡析及架構(gòu)分析
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論