<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 賽靈思三十周年專題 > ZYNQ嵌入式處理器與FPGA集成的獨(dú)特創(chuàng)舉

          ZYNQ嵌入式處理器與FPGA集成的獨(dú)特創(chuàng)舉

          作者:王瑩 時(shí)間:2014-04-10 來源:電子產(chǎn)品世界 收藏

            摘要:的EPP(可擴(kuò)展處理平臺(tái))——Zynq-7000系列將業(yè)界標(biāo)準(zhǔn)的雙核Cortex-A9 MPCore處理系統(tǒng)與可擴(kuò)展的28nm FPGA架構(gòu)整合在一起,在單一芯片上集成了“嵌入式+FPGA”等性能。

          本文引用地址:http://www.ex-cimer.com/article/236340.htm

            引言

            全球可編程平臺(tái)領(lǐng)導(dǎo)廠商賽靈思()公司今年的市場(chǎng)重點(diǎn)是28nm的7系列產(chǎn)品及Zynq。不久前,Xilinx公司才宣布開始向客戶出貨首款 Zynq可擴(kuò)展處理平臺(tái)(EPP)。那么,Zynq是什么樣的產(chǎn)品?為何Xilinx稱“Zynq為Xilinx打開了新的篇章,同時(shí)為整個(gè)嵌入式行業(yè)和FPGA業(yè)也打開了新的篇章”?

           

            28nm FPGA的優(yōu)勢(shì)

            首先,Zynq是基于28nm制程的FPGA。Xilinx的全球總裁兼CEO Moshe Gavrielov指出[1],以28nm制程來看,ASIC與ASSP的一次性費(fèi)用(NRE)將高達(dá)5000萬(wàn)美元,若重新設(shè)計(jì)還得再付擔(dān)原費(fèi)用的50%。此外,隨著全球化趨勢(shì)及網(wǎng)絡(luò)的普及,競(jìng)爭(zhēng)者不再只是本國(guó)而是來自全世界的搶食,系統(tǒng)對(duì)產(chǎn)品設(shè)計(jì)性價(jià)比的考量也更加嚴(yán)峻。因此,獨(dú)特性及靈活性成為大多數(shù)廠商設(shè)計(jì)考量的著眼點(diǎn)。

            因此,以靈活性、上市快及較低成本取勝的FPGA處于健康的增長(zhǎng)態(tài)勢(shì)(圖1)。

           

            的A9 MPCore受到熱捧

            Xilinx為何選擇了跟  合作,來開發(fā)一個(gè)雙核的Cortex-A9 MPCore ?因?yàn)锳RM在業(yè)界領(lǐng)先,已被客戶廣泛采用,還有其總體生態(tài)環(huán)境、支持工具都比較成熟。

            經(jīng)過20年的發(fā)展,在處理器世界中,盡管處理器的用量越來越大,但主流平臺(tái)的數(shù)量越來越少,美國(guó)《Microprocessor Forum》雜志認(rèn)為,1992年活躍著眾多的處理器平臺(tái)(圖2),但是2009年只有四大主流平臺(tái):ARM,x86,PPC(PowerPC)和MIPS平臺(tái)。其中ARM以生態(tài)環(huán)境豐富成為矚目的熱點(diǎn)之一。ARM總裁Tudor Brown稱,ARM全球有合作伙伴900家企業(yè),合作伙伴的勢(shì)頭發(fā)展良好(圖3)。并承諾:“今后,ARM將持續(xù)地在產(chǎn)品路線圖上和伙伴關(guān)系上投資,保證客戶有強(qiáng)大的渠道和生態(tài)系統(tǒng)。”

            盡管ARM9和ARM7是ARM全世界授權(quán)量最多的(圖4) ,也是出貨量最大的;但是Cortex-A系列是所有系列里面增長(zhǎng)速度最快的,甚至超過M系列。

            除了Xilinx的Zynq家族外,很多公司已經(jīng)或正在做基于Cortex-A9的創(chuàng)新,智能手機(jī)、平板電腦、3D TV;網(wǎng)絡(luò)SoC(系統(tǒng)芯片)、網(wǎng)絡(luò)服務(wù)器、超級(jí)計(jì)算機(jī)……。

            這些企業(yè)之所以選擇A9,因?yàn)樗茿RM處理器系列中較高性能的一款產(chǎn)品,采用了ARMv7架構(gòu)。A9處理器的設(shè)計(jì)是基于先進(jìn)的推測(cè)型八級(jí)流水線(speculating 8-stage pipeline),該流水線具有高效、動(dòng)態(tài)長(zhǎng)度、多發(fā)射超標(biāo)量及無序完成特征,因此這款處理器的性能、功效和功能均達(dá)到了高水平,能夠滿足消費(fèi)、網(wǎng)絡(luò)、企業(yè)和移動(dòng)應(yīng)用等領(lǐng)域尖端產(chǎn)品的要求。

           

            處理器+FPGA整合:1+1>2

            市場(chǎng)調(diào)查表明,F(xiàn)PGA目前在全部嵌入式系統(tǒng)中的使用比例占50%~70%[4]。因此這個(gè)市場(chǎng)非常巨大,而通常的工程方案是“嵌入式處理器+FPGA”。“但是我們的客戶并不滿足于此,或者說在客戶的應(yīng)用里目前的器件都不能滿足他們的需求,無論是傳統(tǒng)的單個(gè)處理器、單個(gè)FPGA、ASIC或者是ASSP,特別是對(duì)于軟件開發(fā)公司來說,對(duì)FPGA編程相當(dāng)困難。我們發(fā)現(xiàn)到2014年有約127億美元的市場(chǎng)是傳統(tǒng)FPGA沒法服務(wù)的。”Xilinx全球市場(chǎng)營(yíng)銷高級(jí)副總裁Vin Ratford說道。

            當(dāng)前的四大挑戰(zhàn)是:提高系統(tǒng)性能,降低系統(tǒng)功耗,減少電路板的面積,降低總體系統(tǒng)的成本。

            而一塊Zynq器件就可以實(shí)現(xiàn)“嵌入式處理器+FPGA”功能。尤其Zynq不是僅僅把 FPGA 跟處理器簡(jiǎn)單地集成在一起,更是兩者的有機(jī)結(jié)合。如圖5,傳統(tǒng)的FPGA與處理器之間的互聯(lián)是PCIe等,而Zynq采用了AXI4連接總線,這樣的布局可以在FPGA 與處理器之間形成很寬的帶寬。圖5上方是雙芯片方案。可以看到FPGA與處理器中間互聯(lián)利用 PCIe的互聯(lián)帶寬較窄,而且PCIe通道也較少,這意味著有時(shí)超過一半的FPGA會(huì)用來支持帶寬;并且兩個(gè)器件分別接著外帶的存儲(chǔ)器。圖5下方可以看到使用Zynq后,可以把中間的PCIe連接取走,再加上存儲(chǔ)器可以和FPGA 分享,這樣可以大大降低成本和功耗。

            ARM中國(guó)總裁吳雄昂指出:“眾所周知,新一代的系統(tǒng)處理,不只是CPU的功能,接口的處理能力在很大程度上決定了整個(gè)系統(tǒng)的應(yīng)用能力。所以我們往往看到同樣一個(gè)設(shè)計(jì),因?yàn)榱己玫慕涌诘娜诤?,功能?huì)相差50%。我們很高興Xilinx的Zynq在新的AMBA AXI4 (Advanced eXtensible Interface 4) 接口上達(dá)到了很高的數(shù)據(jù)吞吐能力。”

            Zynq以ARM為核心

          Zynq盡管是由FPGA廠商Xilinx主導(dǎo)的,但Xilinx稱其是全新的EPP(可擴(kuò)展處理平臺(tái)),應(yīng)用時(shí),Zynq上電后處理系統(tǒng)會(huì)自動(dòng)啟動(dòng),而不會(huì)是FPGA先啟動(dòng)。

           實(shí)際上,Zynq-7000系列具有完整的ARM處理系統(tǒng)(6),是以ARM Cortex-A9 MPCore為中心,還集成了存儲(chǔ)器控制器和外設(shè);另外,緊密集成可編程邏輯方面,圖6的黃色部分是FPGA,它們之間約有3000個(gè)內(nèi)部互連,內(nèi)部互連十倍于現(xiàn)有的雙芯片方案;除此之外,有靈活的I/O陣列,包括處理器專用I/O,可以支持多重標(biāo)準(zhǔn)的I/O,還集成了高性能串行收發(fā)器,雙12位的模數(shù)轉(zhuǎn)換器的輸入部分,輸入可以直接接到器件混模的架構(gòu)里。

            該器件的軟硬件都可以編程,如果是處理器的開發(fā)人員,可以用處理器軟件來做開發(fā),擴(kuò)展到它的硬件FPGA的部分;如果是硬件的工程師,可以用FPGA做硬件加速器。

            Zynq-7000的ARM處理系統(tǒng)

            包括ARM雙Cortex-A9 MPCore、存儲(chǔ)器接口和通用外設(shè)三部分,并用AXI4實(shí)現(xiàn)開放式的標(biāo)準(zhǔn)互聯(lián)。

            具體來看,Zynq處理器的ARM內(nèi)核架構(gòu)帶NEON擴(kuò)展的雙ARM Cortex-A9 MPCore,這種架構(gòu)專門用于支持圖形應(yīng)用或者是圖形加速器,支持單、雙精度浮點(diǎn)運(yùn)算,工作頻率可達(dá)到800MHz。

            存儲(chǔ)器的接口也是對(duì)應(yīng)可以支持DDR2、DDR3、LPDDR2、ZxQSPI、NOR、NAND閃存,內(nèi)含了L1和L2的高速緩存,總量可以達(dá)到512KB,同時(shí)還有片上的256KB存儲(chǔ)器。

            通用外設(shè)具有集成的存儲(chǔ)器映射外設(shè)。另外還有強(qiáng)大的AXI4開放式標(biāo)準(zhǔn)互聯(lián)。AXI4是高帶寬、低延時(shí)的行業(yè)標(biāo)準(zhǔn),是ARM自己定義的AMBA第四代總線架構(gòu),專門用作連接ARM的處理器、外設(shè)和FPGA。而且?guī)в蠥CP的端口,此端口讓開發(fā)工程師可以增加更多的軟核處理器。整個(gè)處理系統(tǒng)是可以單獨(dú)啟動(dòng)的,也就是說,軟件工程師可以完全地對(duì)處理器編程,而不需要硬件工程師的協(xié)助。

            Zynq的應(yīng)用

            在Zynq的四個(gè)系列里,7010和7020針對(duì)較低端的應(yīng)用,像消費(fèi)類或者是汽車輔助駕駛應(yīng)用等,7030和7045針對(duì)工業(yè)、通訊、國(guó)防、廣播級(jí)的應(yīng)用等。

            其中,2011年初暫定為Zynq-7040的型號(hào)現(xiàn)被7045取代,主要是為了滿足有線、無線和視頻廣播市場(chǎng)領(lǐng)域客戶新的高端應(yīng)用需求,并將當(dāng)前該系列采用12.5 Gbps技術(shù)的收發(fā)器數(shù)量增加至16個(gè)。這將實(shí)現(xiàn)更多的橋接應(yīng)用,并實(shí)現(xiàn)更寬的高速DAC/ADC連接。新增的可編程邏輯功能(DSP、BRAM 和邏輯)可為設(shè)計(jì)人員帶來更高的信號(hào)處理能力,以滿足濾波、數(shù)字轉(zhuǎn)換以及其它功能要求,同時(shí)還能靈活地定制各種特定功能。Zynq-7045是Zynq系列的首款高端器件,其應(yīng)用范圍從下可以擁有30,000邏輯單元,專門針對(duì)成本敏感型應(yīng)用如工業(yè)、汽車電子以及消費(fèi)類電子,從上邏輯單元可達(dá)350,000個(gè),幫助客戶在單一可擴(kuò)展平臺(tái)上,實(shí)現(xiàn)需要最高容量及性能的多種應(yīng)用。

            “客戶會(huì)根據(jù)不同的應(yīng)用選用不同的器件,甚至同時(shí)選用多個(gè)器件,這就體現(xiàn)了在Xilinx的7系列里,統(tǒng)一架構(gòu)的優(yōu)勢(shì)可以在不同的平臺(tái)上無縫移植IP。”Vin說道。而Zynq器件最便宜的低于15美元。

            具體應(yīng)用方案,以Zynq用于汽車駕駛員輔助為例(圖7),據(jù)統(tǒng)計(jì),駕駛員20分鐘就會(huì)有疲勞現(xiàn)象,效率降低,智能的好處可以兼顧多畫面和攝像頭。例如一些汽車?yán)锏?ldquo;鳥眼”360°控制雷達(dá),可以把很多圖像連在一起,開車時(shí)駕駛員可以觀察到360°廣角的情況。Zynq可以支持包括用視頻攝像頭去配合紅外傳感器和雷達(dá)傳感器看不同的路面狀況,比如是否壓線、走出路面等,然后做出調(diào)整。“無論是價(jià)格低廉的大眾還是高端的奔馳類汽車,7010和7020都可以發(fā)揮效能。”Vin稱。

            在工廠自動(dòng)化方面,Zynq的靈活性可以滿足系統(tǒng)上市時(shí)間的需求,同時(shí)提供系統(tǒng)內(nèi)編程的功能,讓客戶在單一的平臺(tái)上可以支持更多的標(biāo)準(zhǔn),而功耗和成本可以滿足需求。從性能來講,它可以實(shí)施工業(yè)聯(lián)網(wǎng)和電機(jī)控制硬件加速器,并提供高帶寬、低延時(shí)。

            Cortex-A9與MicroBlaze互補(bǔ)

            那么,Xilinx的傳統(tǒng)處理器核——MicroBlaze軟核與PowerPC硬核的未來會(huì)如何?據(jù)悉,Xilinx的32位軟核MicroBlaze還在使用,但與ARM Cortex-A9定位不同。MicroBlaze是相對(duì)較小、性能較低的核,二者所針對(duì)的應(yīng)用領(lǐng)域也不一樣。Xilinx將繼續(xù)發(fā)展MicroBlaze。

            未來PowerPC不會(huì)在Xilinx的新產(chǎn)品中出現(xiàn),但是現(xiàn)在還會(huì)繼續(xù)支持原有的客戶。

            Zynq定位更高的應(yīng)用價(jià)值

            Zynq會(huì)與其他Cortex-A9 ASSP競(jìng)爭(zhēng)嗎?Xilinx認(rèn)為不會(huì)直接競(jìng)爭(zhēng),因?yàn)?ldquo;不是Xilinx的目標(biāo)市場(chǎng)”。Xilinx全球高級(jí)副總裁兼亞太區(qū)執(zhí)行總裁湯立人稱。“Xilinx的產(chǎn)品是可擴(kuò)展處理平臺(tái)(EPP)。而傳統(tǒng)的A9產(chǎn)品已經(jīng)是定制好的,例如已經(jīng)集成了一定的存儲(chǔ)、PCIe等。”但由于Zynq把FPGA邏輯與ARM連接在一起,用戶可以集中精力在算法而不是硬件方面,并隨時(shí)將這套算法移植到其他硬件上,用戶只需要掌握相關(guān)應(yīng)用領(lǐng)域的技能就可以設(shè)計(jì)了。

            傳統(tǒng)A9的程序可以直接轉(zhuǎn)到Zynq上;一些傳統(tǒng)的A9 無法實(shí)現(xiàn)的功能,例如高清轉(zhuǎn)化,仍然可以轉(zhuǎn)到Zynq上,并且將復(fù)雜的轉(zhuǎn)化部分放到FPGA中進(jìn)行,來實(shí)現(xiàn)傳統(tǒng)方法達(dá)不到的功能。

            多核與單核架構(gòu)的優(yōu)勢(shì)

            Cortex-A9微架構(gòu)提供兩種選項(xiàng):可擴(kuò)展的Cortex-A9 MPCore多核處理器,或較為傳統(tǒng)的Cortex-A9單核處理器。

            ARM吳雄昂指出,采用多核處理器架構(gòu)不但能夠解決峰值性能的要求,而且其設(shè)計(jì)也能夠大大降低功耗。多核設(shè)備具有性能可擴(kuò)展性高和功耗低的特點(diǎn),為設(shè)計(jì)提供了極大的靈活性。

            多核今后一個(gè)重要的挑戰(zhàn)就是怎樣從應(yīng)用軟件上來利用多核的優(yōu)勢(shì)。就好比人有兩個(gè)大腦半球/區(qū),所謂一心二用,所以如果你的軟件系統(tǒng)沒法真的是一心二用,多核的意義就不是很大的。另外一個(gè)問題是針對(duì)你做事情的類型,如果是做一個(gè)比較連續(xù)性的計(jì)算,后面的結(jié)果一定要根據(jù)前面計(jì)算的結(jié)果才能往下走。這種情況下多核的幫助是非常小的。所以Cortex-A8和A9的最大區(qū)別,是像A9這種設(shè)計(jì)本來就是給多核的,它有SMP(對(duì)稱多處理技術(shù)),對(duì)于Android等操作系統(tǒng)(OS),可以自動(dòng)在軟件上來做負(fù)載均衡,以分配需要工作的任務(wù)。因?yàn)橛泻芏嗖煌幚砣蝿?wù)在后臺(tái),你可通過SMP共享一個(gè)物理存儲(chǔ)的cache(緩存)。這樣用戶的軟件的性能才能夠比較有效地利用。例如對(duì)于雙核的網(wǎng)絡(luò)應(yīng)用,如果有SMP,基本利用率會(huì)達(dá)到80%~90%,即放了兩個(gè)核,雙核的處理能力實(shí)際上提高到了1.8~1.9倍。如果放了4核以后,那么現(xiàn)在環(huán)境OS對(duì)4核的支持是相對(duì)比較弱的,可能實(shí)際上最后只有3甚至不到,因?yàn)槠滠浖灰姷糜心芰θコ浞掷?核;同時(shí)你做的事情也不見得正好有4項(xiàng)是同時(shí)進(jìn)行的,所以一方面取決于你去執(zhí)行的任務(wù),一方面取決于系統(tǒng)架構(gòu)。所以多核CPU本身設(shè)計(jì)時(shí)已有SMP,從OS角度已經(jīng)基本被認(rèn)同,應(yīng)用者不需要再做任何的編程工作。

            但是如果放3個(gè)A8以后,很大的問題就是OS只認(rèn)一個(gè),所以其它兩個(gè)核很難分享負(fù)載,因?yàn)槟銢]法去改軟件應(yīng)用。

            軟件/開發(fā)工具的創(chuàng)新

            可見,平臺(tái)軟件和工具軟件也是實(shí)現(xiàn)芯片性能的重要一關(guān)。尤其在處理平臺(tái)趨同與整合后,軟件的復(fù)雜度越來越高,遠(yuǎn)遠(yuǎn)超過了硬件。軟件工程師數(shù)量也已超過硬件工程師數(shù)量的Xilinx公司,非常注重在工具和軟件上的創(chuàng)新。2012年其開發(fā)工具將更新?lián)Q代,推出更加智能、圖形化的流程;Xilinx還會(huì)加強(qiáng)推廣AutoESL高層次綜合設(shè)計(jì)流程(注:2011年Xilinx收購(gòu)了AutoESL)。

            例如,智能交通管理系統(tǒng)通過攝像頭拍下畫面,之后需要視頻分析算法,將標(biāo)清視頻轉(zhuǎn)換為高清視頻。這是一個(gè)動(dòng)態(tài)實(shí)施的過程,需要用FPGA硬件加速來實(shí)現(xiàn)。而傳統(tǒng)是通過硬件描述語(yǔ)言(HDL)來實(shí)現(xiàn),開發(fā)流程很長(zhǎng)?,F(xiàn)在,通過AutoESL的工具,用C、C++ 建立模型,并將模型轉(zhuǎn)換為具體的應(yīng)用。

            那么Zynq開發(fā)的時(shí)候,用ARM開發(fā)、導(dǎo)入FPGA進(jìn)行硬件加速,需要用到什么工具?Xilinx高級(jí)總監(jiān)Devadas Varma稱,傳統(tǒng)流程就可以實(shí)現(xiàn),不過AutoESL的AutoPilot工具可使效率大為提升。因?yàn)閭鹘y(tǒng)的硬件開發(fā)流程,硬件工作組做一個(gè)項(xiàng)目要花長(zhǎng)達(dá)數(shù)月的時(shí)間,甚至1年。而AutoESL大大節(jié)約了資源,現(xiàn)在FPGA邏輯門越來越多,用戶充分利用這些資源,就需要提高生產(chǎn)率。如果還采用傳統(tǒng)的方法,那么也許你所期待的一些功能來不及放進(jìn)去,就已經(jīng)錯(cuò)失了上市時(shí)間。

            小結(jié)

            我國(guó)正從“中國(guó)制造”向“中國(guó)‘智’造”轉(zhuǎn)變。“智”造更多指的是idea(主意),比智力、創(chuàng)新和差異化。Xilinx的28nm FPGA+ARM Cortex-A9 MPCore單芯片方案,使嵌入式產(chǎn)品設(shè)計(jì)師把主要精力放在應(yīng)用層面,可加快“智”造時(shí)間、降低產(chǎn)品成本。

          fpga相關(guān)文章:fpga是什么


          c++相關(guān)文章:c++教程


          模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理


          存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理


          攝像頭相關(guān)文章:攝像頭原理


          關(guān)鍵詞: Xilinx ARM 處理器

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();