自20世紀70年代可編程邏輯陣列出現(xiàn)以來,F(xiàn)PGA技術(shù)已發(fā)展成為一個興旺的市場,。盡管每家供應(yīng)商FPGA的精確結(jié)構(gòu)不同,,但基本FPGA架構(gòu)都包含了有電可編程互連的邏輯塊陣列,用戶或設(shè)計者可以在制造以后作配置,。早期的器件有數(shù)千個等效門,,但今天這一數(shù)量已增長到數(shù)百萬。這種互連靈活性使設(shè)計者能夠建立準確匹配于特定嵌入應(yīng)用需求的硬件功能,。除了邏輯塊以外,,最新器件還在硅片中嵌入專用處理器,使設(shè)計者能夠作出軟硬件權(quán)衡,,滿足性能的需求,。
在相符合的嵌入應(yīng)用中,F(xiàn)PGA技術(shù)為開發(fā)人員提供了多種針對分立實現(xiàn)或定制邏輯實現(xiàn)的優(yōu)勢,。很多有經(jīng)驗的設(shè)計者在說到自己采用FPGA的主要原因時,,都會提到較短的開發(fā)日程,、更低的非重復(fù)成本以及量產(chǎn)后合并改動的能力。在高性能應(yīng)用中,,設(shè)計者可以建立多個并行的計算結(jié)構(gòu),,其性能超過專用處理器。FPGA有一個經(jīng)常被提及的缺點,,那就是與通用處理器或定制ASIC相比需要更多的功耗,。同樣,由于存在多個導(dǎo)通晶體管和連接路徑的電阻,,采用FPGA的產(chǎn)品也慢于相比的普通設(shè)計,。雖然沒有考慮其他方案的開發(fā)時間,但FPGA技術(shù)的重復(fù)成本高于普通電路或定制電路,。
FPGA采用多種技術(shù)作互連和邏輯塊的編程,。例如,反熔絲硅結(jié)構(gòu)(antifuse-silicon)在其兩端施加一個高電壓時,,會建立一個低電阻的鏈接,。其優(yōu)點包括低串聯(lián)電阻和低寄生電容,但主要缺點是采用反熔絲的FPGA是一次寫入器件,,因此無法重新配置,。最常見的編程技術(shù)是靜態(tài)RAM單元,通過使能和禁止導(dǎo)通晶體管而對FPGA結(jié)構(gòu)編程,。雖然要多個晶體管才能實現(xiàn)一個存儲單元,但SRAM有快速的可重編程能力,,并且可以用常規(guī)的硅CMOS技術(shù)來實現(xiàn),。基于SRAM的FPGA還需要一個外部引導(dǎo)器件,,在上電時設(shè)定存儲器,。另外也可以用EPROM、EEPROM和閃存技術(shù)作FPGA編程,,優(yōu)點也是可重復(fù)編程能力,,而無需外接引導(dǎo)器件。
制造商也創(chuàng)造出多種對FPGA電路作描述和編程的方法,。最常見的方法是采用一種HDL(硬件描述語言),,如Verilog或VHDL(超高速集成電路HDL),描述一個設(shè)計的功能和結(jié)構(gòu),。一旦定義了架構(gòu),,就可以用另外的工具在一款規(guī)定的FPGA上實現(xiàn)這個結(jié)構(gòu)。這個過程包括了電源與結(jié)構(gòu)優(yōu)化,,然后是硬件分區(qū),、布局以及互連的布線,。最后階段是將設(shè)計裝入目標FPGA,在真實的硬件環(huán)境中作測試,。
圖1 National Instruments公司的嵌入軟件評估工具套件使用戶能夠從一個圖形化的框圖,,創(chuàng)建、編譯和運行FPGA應(yīng)用
隨著FPGA功能伴隨復(fù)雜性和密度而增長,,設(shè)計者發(fā)明了各種方式來交換HDL代碼的模塊化塊,,這樣其他人就可以整合到自己產(chǎn)品中。這些功能塊一般叫做IP(知識產(chǎn)權(quán))核心,,它使制造商能夠重新使用以前設(shè)計中的電路部件,,或只要簡單地從外部購買功能。IP核心的實例包括UART,、以太網(wǎng)接口,、編解碼器和微控制器等。制造商直接在一個FPGA硅片上物理地實現(xiàn)硬IP核心,,并以HDL代碼形式提供軟核心,,它可以跨多種器件作移植。IP核心可從FPGA供應(yīng)商和第三方供應(yīng)商處直接獲得,,或從Open Cores等來源的免費開源HDL代碼獲得,。商用IP通常要付費,并包括有文檔,、驗證工具和支持,。
對一些FPGA開發(fā)者來說,設(shè)計安全性與IP損失可能是一個主要考慮因素,。在有些情況下,,尤其是那些在外部保存配置數(shù)據(jù),并在上電時將其傳送給FPGA的SRAM型設(shè)計,,IP信息比較脆弱,。為防止IP損失,F(xiàn)PGA供應(yīng)商采用非易失性編程技術(shù)以及嵌入序列號來跟蹤偽造產(chǎn)品,。
所有FPGA供應(yīng)商都提供一個工具集,,包括編程工具和與器件配套的IP。例如,,Xilinx公司的Virtex-5 FX70T版EDK(嵌入開發(fā)套件),,提供了一個ML507開發(fā)板、Platform Studio嵌入工具組件以及ISE(集成軟件環(huán)境),,支持PowerPC 440硬處理器和MicroBlaze軟處理器(圖1),。該套件具有一個集成開發(fā)環(huán)境、多種軟件工具,、配置向?qū)?,以及IP目標的嵌入設(shè)計,。用戶可以在邏輯圖編輯器中輸入一個電路,對電路時序性能作仿真,,對Virtex-5 FPGA作編譯,,然后在ML507原型板上測試設(shè)計。Virtex-5 FX70T EDK可以在線購買,,價格為2595美元,。
圖形設(shè)計
FPGA開發(fā)工具也可以從第三方供應(yīng)商和嵌入板制造商處獲得。例如,,National Instruments公司最近推出了一款采用FPGA的單板RIO(可配置I /O)模塊,,適用于嵌入應(yīng)用,同時還有一個評估套件,,用其LabView圖形設(shè)計軟件演示編程技術(shù),。新模塊在一塊8.2英寸×5.6英寸 PCB(印制電路板)上包括了一個實時嵌入處理器和一個可配置FPGA, 另外還有模擬與數(shù)字I /O,。該模塊采用一只266 MHz或400 MHz飛思卡爾MPC5200處理器,、Wi n d Ri v e r 公司的VxWorks實時操作系統(tǒng),以及一片Xilinx Spartan-3 FPGA,。板上的模擬與數(shù)字I/O直接連接到FPGA上,,提供對時序和I/O信號處理的低層定制。單板RIO器件的起價為1000美元(100件以上),。
為支持單板RIO,,Na t i o n a l Instruments公司還推出了嵌入軟件評估工具套件, 為嵌入應(yīng)用評估LabView Real-Time和LabView FPGA的編程經(jīng)驗,。該套件包括擴展的評估軟件,、一個NI單板RIO評估器件、一個用于I /O接口的子板,、一個電源、電纜,、一個分步教程,,以及多個可在LabView中立即運行的普通嵌入任務(wù)實例(圖2)。該套件包括多個練習(xí),,通過在LabView中構(gòu)建和微調(diào)圖形化塊圖,,學(xué)習(xí)創(chuàng)建、編譯和運行FPGA應(yīng)用,。LabView嵌入平臺評估套件的90天版本價格為999美元,。
越來越多的商用電路板制造公司正在采用FPGA技術(shù)滿足復(fù)雜的設(shè)計需求,并允許作未來的修改,。
例如,,Quantum3D承諾在安全與保密關(guān)鍵應(yīng)用中提供不過時的硬件,,如主要的飛行儀表和MLS(多層安全)系統(tǒng),它采用的是新型Sentiris AV1 PCI XMC(express mezzanine card)(圖3),。供應(yīng)商采用了一個基于FPGA視頻與圖像處理核心的組合,,而不是傳統(tǒng)的專用GPU(圖形處理單元)。雖然Sentiris AV1最初設(shè)計用于飛行認證的圖像生成應(yīng)用,,但它也適用于其他用途,,如醫(yī)療應(yīng)用中的實時圖像。該產(chǎn)品有模擬與HD-SDI(高清晰串行數(shù)字接口)視頻輸出,,其視頻與圖形處理能力可實現(xiàn)駕駛室和關(guān)鍵任務(wù)應(yīng)用中的3D圖像,。Sentiris AV1提供512MB的ECC保護DDR2內(nèi)存、雙HD-SDI輸出,,以及八通路的PCIe(外設(shè)部件快速互連),。Sentiris AV1的起價為9980美元。
圖2 Quantum3D公司的Sentiris AV1 PCIexpress中間卡集成了一個FPGA視頻與圖形處理核心,,以應(yīng)對設(shè)備更新問題
FPGA技術(shù)有出色的并行處理能力,,因此很適合于高性能、多通道應(yīng)用,,如軟件無線電,、數(shù)據(jù)采集和數(shù)字信號處理。例如,,Pentek最近推出了Model 7151高分辨率軟件無線電模塊,,用于GSM(全球移動系統(tǒng))通信手機監(jiān)控以及信號智能應(yīng)用(圖4)。四個200MHz,、16 bit ADC饋給一個專有的FPGA IP核心,,它提供256個DDC通道(數(shù)字下變頻)。你可以將每組64個 DDC通道配置給一個特殊的輸出信號帶寬,,以適合需要混合信號類型或多種調(diào)制方法的應(yīng)用,。可以從任何四個ADC中獨立獲得每個DDC組,,一般分配給特定的天線,。Model 7151使用戶能夠同時捕捉覆蓋一系列調(diào)制方式、信號帶寬和天線來源的數(shù)百個信號,。Pentek提供ReadyFlow電路板支持包,,為開發(fā)人員提供一個完備的硬件初始化、控制和應(yīng)用函數(shù)庫,,用于Linux,、Windows或VxWorks操作系統(tǒng)。Model 7151 PMC(PCI中間卡)模塊版的價格為14500美元,。
圖3 Pentek公司的Model 7151軟件射頻模塊采用了一個專利的FPGA-IP核心,,提供256通道的數(shù)字下變頻
嵌入標準
嵌入系統(tǒng)的標準化組織也正在采用一種基于FPGA硬件的新設(shè)計規(guī)范,。例如,最近被批準的VITA(VMEbus國際貿(mào)易協(xié)會) 57.1 FMC(FPGA中間卡)標準使開發(fā)人員便于將FPGA集成到嵌入系統(tǒng)設(shè)計中,。該規(guī)范定義了在工業(yè)標準中間卡上的I/O設(shè)備,,你可以將它們連接到基板上的FPGA上。FPGA直接控制這些設(shè)備,。FMC方案使你可以在多個項目上重用一個FPGA設(shè)計,,只需要簡單地替換I/O部分。一個FMC模塊大約是標準PMC模塊尺寸的一半,。Curtiss-Wright公司的下屬企業(yè)Vmetro推出了基于FMC標準的第一款I(lǐng)/O模塊,。ADC510現(xiàn)有采用風(fēng)冷和傳導(dǎo)冷卻的堅固版,集成了兩個12 bit,、500 MHz ADC芯片,,用于數(shù)字信號處理應(yīng)用,如雷達,、信號智能和電子對抗,。
低成本的市售商用嵌入模塊也采用FPGA技術(shù),為定制應(yīng)用的設(shè)計者提供了靈活性,。例如,,Technologic Systems公司的TS-7370是一種PC/104外形、可接LCD的單板機,,該公司采用了Cirrus公司的EP9302 200 MHz ARM9 CPU和一個用戶編程的Lattice XP2 FPGA(圖5),。該公司產(chǎn)品可接LCD,因為FPGA連接到了一個專用的RAM幀緩沖,,使用戶能夠在FPGA上建立一個定制視頻核心,,為大多數(shù)彩色TFT(薄膜晶體管)LCD面板提供接口。TS-7370支持多種嵌入系統(tǒng)應(yīng)用,,其外設(shè)接口包括板載RAM,、10/100 Mbps以太網(wǎng)、USB 2.0主機,、串行口,、一個SD(數(shù)字安全)卡槽、ADC通道,、數(shù)字I/O線,、溫度傳感器,,以及一個實時時鐘,。TS-7370開創(chuàng)性地運行Linux 2.6,價格為149美元(100件),。
當設(shè)計團隊努力適應(yīng)降低的預(yù)算和增加的系統(tǒng)復(fù)雜度時,,F(xiàn)PGA器件與開發(fā)工具也成為新的嵌入設(shè)計中的主要考慮因素,。FPGA提供用單一硬件設(shè)計建立多種系統(tǒng)配置的方式??芍嘏渲闷骷τ诟咚?、多通道系統(tǒng)有特殊的價值,它的性能需求很難用傳統(tǒng)的微處理器架構(gòu)滿足,。雖然FPGA增加的重復(fù)成本和功耗要求限制了它們的應(yīng)用,,但中低批量的項目可以受益于減少的風(fēng)險、縮短的設(shè)計周期以及最低的非重復(fù)工程,,因此FPGA是一種很好的選擇,。