ZYNQ嵌入式處理器與FPGA集成的獨特創(chuàng)舉
摘要:Xilinx的EPP(可擴展處理平臺)——Zynq-7000系列將業(yè)界標準的ARM雙核Cortex-A9 MPCore處理系統(tǒng)與Xilinx可擴展的28nm FPGA架構整合在一起,在單一芯片上集成了“嵌入式處理器+FPGA”等性能。
本文引用地址:http://m.butianyuan.cn/article/236340.htm引言
全球可編程平臺領導廠商賽靈思(Xilinx)公司今年的市場重點是28nm的7系列產(chǎn)品及Zynq。不久前,Xilinx公司才宣布開始向客戶出貨首款 Zynq可擴展處理平臺(EPP)。那么,Zynq是什么樣的產(chǎn)品?為何Xilinx稱“Zynq為Xilinx打開了新的篇章,同時為整個嵌入式行業(yè)和FPGA業(yè)也打開了新的篇章”?
28nm FPGA的優(yōu)勢
首先,Zynq是基于28nm制程的FPGA。Xilinx的全球總裁兼CEO Moshe Gavrielov指出[1],以28nm制程來看,ASIC與ASSP的一次性費用(NRE)將高達5000萬美元,若重新設計還得再付擔原費用的50%。此外,隨著全球化趨勢及網(wǎng)絡的普及,競爭者不再只是本國而是來自全世界的搶食,系統(tǒng)對產(chǎn)品設計性價比的考量也更加嚴峻。因此,獨特性及靈活性成為大多數(shù)廠商設計考量的著眼點。
因此,以靈活性、上市快及較低成本取勝的FPGA處于健康的增長態(tài)勢(圖1)。
ARM的A9 MPCore受到熱捧
Xilinx為何選擇了跟 ARM 合作,來開發(fā)一個雙核的Cortex-A9 MPCore 處理器?因為ARM處理器在業(yè)界領先,已被客戶廣泛采用,還有其總體生態(tài)環(huán)境、支持工具都比較成熟。
經(jīng)過20年的發(fā)展,在處理器世界中,盡管處理器的用量越來越大,但主流平臺的數(shù)量越來越少,美國《Microprocessor Forum》雜志認為,1992年活躍著眾多的處理器平臺(圖2),但是2009年只有四大主流平臺:ARM,x86,PPC(PowerPC)和MIPS平臺。其中ARM以生態(tài)環(huán)境豐富成為矚目的熱點之一。ARM總裁Tudor Brown稱,ARM全球有合作伙伴900家企業(yè),合作伙伴的勢頭發(fā)展良好(圖3)。并承諾:“今后,ARM將持續(xù)地在產(chǎn)品路線圖上和伙伴關系上投資,保證客戶有強大的渠道和生態(tài)系統(tǒng)。”
盡管ARM9和ARM7是ARM全世界授權量最多的(圖4) ,也是出貨量最大的;但是Cortex-A系列是所有系列里面增長速度最快的,甚至超過M系列。
除了Xilinx的Zynq家族外,很多公司已經(jīng)或正在做基于Cortex-A9的創(chuàng)新,智能手機、平板電腦、3D TV;網(wǎng)絡SoC(系統(tǒng)芯片)、網(wǎng)絡服務器、超級計算機……。
這些企業(yè)之所以選擇A9,因為它是ARM處理器系列中較高性能的一款產(chǎn)品,采用了ARMv7架構。A9處理器的設計是基于先進的推測型八級流水線(speculating 8-stage pipeline),該流水線具有高效、動態(tài)長度、多發(fā)射超標量及無序完成特征,因此這款處理器的性能、功效和功能均達到了高水平,能夠滿足消費、網(wǎng)絡、企業(yè)和移動應用等領域尖端產(chǎn)品的要求。
處理器+FPGA整合:1+1>2
市場調(diào)查表明,F(xiàn)PGA目前在全部嵌入式系統(tǒng)中的使用比例占50%~70%[4]。因此這個市場非常巨大,而通常的工程方案是“嵌入式處理器+FPGA”。“但是我們的客戶并不滿足于此,或者說在客戶的應用里目前的器件都不能滿足他們的需求,無論是傳統(tǒng)的單個處理器、單個FPGA、ASIC或者是ASSP,特別是對于軟件開發(fā)公司來說,對FPGA編程相當困難。我們發(fā)現(xiàn)到2014年有約127億美元的市場是傳統(tǒng)FPGA沒法服務的。”Xilinx全球市場營銷高級副總裁Vin Ratford說道。
當前的四大挑戰(zhàn)是:提高系統(tǒng)性能,降低系統(tǒng)功耗,減少電路板的面積,降低總體系統(tǒng)的成本。
而一塊Zynq器件就可以實現(xiàn)“嵌入式處理器+FPGA”功能。尤其Zynq不是僅僅把 FPGA 跟處理器簡單地集成在一起,更是兩者的有機結合。如圖5,傳統(tǒng)的FPGA與處理器之間的互聯(lián)是PCIe等,而Zynq采用了AXI4連接總線,這樣的布局可以在FPGA 與處理器之間形成很寬的帶寬。圖5上方是雙芯片方案??梢钥吹紽PGA與處理器中間互聯(lián)利用 PCIe的互聯(lián)帶寬較窄,而且PCIe通道也較少,這意味著有時超過一半的FPGA會用來支持帶寬;并且兩個器件分別接著外帶的存儲器。圖5下方可以看到使用Zynq后,可以把中間的PCIe連接取走,再加上存儲器可以和FPGA 分享,這樣可以大大降低成本和功耗。
ARM中國總裁吳雄昂指出:“眾所周知,新一代的系統(tǒng)處理,不只是CPU的功能,接口的處理能力在很大程度上決定了整個系統(tǒng)的應用能力。所以我們往往看到同樣一個設計,因為良好的接口的融合,功能會相差50%。我們很高興Xilinx的Zynq在新的AMBA AXI4 (Advanced eXtensible Interface 4) 接口上達到了很高的數(shù)據(jù)吞吐能力。”
Zynq以ARM為核心
Zynq盡管是由FPGA廠商—Xilinx主導的,但Xilinx稱其是全新的EPP(可擴展處理平臺),應用時,Zynq上電后處理系統(tǒng)會自動啟動,而不會是FPGA先啟動。
實際上,Zynq-7000系列具有完整的ARM處理系統(tǒng)(圖6),是以ARM Cortex-A9 MPCore為中心,還集成了存儲器控制器和外設;另外,緊密集成可編程邏輯方面,圖6的黃色部分是FPGA,它們之間約有3000個內(nèi)部互連,內(nèi)部互連十倍于現(xiàn)有的雙芯片方案;除此之外,有靈活的I/O陣列,包括處理器專用I/O,可以支持多重標準的I/O,還集成了高性能串行收發(fā)器,雙12位的模數(shù)轉換器的輸入部分,輸入可以直接接到器件混模的架構里。
該器件的軟硬件都可以編程,如果是處理器的開發(fā)人員,可以用處理器軟件來做開發(fā),擴展到它的硬件FPGA的部分;如果是硬件的工程師,可以用FPGA做硬件加速器。
Zynq-7000的ARM處理系統(tǒng)
包括ARM雙Cortex-A9 MPCore、存儲器接口和通用外設三部分,并用AXI4實現(xiàn)開放式的標準互聯(lián)。
具體來看,Zynq處理器的ARM內(nèi)核架構帶NEON擴展的雙ARM Cortex-A9 MPCore,這種架構專門用于支持圖形應用或者是圖形加速器,支持單、雙精度浮點運算,工作頻率可達到800MHz。
存儲器的接口也是對應可以支持DDR2、DDR3、LPDDR2、ZxQSPI、NOR、NAND閃存,內(nèi)含了L1和L2的高速緩存,總量可以達到512KB,同時還有片上的256KB存儲器。
通用外設具有集成的存儲器映射外設。另外還有強大的AXI4開放式標準互聯(lián)。AXI4是高帶寬、低延時的行業(yè)標準,是ARM自己定義的AMBA第四代總線架構,專門用作連接ARM的處理器、外設和FPGA。而且?guī)в蠥CP的端口,此端口讓開發(fā)工程師可以增加更多的軟核處理器。整個處理系統(tǒng)是可以單獨啟動的,也就是說,軟件工程師可以完全地對處理器編程,而不需要硬件工程師的協(xié)助。
Zynq的應用
在Zynq的四個系列里,7010和7020針對較低端的應用,像消費類或者是汽車輔助駕駛應用等,7030和7045針對工業(yè)、通訊、國防、廣播級的應用等。
其中,2011年初暫定為Zynq-7040的型號現(xiàn)被7045取代,主要是為了滿足有線、無線和視頻廣播市場領域客戶新的高端應用需求,并將當前該系列采用12.5 Gbps技術的收發(fā)器數(shù)量增加至16個。這將實現(xiàn)更多的橋接應用,并實現(xiàn)更寬的高速DAC/ADC連接。新增的可編程邏輯功能(DSP、BRAM 和邏輯)可為設計人員帶來更高的信號處理能力,以滿足濾波、數(shù)字轉換以及其它功能要求,同時還能靈活地定制各種特定功能。Zynq-7045是Zynq系列的首款高端器件,其應用范圍從下可以擁有30,000邏輯單元,專門針對成本敏感型應用如工業(yè)、汽車電子以及消費類電子,從上邏輯單元可達350,000個,幫助客戶在單一可擴展平臺上,實現(xiàn)需要最高容量及性能的多種應用。
“客戶會根據(jù)不同的應用選用不同的器件,甚至同時選用多個器件,這就體現(xiàn)了在Xilinx的7系列里,統(tǒng)一架構的優(yōu)勢可以在不同的平臺上無縫移植IP。”Vin說道。而Zynq器件最便宜的低于15美元。
具體應用方案,以Zynq用于汽車駕駛員輔助為例(圖7),據(jù)統(tǒng)計,駕駛員20分鐘就會有疲勞現(xiàn)象,效率降低,智能的好處可以兼顧多畫面和攝像頭。例如一些汽車里的“鳥眼”360°控制雷達,可以把很多圖像連在一起,開車時駕駛員可以觀察到360°廣角的情況。Zynq可以支持包括用視頻攝像頭去配合紅外傳感器和雷達傳感器看不同的路面狀況,比如是否壓線、走出路面等,然后做出調(diào)整。“無論是價格低廉的大眾還是高端的奔馳類汽車,7010和7020都可以發(fā)揮效能。”Vin稱。
在工廠自動化方面,Zynq的靈活性可以滿足系統(tǒng)上市時間的需求,同時提供系統(tǒng)內(nèi)編程的功能,讓客戶在單一的平臺上可以支持更多的標準,而功耗和成本可以滿足需求。從性能來講,它可以實施工業(yè)聯(lián)網(wǎng)和電機控制硬件加速器,并提供高帶寬、低延時。
Cortex-A9與MicroBlaze互補
那么,Xilinx的傳統(tǒng)處理器核——MicroBlaze軟核與PowerPC硬核的未來會如何?據(jù)悉,Xilinx的32位軟核MicroBlaze還在使用,但與ARM Cortex-A9定位不同。MicroBlaze是相對較小、性能較低的核,二者所針對的應用領域也不一樣。Xilinx將繼續(xù)發(fā)展MicroBlaze。
未來PowerPC不會在Xilinx的新產(chǎn)品中出現(xiàn),但是現(xiàn)在還會繼續(xù)支持原有的客戶。
Zynq定位更高的應用價值
Zynq會與其他Cortex-A9 ASSP競爭嗎?Xilinx認為不會直接競爭,因為“不是Xilinx的目標市場”。Xilinx全球高級副總裁兼亞太區(qū)執(zhí)行總裁湯立人稱。“Xilinx的產(chǎn)品是可擴展處理平臺(EPP)。而傳統(tǒng)的A9產(chǎn)品已經(jīng)是定制好的,例如已經(jīng)集成了一定的存儲、PCIe等。”但由于Zynq把FPGA邏輯與ARM連接在一起,用戶可以集中精力在算法而不是硬件方面,并隨時將這套算法移植到其他硬件上,用戶只需要掌握相關應用領域的技能就可以設計了。
傳統(tǒng)A9的程序可以直接轉到Zynq上;一些傳統(tǒng)的A9 無法實現(xiàn)的功能,例如高清轉化,仍然可以轉到Zynq上,并且將復雜的轉化部分放到FPGA中進行,來實現(xiàn)傳統(tǒng)方法達不到的功能。
多核與單核架構的優(yōu)勢
Cortex-A9微架構提供兩種選項:可擴展的Cortex-A9 MPCore多核處理器,或較為傳統(tǒng)的Cortex-A9單核處理器。
ARM吳雄昂指出,采用多核處理器架構不但能夠解決峰值性能的要求,而且其設計也能夠大大降低功耗。多核設備具有性能可擴展性高和功耗低的特點,為設計提供了極大的靈活性。
多核今后一個重要的挑戰(zhàn)就是怎樣從應用軟件上來利用多核的優(yōu)勢。就好比人有兩個大腦半球/區(qū),所謂一心二用,所以如果你的軟件系統(tǒng)沒法真的是一心二用,多核的意義就不是很大的。另外一個問題是針對你做事情的類型,如果是做一個比較連續(xù)性的計算,后面的結果一定要根據(jù)前面計算的結果才能往下走。這種情況下多核的幫助是非常小的。所以Cortex-A8和A9的最大區(qū)別,是像A9這種設計本來就是給多核的,它有SMP(對稱多處理技術),對于Android等操作系統(tǒng)(OS),可以自動在軟件上來做負載均衡,以分配需要工作的任務。因為有很多不同處理任務在后臺,你可通過SMP共享一個物理存儲的cache(緩存)。這樣用戶的軟件的性能才能夠比較有效地利用。例如對于雙核的網(wǎng)絡應用,如果有SMP,基本利用率會達到80%~90%,即放了兩個核,雙核的處理能力實際上提高到了1.8~1.9倍。如果放了4核以后,那么現(xiàn)在環(huán)境OS對4核的支持是相對比較弱的,可能實際上最后只有3甚至不到,因為其軟件不見得有能力去充分利用4核;同時你做的事情也不見得正好有4項是同時進行的,所以一方面取決于你去執(zhí)行的任務,一方面取決于系統(tǒng)架構。所以多核CPU本身設計時已有SMP,從OS角度已經(jīng)基本被認同,應用者不需要再做任何的編程工作。
但是如果放3個A8以后,很大的問題就是OS只認一個,所以其它兩個核很難分享負載,因為你沒法去改軟件應用。
軟件/開發(fā)工具的創(chuàng)新
可見,平臺軟件和工具軟件也是實現(xiàn)芯片性能的重要一關。尤其在處理平臺趨同與整合后,軟件的復雜度越來越高,遠遠超過了硬件。軟件工程師數(shù)量也已超過硬件工程師數(shù)量的Xilinx公司,非常注重在工具和軟件上的創(chuàng)新。2012年其開發(fā)工具將更新?lián)Q代,推出更加智能、圖形化的流程;Xilinx還會加強推廣AutoESL高層次綜合設計流程(注:2011年Xilinx收購了AutoESL)。
例如,智能交通管理系統(tǒng)通過攝像頭拍下畫面,之后需要視頻分析算法,將標清視頻轉換為高清視頻。這是一個動態(tài)實施的過程,需要用FPGA硬件加速來實現(xiàn)。而傳統(tǒng)是通過硬件描述語言(HDL)來實現(xiàn),開發(fā)流程很長?,F(xiàn)在,通過AutoESL的工具,用C、C++ 建立模型,并將模型轉換為具體的應用。
那么Zynq開發(fā)的時候,用ARM開發(fā)、導入FPGA進行硬件加速,需要用到什么工具?Xilinx高級總監(jiān)Devadas Varma稱,傳統(tǒng)流程就可以實現(xiàn),不過AutoESL的AutoPilot工具可使效率大為提升。因為傳統(tǒng)的硬件開發(fā)流程,硬件工作組做一個項目要花長達數(shù)月的時間,甚至1年。而AutoESL大大節(jié)約了資源,現(xiàn)在FPGA邏輯門越來越多,用戶充分利用這些資源,就需要提高生產(chǎn)率。如果還采用傳統(tǒng)的方法,那么也許你所期待的一些功能來不及放進去,就已經(jīng)錯失了上市時間。
小結
我國正從“中國制造”向“中國‘智’造”轉變。“智”造更多指的是idea(主意),比智力、創(chuàng)新和差異化。Xilinx的28nm FPGA+ARM Cortex-A9 MPCore單芯片方案,使嵌入式產(chǎn)品設計師把主要精力放在應用層面,可加快“智”造時間、降低產(chǎn)品成本。
fpga相關文章:fpga是什么
c++相關文章:c++教程
模數(shù)轉換器相關文章:模數(shù)轉換器工作原理
存儲器相關文章:存儲器原理
攝像頭相關文章:攝像頭原理
評論