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