《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > FPGA如何改變嵌入設(shè)計(jì)格局
FPGA如何改變嵌入設(shè)計(jì)格局
Icbuy
Icbuy
摘要:  由于經(jīng)濟(jì)下滑損及開發(fā)預(yù)算減少,嵌入系統(tǒng)設(shè)計(jì)者正在轉(zhuǎn)向FPGA(現(xiàn)場(chǎng)可編程門陣列)技術(shù),以縮減開發(fā)周期、對(duì)抗設(shè)備老化以及簡(jiǎn)化產(chǎn)品升級(jí)。通過采用數(shù)量龐大且不斷增加的FPGA開發(fā)工具、可重用邏輯單元以及市售商用模塊,設(shè)計(jì)者可以構(gòu)思出高性能嵌入系統(tǒng),并且能夠根據(jù)需求變化作重新配置,從而盡量減少對(duì)工程和制造的影響。
關(guān)鍵詞: FPGA VHDL
Abstract:
Key words :
  由于經(jīng)濟(jì)下滑損及開發(fā)預(yù)算減少,嵌入系統(tǒng)設(shè)計(jì)者正在轉(zhuǎn)向FPGA(現(xiàn)場(chǎng)可編程門陣列)技術(shù),以縮減開發(fā)周期、對(duì)抗設(shè)備老化以及簡(jiǎn)化產(chǎn)品升級(jí)。通過采用數(shù)量龐大且不斷增加的FPGA開發(fā)工具、可重用邏輯單元以及市售商用模塊,設(shè)計(jì)者可以構(gòu)思出高性能嵌入系統(tǒng),并且能夠根據(jù)需求變化作重新配置,從而盡量減少對(duì)工程和制造的影響。過去,電路板設(shè)計(jì)者使用這些器件作系統(tǒng)元件之間的互連,但最新的高密度產(chǎn)品也可以替代一個(gè)典型嵌入項(xiàng)目中的處理器、內(nèi)存、定制邏輯及很多外設(shè)。盡管它有能力改變嵌入架構(gòu),設(shè)計(jì)者仍應(yīng)分析性能、功率和成本局限,以確定FPGA技術(shù)最適用的地方。

  自20世紀(jì)70年代可編程邏輯陣列出現(xiàn)以來(lái),F(xiàn)PGA技術(shù)已發(fā)展成為一個(gè)興旺的市場(chǎng)。盡管每家供應(yīng)商FPGA的精確結(jié)構(gòu)不同,但基本FPGA架構(gòu)都包含了有電可編程互連的邏輯塊陣列,用戶或設(shè)計(jì)者可以在制造以后作配置。早期的器件有數(shù)千個(gè)等效門,但今天這一數(shù)量已增長(zhǎng)到數(shù)百萬(wàn)。這種互連靈活性使設(shè)計(jì)者能夠建立準(zhǔn)確匹配于特定嵌入應(yīng)用需求的硬件功能。除了邏輯塊以外,最新器件還在硅片中嵌入專用處理器,使設(shè)計(jì)者能夠作出軟硬件權(quán)衡,滿足性能的需求。

  在相符合的嵌入應(yīng)用中,F(xiàn)PGA技術(shù)為開發(fā)人員提供了多種針對(duì)分立實(shí)現(xiàn)或定制邏輯實(shí)現(xiàn)的優(yōu)勢(shì)。很多有經(jīng)驗(yàn)的設(shè)計(jì)者在說到自己采用FPGA的主要原因時(shí),都會(huì)提到較短的開發(fā)日程、更低的非重復(fù)成本以及量產(chǎn)后合并改動(dòng)的能力。在高性能應(yīng)用中,設(shè)計(jì)者可以建立多個(gè)并行的計(jì)算結(jié)構(gòu),其性能超過專用處理器。FPGA有一個(gè)經(jīng)常被提及的缺點(diǎn),那就是與通用處理器或定制ASIC相比需要更多的功耗。同樣,由于存在多個(gè)導(dǎo)通晶體管和連接路徑的電阻,采用FPGA的產(chǎn)品也慢于相比的普通設(shè)計(jì)。雖然沒有考慮其他方案的開發(fā)時(shí)間,但FPGA技術(shù)的重復(fù)成本高于普通電路或定制電路。

  FPGA采用多種技術(shù)作互連和邏輯塊的編程。例如,反熔絲硅結(jié)構(gòu)(antifuse-silicon)在其兩端施加一個(gè)高電壓時(shí),會(huì)建立一個(gè)低電阻的鏈接。其優(yōu)點(diǎn)包括低串聯(lián)電阻和低寄生電容,但主要缺點(diǎn)是采用反熔絲的FPGA是一次寫入器件,因此無(wú)法重新配置。最常見的編程技術(shù)是靜態(tài)RAM單元,通過使能和禁止導(dǎo)通晶體管而對(duì)FPGA結(jié)構(gòu)編程。雖然要多個(gè)晶體管才能實(shí)現(xiàn)一個(gè)存儲(chǔ)單元,但SRAM有快速的可重編程能力,并且可以用常規(guī)的硅CMOS技術(shù)來(lái)實(shí)現(xiàn)?;赟RAM的FPGA還需要一個(gè)外部引導(dǎo)器件,在上電時(shí)設(shè)定存儲(chǔ)器。另外也可以用EPROM、EEPROM和閃存技術(shù)作FPGA編程,優(yōu)點(diǎn)也是可重復(fù)編程能力,而無(wú)需外接引導(dǎo)器件。

  制造商也創(chuàng)造出多種對(duì)FPGA電路作描述和編程的方法。最常見的方法是采用一種HDL(硬件描述語(yǔ)言),如Verilog或VHDL(超高速集成電路HDL),描述一個(gè)設(shè)計(jì)的功能和結(jié)構(gòu)。一旦定義了架構(gòu),就可以用另外的工具在一款規(guī)定的FPGA上實(shí)現(xiàn)這個(gè)結(jié)構(gòu)。這個(gè)過程包括了電源與結(jié)構(gòu)優(yōu)化,然后是硬件分區(qū)、布局以及互連的布線。最后階段是將設(shè)計(jì)裝入目標(biāo)FPGA,在真實(shí)的硬件環(huán)境中作測(cè)試。

 

圖1 National Instruments公司的嵌入軟件評(píng)估工具套件使用戶能夠從一個(gè)圖形化的框圖,創(chuàng)建、編譯和運(yùn)行FPGA應(yīng)用

  隨著FPGA功能伴隨復(fù)雜性和密度而增長(zhǎng),設(shè)計(jì)者發(fā)明了各種方式來(lái)交換HDL代碼的模塊化塊,這樣其他人就可以整合到自己產(chǎn)品中。這些功能塊一般叫做IP(知識(shí)產(chǎn)權(quán))核心,它使制造商能夠重新使用以前設(shè)計(jì)中的電路部件,或只要簡(jiǎn)單地從外部購(gòu)買功能。IP核心的實(shí)例包括UART、以太網(wǎng)接口、編解碼器和微控制器等。制造商直接在一個(gè)FPGA硅片上物理地實(shí)現(xiàn)硬IP核心,并以HDL代碼形式提供軟核心,它可以跨多種器件作移植。IP核心可從FPGA供應(yīng)商和第三方供應(yīng)商處直接獲得,或從Open Cores等來(lái)源的免費(fèi)開源HDL代碼獲得。商用IP通常要付費(fèi),并包括有文檔、驗(yàn)證工具和支持。

  對(duì)一些FPGA開發(fā)者來(lái)說,設(shè)計(jì)安全性與IP損失可能是一個(gè)主要考慮因素。在有些情況下,尤其是那些在外部保存配置數(shù)據(jù),并在上電時(shí)將其傳送給FPGA的SRAM型設(shè)計(jì),IP信息比較脆弱。為防止IP損失,F(xiàn)PGA供應(yīng)商采用非易失性編程技術(shù)以及嵌入序列號(hào)來(lái)跟蹤偽造產(chǎn)品。

  所有FPGA供應(yīng)商都提供一個(gè)工具集,包括編程工具和與器件配套的IP。例如,Xilinx公司的Virtex-5 FX70T版EDK(嵌入開發(fā)套件),提供了一個(gè)ML507開發(fā)板、Platform Studio嵌入工具組件以及ISE(集成軟件環(huán)境),支持PowerPC 440硬處理器和MicroBlaze軟處理器(圖1)。該套件具有一個(gè)集成開發(fā)環(huán)境、多種軟件工具、配置向?qū)?,以及IP目標(biāo)的嵌入設(shè)計(jì)。用戶可以在邏輯圖編輯器中輸入一個(gè)電路,對(duì)電路時(shí)序性能作仿真,對(duì)Virtex-5 FPGA作編譯,然后在ML507原型板上測(cè)試設(shè)計(jì)。Virtex-5 FX70T EDK可以在線購(gòu)買,價(jià)格為2595美元。

  圖形設(shè)計(jì)

  FPGA開發(fā)工具也可以從第三方供應(yīng)商和嵌入板制造商處獲得。例如,National Instruments公司最近推出了一款采用FPGA的單板RIO(可配置I /O)模塊,適用于嵌入應(yīng)用,同時(shí)還有一個(gè)評(píng)估套件,用其LabView圖形設(shè)計(jì)軟件演示編程技術(shù)。新模塊在一塊8.2英寸×5.6英寸 PCB(印制電路板)上包括了一個(gè)實(shí)時(shí)嵌入處理器和一個(gè)可配置FPGA, 另外還有模擬與數(shù)字I /O。該模塊采用一只266 MHz或400 MHz飛思卡爾MPC5200處理器、Wi n d Ri v e r 公司的VxWorks實(shí)時(shí)操作系統(tǒng),以及一片Xilinx Spartan-3 FPGA。板上的模擬與數(shù)字I/O直接連接到FPGA上,提供對(duì)時(shí)序和I/O信號(hào)處理的低層定制。單板RIO器件的起價(jià)為1000美元(100件以上)。

  為支持單板RIO,Na t i o n a l Instruments公司還推出了嵌入軟件評(píng)估工具套件, 為嵌入應(yīng)用評(píng)估LabView Real-Time和LabView FPGA的編程經(jīng)驗(yàn)。該套件包括擴(kuò)展的評(píng)估軟件、一個(gè)NI單板RIO評(píng)估器件、一個(gè)用于I /O接口的子板、一個(gè)電源、電纜、一個(gè)分步教程,以及多個(gè)可在LabView中立即運(yùn)行的普通嵌入任務(wù)實(shí)例(圖2)。該套件包括多個(gè)練習(xí),通過在LabView中構(gòu)建和微調(diào)圖形化塊圖,學(xué)習(xí)創(chuàng)建、編譯和運(yùn)行FPGA應(yīng)用。LabView嵌入平臺(tái)評(píng)估套件的90天版本價(jià)格為999美元。

  越來(lái)越多的商用電路板制造公司正在采用FPGA技術(shù)滿足復(fù)雜的設(shè)計(jì)需求,并允許作未來(lái)的修改。

  例如,Quantum3D承諾在安全與保密關(guān)鍵應(yīng)用中提供不過時(shí)的硬件,如主要的飛行儀表和MLS(多層安全)系統(tǒng),它采用的是新型Sentiris AV1 PCI XMC(express mezzanine card)(圖3)。供應(yīng)商采用了一個(gè)基于FPGA視頻與圖像處理核心的組合,而不是傳統(tǒng)的專用GPU(圖形處理單元)。雖然Sentiris AV1最初設(shè)計(jì)用于飛行認(rèn)證的圖像生成應(yīng)用,但它也適用于其他用途,如醫(yī)療應(yīng)用中的實(shí)時(shí)圖像。該產(chǎn)品有模擬與HD-SDI(高清晰串行數(shù)字接口)視頻輸出,其視頻與圖形處理能力可實(shí)現(xiàn)駕駛室和關(guān)鍵任務(wù)應(yīng)用中的3D圖像。Sentiris AV1提供512MB的ECC保護(hù)DDR2內(nèi)存、雙HD-SDI輸出,以及八通路的PCIe(外設(shè)部件快速互連)。Sentiris AV1的起價(jià)為9980美元。

圖2 Quantum3D公司的Sentiris AV1 PCIexpress中間卡集成了一個(gè)FPGA視頻與圖形處理核心,以應(yīng)對(duì)設(shè)備更新問題

  FPGA技術(shù)有出色的并行處理能力,因此很適合于高性能、多通道應(yīng)用,如軟件無(wú)線電、數(shù)據(jù)采集和數(shù)字信號(hào)處理。例如,Pentek最近推出了Model 7151高分辨率軟件無(wú)線電模塊,用于GSM(全球移動(dòng)系統(tǒng))通信手機(jī)監(jiān)控以及信號(hào)智能應(yīng)用(圖4)。四個(gè)200MHz、16 bit ADC饋給一個(gè)專有的FPGA IP核心,它提供256個(gè)DDC通道(數(shù)字下變頻)。你可以將每組64個(gè) DDC通道配置給一個(gè)特殊的輸出信號(hào)帶寬,以適合需要混合信號(hào)類型或多種調(diào)制方法的應(yīng)用??梢詮娜魏嗡膫€(gè)ADC中獨(dú)立獲得每個(gè)DDC組,一般分配給特定的天線。Model 7151使用戶能夠同時(shí)捕捉覆蓋一系列調(diào)制方式、信號(hào)帶寬和天線來(lái)源的數(shù)百個(gè)信號(hào)。Pentek提供ReadyFlow電路板支持包,為開發(fā)人員提供一個(gè)完備的硬件初始化、控制和應(yīng)用函數(shù)庫(kù),用于Linux、Windows或VxWorks操作系統(tǒng)。Model 7151 PMC(PCI中間卡)模塊版的價(jià)格為14500美元。

 

圖3 Pentek公司的Model 7151軟件射頻模塊采用了一個(gè)專利的FPGA-IP核心,提供256通道的數(shù)字下變頻

  嵌入標(biāo)準(zhǔn)

  嵌入系統(tǒng)的標(biāo)準(zhǔn)化組織也正在采用一種基于FPGA硬件的新設(shè)計(jì)規(guī)范。例如,最近被批準(zhǔn)的VITA(VMEbus國(guó)際貿(mào)易協(xié)會(huì)) 57.1 FMC(FPGA中間卡)標(biāo)準(zhǔn)使開發(fā)人員便于將FPGA集成到嵌入系統(tǒng)設(shè)計(jì)中。該規(guī)范定義了在工業(yè)標(biāo)準(zhǔn)中間卡上的I/O設(shè)備,你可以將它們連接到基板上的FPGA上。FPGA直接控制這些設(shè)備。FMC方案使你可以在多個(gè)項(xiàng)目上重用一個(gè)FPGA設(shè)計(jì),只需要簡(jiǎn)單地替換I/O部分。一個(gè)FMC模塊大約是標(biāo)準(zhǔn)PMC模塊尺寸的一半。Curtiss-Wright公司的下屬企業(yè)Vmetro推出了基于FMC標(biāo)準(zhǔn)的第一款I(lǐng)/O模塊。ADC510現(xiàn)有采用風(fēng)冷和傳導(dǎo)冷卻的堅(jiān)固版,集成了兩個(gè)12 bit、500 MHz ADC芯片,用于數(shù)字信號(hào)處理應(yīng)用,如雷達(dá)、信號(hào)智能和電子對(duì)抗。

  低成本的市售商用嵌入模塊也采用FPGA技術(shù),為定制應(yīng)用的設(shè)計(jì)者提供了靈活性。例如,Technologic Systems公司的TS-7370是一種PC/104外形、可接LCD的單板機(jī),該公司采用了Cirrus公司的EP9302 200 MHz ARM9 CPU和一個(gè)用戶編程的Lattice XP2 FPGA(圖5)。該公司產(chǎn)品可接LCD,因?yàn)镕PGA連接到了一個(gè)專用的RAM幀緩沖,使用戶能夠在FPGA上建立一個(gè)定制視頻核心,為大多數(shù)彩色TFT(薄膜晶體管)LCD面板提供接口。TS-7370支持多種嵌入系統(tǒng)應(yīng)用,其外設(shè)接口包括板載RAM、10/100 Mbps以太網(wǎng)、USB 2.0主機(jī)、串行口、一個(gè)SD(數(shù)字安全)卡槽、ADC通道、數(shù)字I/O線、溫度傳感器,以及一個(gè)實(shí)時(shí)時(shí)鐘。TS-7370開創(chuàng)性地運(yùn)行Linux 2.6,價(jià)格為149美元(100件)。

  當(dāng)設(shè)計(jì)團(tuán)隊(duì)努力適應(yīng)降低的預(yù)算和增加的系統(tǒng)復(fù)雜度時(shí),F(xiàn)PGA器件與開發(fā)工具也成為新的嵌入設(shè)計(jì)中的主要考慮因素。FPGA提供用單一硬件設(shè)計(jì)建立多種系統(tǒng)配置的方式??芍嘏渲闷骷?duì)于高速、多通道系統(tǒng)有特殊的價(jià)值,它的性能需求很難用傳統(tǒng)的微處理器架構(gòu)滿足。雖然FPGA增加的重復(fù)成本和功耗要求限制了它們的應(yīng)用,但中低批量的項(xiàng)目可以受益于減少的風(fēng)險(xiǎn)、縮短的設(shè)計(jì)周期以及最低的非重復(fù)工程,因此FPGA是一種很好的選擇。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。