眾所周知,,FPGA是通過邏輯組合來(lái)實(shí)現(xiàn)各種功能的器件,,幾乎可以進(jìn)行任何類型的處理。過去五年間,,為了突破傳統(tǒng)的通信及網(wǎng)絡(luò)等高端應(yīng)用市場(chǎng)局限,,將FPGA引入更為廣闊的嵌入式領(lǐng)域,F(xiàn)PGA廠商已經(jīng)開始嘗試采用多核和硬件協(xié)處理加速技術(shù)。如今,,隨著技術(shù)的進(jìn)步,,很多芯片廠商開始采用硬核或軟核CPU+FPGA的模式。
將FPGA裝進(jìn)集成兩個(gè)Cortex-A9的微控制器中
從Power內(nèi)核到Arm內(nèi)核,,賽靈思的轉(zhuǎn)變已經(jīng)完成,。但是請(qǐng)注意,其最新的Zynq-7000 EPP(可擴(kuò)展式處理平臺(tái))不僅僅是在FPGA中增加了一對(duì)硬核,。Zynq-7000 EPP架構(gòu)(圖1)更像是一種集成了FPGA的多內(nèi)核微控制器,,而不是有多個(gè)硬核的FPGA。賽靈思的Zynq-7000 EPP系列芯片(圖2)很好的強(qiáng)調(diào)了這點(diǎn),。全部4種EPP FPGA都采用相同的雙內(nèi)核微控制器,。它們的區(qū)別表現(xiàn)在FPGA規(guī)模、與FPGA相關(guān)的接口數(shù)量,、DSP模塊等邏輯,、PCI Express接口和高速串并轉(zhuǎn)換器等方面。
賽靈思的作法并非唯一,。事實(shí)上,,Intel和Altera聯(lián)合開發(fā)的E600C Atom也包含有40nm Arria II FPGA。Altera公司也有使用ARM硬核的計(jì)劃,。
由此可見,,目前更大的問題是:向以微控制器為中心的可配置平臺(tái)的發(fā)展趨勢(shì),是否會(huì)主導(dǎo)FPGA的使用,。很多業(yè)內(nèi)人士目前對(duì)此表示懷疑,。軟核在新的FPGA項(xiàng)目中已經(jīng)占主要地位,但硬核通常更加高效,,而且也更容易使用,。
那么Zynq-7000微控制器中究竟有什么呢?首先它有一對(duì)800MHz的Cortex-A9 MPcore,,這種內(nèi)核除了雙精度浮點(diǎn)單元外,,還支持NEON SIMD。處理引擎的其它部分比較常見,,有32KB的指令與數(shù)據(jù)緩存以及512KB的二級(jí)緩存,。
Zynq-7000內(nèi)有256KB的RAM,還可以通過內(nèi)存控制器連接片外存儲(chǔ)器,,片外存儲(chǔ)器類型支持DDR2/3,、LPDDR2、QSPI,、NOR和NAND閃存,。系統(tǒng)甚至支持從QSPI器件安全啟動(dòng),。處理器可以裝載FPGA配置信息。有個(gè)普通的AXI-4接口,,用于鏈接FPGA,。目前許多賽靈思和第三方IP都支持AXI-4接口。
模擬方面的支持沒有作更多的擴(kuò)展,,但還是有一個(gè)16通道,、雙路12位ADC,處理速度可達(dá)1Msample/s,。這種ADC還能訪問片上傳感器,,并且同樣受FPGA邏輯的控制。
Zynq-7000系列芯片有8個(gè)DMA通道,,可支持ADC和其它通信外設(shè),,包括一對(duì)USB 2.0 OTG接口和兩個(gè)三模千兆以太網(wǎng)接口,還有兩個(gè)SD/SDIO,、UART,、CAN、I2C和SPI接口,。
看起來(lái)這像是一個(gè)典型的高性能多內(nèi)核微控制器,,實(shí)際上確實(shí)如此。電源管理部分與其它平臺(tái)相比,,絲毫也不遜色,。性能以每個(gè)內(nèi)核為基礎(chǔ)進(jìn)行管理。FPGA支持時(shí)鐘選通,,但不能像微控制器或其它外設(shè)那樣斷電,。
Zynq-7000系列芯片得到了賽靈思Platform Studio軟件開發(fā)套件(SDK)中基于Eclipse開發(fā)環(huán)境的支持。其中的微控制器還得到了ARM Development Studio 5(DS-5)和ARM RealView Development Suite(RVDS)的支持,。FPGA開發(fā)可以采用賽靈思的ISE Design,。
Zynq-7000系列產(chǎn)品適用于廣泛的應(yīng)用。低端的Z-7010可以用于駕駛輔助任務(wù)或多功能打印機(jī),。Z-7020除此之外還可以支持LTE應(yīng)用,。Z-7030和Z-7040增加了高速串行接口,,可訪問PCI Express外設(shè),,因此是高端路由器的理想之選。所有Zynq-7000系列芯片還能用于航空和軍事環(huán)境,。
眾所周知,,F(xiàn)PGA是通過邏輯組合來(lái)實(shí)現(xiàn)各種功能的器件,幾乎可以進(jìn)行任何類型的處理,。過去五年間,,為了突破傳統(tǒng)的通信及網(wǎng)絡(luò)等高端應(yīng)用市場(chǎng)局限,,將FPGA引入更為廣闊的嵌入式領(lǐng)域,F(xiàn)PGA廠商已經(jīng)開始嘗試采用多核和硬件協(xié)處理加速技術(shù),。如今,,隨著技術(shù)的進(jìn)步,很多芯片廠商開始采用硬核或軟核CPU+FPGA的模式,。
將FPGA裝進(jìn)集成兩個(gè)Cortex-A9的微控制器中
從Power內(nèi)核到Arm內(nèi)核,,賽靈思的轉(zhuǎn)變已經(jīng)完成。但是請(qǐng)注意,,其最新的Zynq-7000 EPP(可擴(kuò)展式處理平臺(tái))不僅僅是在FPGA中增加了一對(duì)硬核,。Zynq-7000 EPP架構(gòu)(圖1)更像是一種集成了FPGA的多內(nèi)核微控制器,而不是有多個(gè)硬核的FPGA,。賽靈思的Zynq-7000 EPP系列芯片(圖2)很好的強(qiáng)調(diào)了這點(diǎn),。全部4種EPP FPGA都采用相同的雙內(nèi)核微控制器。它們的區(qū)別表現(xiàn)在FPGA規(guī)模,、與FPGA相關(guān)的接口數(shù)量,、DSP模塊等邏輯、PCI Express接口和高速串并轉(zhuǎn)換器等方面,。
賽靈思的作法并非唯一,。事實(shí)上,Intel和Altera聯(lián)合開發(fā)的E600C Atom也包含有40nm Arria II FPGA,。Altera公司也有使用ARM硬核的計(jì)劃,。
由此可見,目前更大的問題是:向以微控制器為中心的可配置平臺(tái)的發(fā)展趨勢(shì),,是否會(huì)主導(dǎo)FPGA的使用,。很多業(yè)內(nèi)人士目前對(duì)此表示懷疑。軟核在新的FPGA項(xiàng)目中已經(jīng)占主要地位,,但硬核通常更加高效,,而且也更容易使用。
那么Zynq-7000微控制器中究竟有什么呢,?首先它有一對(duì)800MHz的Cortex-A9 MPcore,,這種內(nèi)核除了雙精度浮點(diǎn)單元外,還支持NEON SIMD,。處理引擎的其它部分比較常見,,有32KB的指令與數(shù)據(jù)緩存以及512KB的二級(jí)緩存。
Zynq-7000內(nèi)有256KB的RAM,,還可以通過內(nèi)存控制器連接片外存儲(chǔ)器,,片外存儲(chǔ)器類型支持DDR2/3、LPDDR2,、QSPI,、NOR和NAND閃存,。系統(tǒng)甚至支持從QSPI器件安全啟動(dòng)。處理器可以裝載FPGA配置信息,。有個(gè)普通的AXI-4接口,,用于鏈接FPGA。目前許多賽靈思和第三方IP都支持AXI-4接口,。
模擬方面的支持沒有作更多的擴(kuò)展,,但還是有一個(gè)16通道、雙路12位ADC,,處理速度可達(dá)1Msample/s,。這種ADC還能訪問片上傳感器,并且同樣受FPGA邏輯的控制,。
Zynq-7000系列芯片有8個(gè)DMA通道,,可支持ADC和其它通信外設(shè),包括一對(duì)USB 2.0 OTG接口和兩個(gè)三模千兆以太網(wǎng)接口,,還有兩個(gè)SD/SDIO,、UART、CAN,、I2C和SPI接口,。
看起來(lái)這像是一個(gè)典型的高性能多內(nèi)核微控制器,實(shí)際上確實(shí)如此,。電源管理部分與其它平臺(tái)相比,,絲毫也不遜色。性能以每個(gè)內(nèi)核為基礎(chǔ)進(jìn)行管理,。FPGA支持時(shí)鐘選通,,但不能像微控制器或其它外設(shè)那樣斷電。
Zynq-7000系列芯片得到了賽靈思Platform Studio軟件開發(fā)套件(SDK)中基于Eclipse開發(fā)環(huán)境的支持,。其中的微控制器還得到了ARM Development Studio 5(DS-5)和ARM RealView Development Suite(RVDS)的支持,。FPGA開發(fā)可以采用賽靈思的ISE Design。
Zynq-7000系列產(chǎn)品適用于廣泛的應(yīng)用,。低端的Z-7010可以用于駕駛輔助任務(wù)或多功能打印機(jī),。Z-7020除此之外還可以支持LTE應(yīng)用。Z-7030和Z-7040增加了高速串行接口,,可訪問PCI Express外設(shè),,因此是高端路由器的理想之選。所有Zynq-7000系列芯片還能用于航空和軍事環(huán)境,。
FPGA和Atom混合的可配置平臺(tái)
Intel的E600C是一種業(yè)界期待已久的Atom/FPGA混合產(chǎn)品,,它將E600系統(tǒng)級(jí)芯片和Altera的中等規(guī)模40nm Arria II FPGA整合在一起,。Intel的E600C(圖1)包含全部E600元件,,其中包括Intel高解晰度音頻支持電路和集成的圖形媒體加速器(GMA),。E600C的兩個(gè)PCI Express串并轉(zhuǎn)換器用來(lái)與FPGA通信,兩個(gè)保留給片外連接,,還有一個(gè)可以連接各種第三方中央控制器或Intel公司自己的EG20T平臺(tái)控制器中心,。
使用PCI Express使得E600可以成為控制FPGA的理想平臺(tái),因?yàn)閹в布CI Express串并轉(zhuǎn)換器的FPGA已經(jīng)很常見,。E600和E600C的區(qū)別主要有兩點(diǎn):首先,,E600將所有功能都集成進(jìn)了單個(gè)封裝;其次,,E600使用一對(duì)x1 PCI Express鏈路,。FPGA和Atom之間的帶寬加倍對(duì)許多應(yīng)用來(lái)說(shuō)都有重要的意義。
Atom和FPGA芯片被集成進(jìn)了外形尺寸為37.5mm x 37.5mm,、球間距為0.8mm的單個(gè)BGA封裝中(圖2),。可以通過引腳訪問Arria的350個(gè)I/O和3.25GHz串并轉(zhuǎn)換器端口,。
Atom處理器的TDP與普通E600相同,,范圍從2.7W至3.6W。整合平臺(tái)的TDP范圍從4W至6W不等,,取決于具體平臺(tái),。Atom支持許多電源管理狀態(tài),但FPGA不支持,。
Intel提供技術(shù)支持,,但FPGA工具由Altera提供,其中包括Quartus II開發(fā)環(huán)境,。FPGA架構(gòu)支持傳統(tǒng)Altera FPGA可以處理的所有IP,,包括軟核處理器,如Altera的NIOS II,、Cortex-M1以及飛思卡爾的V1 ColdFire,。Altera NIOS II開發(fā)工具可用于NIOS II軟件的開發(fā)。Arm Cortex-M1和Freescale ColdFire也有許多合適的開發(fā)工具?,F(xiàn)有的x86開發(fā)工具可以支持Atom,。
E600C代表了Intel和Altera的革新方向。與Intel/Achronix在高性能的21nm FPGA上的合作相比,,E600C這種組合是一種完全不同的合作方式,。前者是一種使用Intel技術(shù)的獨(dú)立FPGA,后者是將Altera硬件集成到Intel平臺(tái)上,。
總之,,Atom和Arria II之間的配合是比較理想的。Arria II不像Stratix平臺(tái)那樣要超越Atom,,Arria對(duì)PCI Express的支持也能很好地匹配Atom的功能,。將標(biāo)準(zhǔn)FPGA平臺(tái)連接到Atom有可能使這種配置比片外FPGA有更高的普及率,。這種方法可以更好地簡(jiǎn)化對(duì)FPGA的支持,并從Atom提供標(biāo)準(zhǔn)接口,。