用作嵌入式處理器定制外圍器件的FPGA
——
不管外部信號(hào)的形式如何,數(shù)據(jù)都必須以處理器能夠接受的形式來(lái)提供。這可以通過(guò)一個(gè)簡(jiǎn)單的系統(tǒng)地址/數(shù)據(jù)總線接口來(lái)實(shí)現(xiàn),也可以根據(jù)目標(biāo)系統(tǒng)的所需數(shù)據(jù)帶寬通過(guò)某些具有較高速度(或者是專用)的數(shù)據(jù)鏈路來(lái)實(shí)現(xiàn)。
現(xiàn)場(chǎng)可編程門陣列(FPGA)具有大量的邏輯電路、存儲(chǔ)器和布線資源,已經(jīng)被應(yīng)用于ASIC原型設(shè)計(jì)和高端系統(tǒng)開(kāi)發(fā)。此類器件包括多達(dá)80000個(gè)邏輯元件和容量達(dá)數(shù)Mbit的片上RAM。這些器件通常包含由可購(gòu)置的知識(shí)產(chǎn)權(quán)(IP)內(nèi)核以及用戶定制邏輯器件所構(gòu)成的復(fù)雜功能,旨在實(shí)現(xiàn)高速數(shù)據(jù)通路和數(shù)據(jù)處理功能。
在較為簡(jiǎn)單的系統(tǒng)里,F(xiàn)PGA常常被用作一種執(zhí)行連接邏輯和系統(tǒng)控制功能等較為簡(jiǎn)單的邏輯功能的工具,為實(shí)現(xiàn)電路板上其他功能的集成提供幫助。這些器件具有較少的邏輯和存儲(chǔ)器資源,而且總體性能較低。然而,對(duì)于某些目標(biāo)應(yīng)用來(lái)說(shuō),它們?cè)诔杀痉矫姹雀咝阅芷骷哂袃?yōu)勢(shì),而且提供的性能也足以滿足要求。
如今,想找到一個(gè)包含了您的系統(tǒng)所需要的各種外圍器件的嵌入式處理器并非難事。因此,是否還需要采用定制的外圍器件或接口?處理器未必是您所選擇的架構(gòu),工作性能也有可能并不符合您的要求,而且在許多場(chǎng)合還存在一些典型的嵌入式處理器無(wú)法在片上實(shí)現(xiàn)的功能。如果采用的是一個(gè)外部外圍器件,則它有可能與采用舊式技術(shù)的處理器不兼容,而為了編寫老式軟件,這種處理器又是必須采用的。
一個(gè)處理器如果擁有多款變種就會(huì)帶來(lái)一個(gè)問(wèn)題:即每款變種都需要進(jìn)行其獨(dú)特的掩模組和測(cè)試程序的開(kāi)發(fā)。然而,掩模組的制造成本正變得越來(lái)越貴,這將使處理器變種型號(hào)減少,原因是嵌入式處理器制造商出于降低成本的考慮而努力使其產(chǎn)品庫(kù)的配置更加合理。
高端和低成本FPGA具有專門針對(duì)某種特定類型的器件以及特定用途的獨(dú)特功能組合。當(dāng)然,由于FPGA是可編程的,而且具有巨大的靈活性,因此對(duì)于任何特定的系統(tǒng)而言并不存在"恰好對(duì)應(yīng)"的終端市場(chǎng)。由于存儲(chǔ)器要求的緣故,在小型系統(tǒng)中有可能需要采用高端FPGA,而在高性能系統(tǒng)中可能需要使用低成本的器件。如Altera Stratix系列等高端器件通過(guò)采用鎖相環(huán)(PLL)而把邏輯器件與大量的片上SRAM、專用數(shù)字信號(hào)處理器(DSP)功能塊、眾多的高帶寬I/O標(biāo)準(zhǔn)以及板載時(shí)鐘發(fā)生電路組合在了一起。
在對(duì)從一個(gè)復(fù)雜的外圍器件傳送至外部接口的數(shù)據(jù)進(jìn)行緩沖處理這一方面,片上SRAM特別有用,這樣一來(lái)從FPGA至處理器的數(shù)據(jù)傳輸就可以與一個(gè)外部信號(hào)源接收數(shù)據(jù)的操作異步進(jìn)行。當(dāng)采用高速外圍器件(尤其是那些運(yùn)行通信協(xié)議的外圍器件)時(shí),對(duì)于確保帶寬要求是最為重要的。
Stratix數(shù)字信號(hào)處理器件將乘法器和加法器集成在了一起,旨在對(duì)信號(hào)處理算法的執(zhí)行提供幫助。在FPGA中采用這些部件可以使處理器不再承擔(dān)復(fù)雜的功能,在處理器上執(zhí)行這些復(fù)雜功能不僅效率較低,而且還有可能降低最終的系統(tǒng)性能。這種運(yùn)用協(xié)同處理器的做法還能夠使用SRAM,方法是采用共享數(shù)據(jù)存儲(chǔ)器在異步運(yùn)行的處理器和信號(hào)處理功能元件之間傳遞數(shù)據(jù)。
Stratix FPGA提供了種類眾多的高性能I/O標(biāo)準(zhǔn),能夠以很高的數(shù)據(jù)速率在FPGA與數(shù)據(jù)源之間或FPGA與支持一種兼容型接口標(biāo)準(zhǔn)的嵌入式處理器之間進(jìn)行數(shù)據(jù)傳送。有多款處理器提供了板載Hypertransport和/或
RapidIO接口,這些接口能夠通過(guò)采用外圍FPGA中的一個(gè)匹配IP內(nèi)核的方法來(lái)傳送數(shù)據(jù),這兩種接口均可以作為一個(gè)來(lái)自Altera或其AMPP伙伴公司之一的全參數(shù)化IP內(nèi)核來(lái)使用。這便是在嵌入式處理器與外圍FPGA之間實(shí)現(xiàn)高速數(shù)據(jù)傳送的可行方法。
鎖相環(huán)的運(yùn)用使采用不同內(nèi)部時(shí)鐘的FPGA能夠正常操作,因此,處理器接口與FPGA中實(shí)現(xiàn)的外圍器件可以具有不同的運(yùn)行速度,同樣,也可以采用共享SRAM來(lái)實(shí)現(xiàn)時(shí)鐘域之間的速率匹配和同步。
對(duì)于要求較低成本的系統(tǒng),一款來(lái)自Altera Cyclone系列的器件可提供中等數(shù)量的邏輯資源和存儲(chǔ)器、PLL以及一組數(shù)量有所減少的I/O標(biāo)準(zhǔn)。這種類型的器件系列是專為實(shí)現(xiàn)全面的低成本而設(shè)計(jì)的,為此犧牲了某些高端功能。低成本器件密度較低,因而更加適合于實(shí)現(xiàn)那些采用系統(tǒng)地址總線法來(lái)與處理器相連的外圍器件,或者那些有可能采用如SPI或I2C等被大多數(shù)嵌入式處理器用作片上外圍器件的串行接口的低帶寬外圍器件。
最后,對(duì)于FPGA而言有一些專用器件,比如那些具有內(nèi)置高速收發(fā)器、適合于在高達(dá)3.125GHz的頻率條件下工作的器件。這些器件可提供非常高的數(shù)據(jù)帶寬,主要用于FPGA結(jié)構(gòu)內(nèi)部的復(fù)雜通信系統(tǒng)。此類器件將支持系統(tǒng)內(nèi)部的RapidIO和/或Hypertransport接口的較高數(shù)據(jù)速率。嵌入式處理器很有可能就位于這種高帶寬數(shù)據(jù)流的數(shù)據(jù)通路之中,但是,它希望利用一個(gè)性能較低的FPGA/處理器標(biāo)準(zhǔn)來(lái)進(jìn)行連接,在這種場(chǎng)合,F(xiàn)PGA負(fù)責(zé)執(zhí)行輸入數(shù)據(jù)的監(jiān)控功能,以便進(jìn)行統(tǒng)計(jì)信息的收集或故障監(jiān)控。
SOPC Builder(Altera Quartus II設(shè)計(jì)軟件的一部分)等高級(jí)設(shè)計(jì)工具方便了IP內(nèi)核與定制邏輯器件的輕松集成。這通過(guò)一個(gè)簡(jiǎn)單(系統(tǒng)地址總線)、復(fù)雜(諸如PCI等基于IP內(nèi)核的總線)或?qū)S薪涌诎岩杂布绞綄?shí)現(xiàn)的外圍器件(FPGA)與系統(tǒng)中的嵌入式處理器直接相連。
從系統(tǒng)設(shè)計(jì)的角度來(lái)看,采用標(biāo)準(zhǔn)接口的主要目的之一就是使外圍器件對(duì)系統(tǒng)軟件而言是透明的。如果采用的是系統(tǒng)總線法,則FPGA將被作為其他的存儲(chǔ)變換外圍器件來(lái)處理,絲毫不受FPGA內(nèi)容的影響。事實(shí)上,F(xiàn)PGA內(nèi)部的外圍器件甚至可以在不對(duì)系統(tǒng)軟件做任何改動(dòng)的情況下進(jìn)行全面的重新設(shè)計(jì)。即使在PCI等總線用作接口的場(chǎng)合(嵌入式處理器具有一個(gè)內(nèi)置PCI橋接器),處理器的程序設(shè)計(jì)模型與PCI總線的傳統(tǒng)使用方式相比并沒(méi)有什么差異。
FPGA還可以從本質(zhì)上對(duì)系統(tǒng)設(shè)計(jì)進(jìn)行預(yù)檢驗(yàn)。隨著嵌入式處理器的不斷更新?lián)Q代,分立式外圍器件不一定遵循相同的接口或標(biāo)準(zhǔn)發(fā)展趨勢(shì)。借助在FPGA中實(shí)現(xiàn)外圍器件的方法,外圍器件便可以很容易地轉(zhuǎn)至較新的架構(gòu)(通常只需進(jìn)行極少的設(shè)計(jì)工作),從而使外圍器件的性能能夠跟上嵌入式處理器的發(fā)展。還可以根據(jù)用戶的需要對(duì)外圍器件進(jìn)行精確的客戶化設(shè)計(jì),而不必采取折衷方案。
由上可見(jiàn),盡管FPGA通常被用作系統(tǒng)級(jí)功能部件(在高端)和連接邏輯電路(在低端),但是,將其用作嵌入式處理器的伴隨芯片還能夠獲得更多的價(jià)值。FPGA可提供用于滿足各種性能/價(jià)格需求的眾多解決方案,而且,利用板載存儲(chǔ)器、通用I/O標(biāo)準(zhǔn)以及時(shí)鐘電路,它還能夠在許多場(chǎng)合提供分立型、"現(xiàn)貨供應(yīng)"外圍器件所不具備的優(yōu)點(diǎn)。憑借高端(Stratix)、低成本(Cyclone)和基于收發(fā)器的器件(Stratix
GX)系列,Altera公司擁有了用于滿足各類外圍器件擴(kuò)展需求的品種齊全的器件產(chǎn)品庫(kù)。除此之外,僅Altera公司自己就能夠提供超過(guò)50種IP內(nèi)核,再加上如SOPC Builder等高級(jí)系統(tǒng)設(shè)計(jì)工具,F(xiàn)PGA將在基于嵌入式存儲(chǔ)器的系統(tǒng)中的外圍器件實(shí)現(xiàn)方面起到越來(lái)越大的作用。
評(píng)論