|  | |
| FPGA和DSP設計的區別 | |
| 系統設計(ji)人員在(zai)項(xiang)目的架構(gou)設計(ji)階(jie)段(duan)要(yao)面臨(lin)一系列(lie)關鍵問(wen)(wen)題(ti),其中(zhong)一個越來越重(zhong)(zhong)要(yao)的問(wen)(wen)題(ti)就是到底應采用現場可編程門陣列(lie)(FPGA),還(huan)是采用數字(zi)信號處理器(DSP)。FPGA設計(ji)與DSP設計(ji)相比,大的不(bu)同(tong)之(zhi)處在(zai)哪里?這個問(wen)(wen)題(ti)要(yao)從多個角度看(kan),它(ta)們都(dou)用于某(mou)個功能的硬件電路實現,但是它(ta)們的側重(zhong)(zhong)點(dian)有所不(bu)同(tong)。 1、內部資源 FPGA側重(zhong)于設計(ji)具(ju)有某(mou)個(ge)功能(neng)(neng)的(de)硬(ying)(ying)件(jian)(jian)電路(lu)(lu),內部資源是VersaTiles(ActelFPGA)之類(lei)的(de)微小單(dan)元,FPGA的(de)內部單(dan)元初始在編程前都(dou)是使(shi)用的(de)是HDL語言實(shi)(shi)(shi)現硬(ying)(ying)件(jian)(jian)電路(lu)(lu)的(de)設計(ji)描述(shu)。FPGA內部的(de)連(lian)線資源將這些功能(neng)(neng)模(mo)塊(kuai)的(de)內部和模(mo)塊(kuai)之間(jian)的(de)信號連(lian)接起來,構成較大的(de)模(mo)塊(kuai)。FPGA可以(yi)內部實(shi)(shi)(shi)現ALU,加法器,乘法器,累(lei)加器,FIFO,SRAM,DDRcontroller,FFT,HDLC,DMA,PWM等等數字電路(lu)(lu),也(ye)就說(shuo)我們要用其(qi)實(shi)(shi)(shi)現一個(ge)特定的(de)或是通用的(de)硬(ying)(ying)件(jian)(jian)功能(neng)(neng)一個(ge)或是多個(ge)模(mo)塊(kuai),這些模(mo)塊(kuai)的(de)各(ge)個(ge)細(xi)節(jie)都(dou)要要用HDL來描述(shu)設計(ji)實(shi)(shi)(shi)現。   目(mu)前的(de)(de)(de)(de)(de)(de)FPGA都(dou)可(ke)以直(zhi)接內嵌諸如ARM7,CoretexM1,Core8051等微處(chu)理(li)器,用于(yu)FPGA的(de)(de)(de)(de)(de)(de)軟核的(de)(de)(de)(de)(de)(de),也有的(de)(de)(de)(de)(de)(de)FPGA廠商(shang)將(jiang)一些(xie)硬(ying)件(jian)模塊直(zhi)接做到FPGA中(zhong),這些(xie)是FPGA內部的(de)(de)(de)(de)(de)(de)硬(ying)核。傳統的(de)(de)(de)(de)(de)(de)FPGA都(dou)是實(shi)(shi)現(xian)純數字電路(lu)的(de)(de)(de)(de)(de)(de),業界只(zhi)有Actel的(de)(de)(de)(de)(de)(de)FPGA實(shi)(shi)現(xian)了(le)(le)數模混合的(de)(de)(de)(de)(de)(de)PSC單芯片(pian)技術,真正的(de)(de)(de)(de)(de)(de)提(ti)升(sheng)和擴大(da)了(le)(le)FPGA的(de)(de)(de)(de)(de)(de)應用功能和領域(yu)。 此(ci)外,多(duo)數(shu)FPGA都有PLL,DLL之類(lei)的(de)(de)鎖(suo)相環,Slew可調,Actel的(de)(de)還內建(jian)了OSC,RTC,Powermanager之類(lei)的(de)(de)硬(ying)件單元,甚至Actel的(de)(de)Fusion系列還內建(jian)了600kbps的(de)(de)12bit的(de)(de)ADC以(yi)及MOSFETDriver之類(lei)模(mo)擬(ni)接口,內部有UserFlashMemeory,FlashROM等(deng)資源可以(yi)實現真正(zheng)的(de)(de)PSC,Bootloader之類(lei)的(de)(de)功能(neng)。 DSP主要(yao)(yao)是(shi)(shi)算法處理,內部(bu)(bu)資源(yuan)主要(yao)(yao)是(shi)(shi)乘法器(qi)(qi),加法器(qi)(qi)之類的(de)資源(yuan),有(you)SPI接口,UART接口,接受一定(ding)的(de)指令(ling)集,內部(bu)(bu)的(de)資源(yuan)基本上都是(shi)(shi)現成的(de),需要(yao)(yao)客戶的(de)需要(yao)(yao)而重新配(pei)置,方便(bian)于客戶的(de)使用(yong),但是(shi)(shi)相對來講(jiang)其功能是(shi)(shi)有(you)局限性的(de),所以主要(yao)(yao)用(yong)于某些(xie)特定(ding)的(de)領域。DSP也有(you)內嵌的(de)鎖相環(huan),計數(shu)器(qi)(qi),Baudrate發(fa)生器(qi)(qi),有(you)的(de)DSP也有(you)ADC模擬接口。 2、編程語言 FPGA主要使用HDL,包括VHDl,Verilog,還有數模混合的描述語言Verilog-AMS等。(課程推薦:FPGA培訓) DSP使用C,匯編語言編程。(課程推薦:C6000 DSP培訓) 3、功能角度 FPGA普(pu)遍用(yong)(yong)于實(shi)現(xian)(xian)數字(zi)電(dian)路(lu)模(mo)塊,基本上(shang)能(neng)(neng)(neng)(neng)實(shi)現(xian)(xian)所有(you)的(de)(de)(de)數字(zi)電(dian)路(lu),傳統的(de)(de)(de)數字(zi)功能(neng)(neng)(neng)(neng)模(mo)塊,以及客戶產(chan)品特定需求的(de)(de)(de)數字(zi)處(chu)理(li)模(mo)塊。FPGA的(de)(de)(de)IO橋接種(zhong)類(lei)繁(fan)多,不同種(zhong)類(lei)的(de)(de)(de)級別的(de)(de)(de)FPGA支持的(de)(de)(de)IO標(biao)準(zhun)和協議都(dou)不盡相同,但是(shi)這(zhe)些IO的(de)(de)(de)驅動能(neng)(neng)(neng)(neng)力或(huo)是(shi)電(dian)壓都(dou)是(shi)可(ke)(ke)編程(cheng)配置的(de)(de)(de)。任(ren)何數字(zi)功能(neng)(neng)(neng)(neng)電(dian)路(lu)的(de)(de)(de)實(shi)現(xian)(xian),高速(su)信號的(de)(de)(de)處(chu)理(li),控制領域的(de)(de)(de)信號處(chu)理(li),橋轉換協議的(de)(de)(de)實(shi)現(xian)(xian),Actel的(de)(de)(de)Fusion還能(neng)(neng)(neng)(neng)用(yong)(yong)于電(dian)流/電(dian)壓檢測,溫度的(de)(de)(de)檢測,MOSFETdriver,電(dian)源(yuan)管理(li),其獨特的(de)(de)(de)Flash工(gong)藝技術可(ke)(ke)以依靠電(dian)池供電(dian)工(gong)作,和掉電(dian)實(shi)時(shi)保存數據,超(chao)低功耗,多種(zhong)工(gong)作模(mo)式(Static,Sleepmode),尤其IGLOO芯片的(de)(de)(de)功能(neng)(neng)(neng)(neng)在Sleepmode下功耗只有(you)5uW。這(zhe)樣的(de)(de)(de)功耗用(yong)(yong)于手機,GPS之類(lei)的(de)(de)(de)移動手持設備中能(neng)(neng)(neng)(neng)發揮更大的(de)(de)(de)功能(neng)(neng)(neng)(neng)應用(yong)(yong)。 除(chu)此之外,用FPGA實現ASIC的(de)前期(qi)的(de)設(she)計驗證,FPGA實現DSP的(de)功能(neng),實現CPU的(de)功能(neng),MCU的(de)功能(neng),內(nei)存控(kong)制器,用于工(gong)業(ye)的(de)PWM,SVPWM,Clarke,Park的(de)正逆變換的(de)實現,VGA控(kong)制,數據的(de)編(bian)解碼,解復(fu)用,高達上Gbps的(de)信號的(de)處理,協議的(de)轉換實現等等等等功能(neng),都(dou)是(shi)DSP難以勝任的(de)。 DSP內部有很多現成的(de)(de)(de)(de)(de)(de)硬件模(mo)塊和(he)接口(kou)以及控(kong)(kong)制器,但(dan)(dan)是(shi)需要軟件編(bian)程設(she)定,可以實現PWM控(kong)(kong)制,接口(kou)控(kong)(kong)制,UART接口(kou),SPI接口(kou)等功能。但(dan)(dan)是(shi)由于(yu)受指令(ling)集的(de)(de)(de)(de)(de)(de)時鐘(zhong)周期的(de)(de)(de)(de)(de)(de)限(xian)制,DSP不能處理(li)太高的(de)(de)(de)(de)(de)(de)信號(hao),至于(yu)說上(shang)Gbps的(de)(de)(de)(de)(de)(de)信號(hao),LVDS之類(lei)的(de)(de)(de)(de)(de)(de)信號(hao)就很難以涉(she)及了(le)。所以相應的(de)(de)(de)(de)(de)(de)應用領(ling)域會(hui)有所限(xian)制。但(dan)(dan)是(shi)不同的(de)(de)(de)(de)(de)(de)領(ling)域客戶的(de)(de)(de)(de)(de)(de)設(she)計方案不同,考慮的(de)(de)(de)(de)(de)(de)側重點不同,有些領(ling)域設(she)計者也是(shi)愛好(hao)使(shi)用DSP的(de)(de)(de)(de)(de)(de),諸如(ru)算法實現,協(xie)議的(de)(de)(de)(de)(de)(de)處理(li)等等如(ru)果換(huan)作FPGA來處理(li)那就得不償失。 FPGA和DSP的區別還有很多,這里先說這些,當然具體的環境和設計方案各有其用武之地,設計者要根據自己的需要來選用。 免費下載華清遠見DSP視頻教程 ! 熱點鏈接: 
         1、FPGA是什么 |