小白入門FPGA必備基礎知識
發布時間:2017-01-17 責任編輯:wenwei
【導讀】FPGA已成為現今的技術熱點之一,無論學生還是工程師都希望跨進FPGA的大門。那麼我們要玩轉FPGA必須具備哪些基礎知識呢?下麵我們慢慢道來,希望能夠為學習FPGA的人帶來幫助。
(一) 要了解什麼是FPGA
既然要玩轉FPGA,那我們首先最重要的當然是要了解什麼FPGA.
FPGA(Field-Program mable Gate Array),即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定製電路而出現的,既解決了定製電路的不足,又克服了原有可編程器件門電路數有限的缺點。所以,要想玩轉FPGA,就必須理解FPGA內部的工作原理,學習如何利用這些單元實現複雜的邏輯設計。
(二) FPGA的工作原理
FPGA一般來說比ASIC(專用集成芯片)的速度要慢,無法完成複雜的設計,但是功耗較低。但是 他們也有很多的優點比如可以快速成品,可以被修改來改正程序中的錯誤和更便宜的造價。廠商也可能會提供便宜的但是編輯能力差的FPGA.因為這些芯片有比 較差的可編輯能力,所以這些設計的開發是在普通的FPGA上完成的,然後將設計轉移到一個類似於ASIC的芯片上。
FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個概念,內部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內部連線(Interconnect)三個部分。 現場可編程門陣列(FPGA)是可編程器件,與傳統邏輯電路和 門陣列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的結構。FPGA利用小型查找表(16×1RAM)來實現組合邏輯,每個查找表連接到一 個D觸發器的輸入端,觸發器再來驅動其他邏輯電路或驅動I/O,由此構成了既可實現組合邏輯功能又可實現時序邏輯功能的基本邏輯單元模塊,這些模塊間利用 金屬連線互相連接或連接到I/O模塊。FPGA的de邏luo輯ji是shi通tong過guo向xiang內nei部bu靜jing態tai存cun儲chu單dan元yuan加jia載zai編bian程cheng數shu據ju來lai實shi現xian的de,存cun儲chu在zai存cun儲chu器qi單dan元yuan中zhong的de值zhi決jue定ding了le邏luo輯ji單dan元yuan的de邏luo輯ji功gong能neng以yi及ji各ge模mo塊kuai之zhi間jian或huo模mo塊kuai與yuI/O間的聯接方式,並最終決定了FPGA所能實現的功能,FPGA允許無限次的編程。
三) FPGA設計的基礎問題
FPGA的基礎就是數字電路和VHDL語 言,想學好FPGAderen,jianyichuangtoudouyouyibenshuzidianludeshu,buguanshinagebanbende,zhegeshijichu,duolejieyeyouzhuyuxingchengyingjianshejidesixiang。zaiyuyanfangmian,jianyichuxuezhexuexi Verilog語言,VHDL語言語法規範嚴格,調試起來很慢,Verilog語言容易上手,而且,一般大型企業都是用Verilog語言,VHDL語言 規範,易讀性強,所以一般軍工都用VHDL.
1、工具問題
熟悉幾個常用的就可以的,開發環境QuartusII ,或ISE 就可以了,這兩個基本是相通的,會了哪一個,另外的那個也就很Easy了。功能仿真建議使用Modelsim ,如果你是做芯片的,就可以學學別的仿真工具,做FPGA的,Modelsim就足夠了。綜合工具一般用Synplify,初學先不用太關心這個,用 Quartus綜合就OK了。
2、思想問題
duiyuchuxuezhe,tebieshicongruanjianzhuanguolaide,shejidechengxujifeiziyuanyousuduman,erqiehenyoukenengzonghebule,zhejiuyaoqiuwomenshuxiyixiegudingmokuaidexiefa,kezonghedemokuaihenduoshushangdouyou,yuyanjieshaoshangdouyou,buyaoxiangdangrandeyongruanjiandesixiangquxieyingjian。
3、習慣問題
FPGA學習要多練習,多仿真,signaltapII是很好的工具,可以看到每個信號的真實值, 建議初學者一定要自己多動手,光看書是沒用的。關於英文文檔問題,如果要學會Quartus II的所有功能,隻要看它的handbook就可以了,很詳細,對於IT行業的人,大部分知識來源都是英文文檔,一定要耐心看,會從中收獲很多的。
4、算法問題
做FPGA的工程師,最後一般都是專攻算法了,這些基礎知識都是順手捏來的,如果你沒有做好搞理論 的準備,學FPGA始shi終zhong隻zhi能neng停ting留liu在zai初chu級ji階jie段duan上shang。對dui於yu初chu學xue者zhe,數shu字zi信xin號hao處chu理li是shi基ji礎chu,應ying該gai好hao好hao理li解jie,往wang更geng深shen的de方fang向xiang,不bu用yong什shen麼me都dou學xue,根gen據ju你ni以yi後hou從cong事shi的de方fang向xiang,比bi如ru 說通信、圖像處理,雷達、聲納、導航定位等。

(四) FPGA的配置模式
FPGA有多種配置模式:並行主模式為一片FPGA加一片EPROM的方式;主從模式可以支持一片PROM編程多片FPGA;串行模式可以采用串行PROM編程FPGA;外設模式可以將FPGA作為微處理器的外設,由微處理器對其編程。
如何實現快速的時序收斂、降低功耗和成本、優化時鍾管理並降低FPGA與PCB並行設計的複雜性等問題,一直是采用FPGA的係統設計工程師需要考慮的關鍵問題。如今,隨著FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向發展,係統設計工 程師在從這些優異性能獲益的同時,不得不麵對由於FPGA前所未有的性能和能力水平而帶來的新的設計挑戰。
(五) FPGA設計的三大法則
第一 麵積與速度的互換
這裏的麵積指的是FPGA的芯片資源,包括邏輯資源和I/O資源等;這裏的速度指的是FPGA工作 的最高頻率(和DSP或者ARM不同,FPGA設計的工 作頻率是不固定的,而是和設計本身的延遲緊密相連)。 在實際設計中,使用最小的麵積設計出最高的速度是每一個開發者追求的目標,但是“魚和熊掌不可兼得”,取舍之間展示了一個開發者的智慧。
1.速度換麵積
速度優勢可以換取麵積的節約。麵積越小,就意味著可以用更低的成本來實現產品的功 neng。suduhuanmianjideyuanzezaiyixiejiaofuzadesuanfashejizhongchangchanghuiyongdao。zaizhexiesuanfashejizhong,liushuixianshejichangchangshibixuyongdaodejishu。zailiushuixiandeshejizhong,zhexiebeizhongfushiyongdanshishi 用次數不同的模塊將會占用大量的FPGA資源。對FPGA的設計技術進行改造,將被重複使用的算法模塊提煉出最小的複用單元,並利用這個最小的高速代替原 設she計ji中zhong被bei重zhong複fu使shi用yong但dan次ci數shu不bu同tong的de模mo塊kuai。當dang然ran,在zai改gai造zao的de過guo程cheng中zhong必bi然ran會hui增zeng加jia一yi些xie其qi他ta的de資zi源yuan來lai實shi現xian這zhe個ge代dai替ti的de過guo程cheng。但dan是shi隻zhi要yao速su度du具ju有you優you勢shi,那na麼me增zeng加jia的de這zhe部bu分fen邏luo輯ji依yi 然能夠實現降低麵積提高速度的目的。
可以看到,速度換麵積的關鍵是高速基本單元的複用。
2.麵積換速度
在zai這zhe種zhong方fang法fa中zhong麵mian積ji的de複fu製zhi可ke以yi換huan取qu速su度du的de提ti高gao。支zhi持chi的de速su度du越yue高gao,就jiu意yi味wei著zhe可ke以yi實shi現xian更geng高gao的de產chan品pin性xing能neng。一yi些xie注zhu重zhong產chan品pin性xing能neng的de應ying用yong領ling域yu可ke以yi采cai用yong並bing行xing處chu理li技ji術shu,實shi現xian麵mian積ji換huan速su度du。
第二 硬件可實現原則
FPGA設計通常會使用HDL語言,比如Verilog HDL或者VHDL.當采用HDL語言來描述一個硬件電路功能的時候,一定要確保代碼描述的電路是硬件可實現的。
Verilog HDL語言的語法與C語言很相似,但是它們之間有著本質的區別。C語言是基於過程的高級語言,編譯後可以在CPU上運行。而Verilog HDL語言描述的本身就是硬件結構,編譯後是硬件電路。因此,有些語句在C語言的環境中應用是沒有問題的,但是在HDL語言環境下就會導致結果不正確或者 不理想。如:
for(i=0;i<16;i++)
DoSomething();
在C語言中運行沒有任何問題,但是在Verilog HDL的環境下編譯就會導致綜合後的資源嚴重浪費。
第三 同步設計原則
同步電路和異步電路是FPGA設計的兩種基本電路結構形式。
異yi步bu電dian路lu的de最zui大da缺que點dian是shi會hui產chan生sheng毛mao刺ci。同tong步bu設she計ji的de核he心xin電dian路lu是shi由you各ge種zhong觸chu發fa器qi構gou成cheng的de。這zhe類lei電dian路lu的de任ren何he輸shu出chu都dou是shi在zai某mou個ge時shi鍾zhong的de邊bian沿yan驅qu動dong觸chu發fa器qi產chan生sheng的de。所suo以yi,同tong步bu設she計ji可ke以yi很hen好hao地di避bi免mian毛mao刺ci的de產chan生sheng。
(六) FPGA設計的主要應用
1、電路設計
連接邏輯,控製邏輯是FPGA早期發揮作用比較大的領域也是FPGA應用的基石。事實上在電路設計 中應用FPGA的難度還是比較大的這要求開發者要具備相應的硬件知識(電路知識)和軟件應用能力(開發工具)這方麵的人才總是緊缺的,往往都從事新技術, 新產品的開發成功的產品將變成市場主流基礎產品供產品設計者應用在不遠的將來,通用和專用IP的設計將成為一個熱門行業!搞電路設計的前提是必須要具備一 定的硬件知識。在這個層麵,幹重於學,當然,快速入門是很重要的,越好的位子越不等人電路開發是黃金飯碗。
2、產品設計
把相對成熟的技術應用到某些特定領域如通訊,視頻,信息處理等等開發出滿足行業需要並能被行業客戶 接受的產品這方麵主要是FPGA技術和專業技術的結合問題,另外還有就是與專業客戶的界麵問題產品設計還包括專業工具類產品及民用產品,前者重點在性能, 後者對價格敏感產品設計以實現產品功能為主要目的,FPGA技術是一個實現手段在這個領域,FPGA因為具備接口,控製,功能IP,內嵌CPU等特點有條 件實現一個構造簡單,固化程度高,功能全麵的係統產品設計將是FPGA技術應用最廣大的市場,具有極大的爆發性的需求空間產品設計對技術人員的要求比較 高,路途也比較漫長不過現在整個行業正處在組建“首發團隊”的狀態,隻要加入,前途光明產品設計是一種職業發展方向定位,不是簡單的愛好就能做到的!產品 設計領域會造就大量的企業和企業家,是一個發展熱點和機遇。
3、係統級
係統級的應用是FPGA與傳統的計算機技術結合,實現一種FPGA版的計算機係統,實現一個基本環境,在這個平台上跑LINUX等係統,這個係統也就支持各種標準外設和功能接口(如圖象接口)了這對於快速構成FPGA大型係統來講是很有幫助的。這種“山寨”味很濃的係統早期優勢不一定很明顯,類似ARM係統的境況但若能慢慢發揮出FPGAdeyoushi,zhujianshixianyixietesexitongyeshiyizhongfazhanfangxiang。ruozaixitongjiyingyongzhong,kaifarenyuanbujubeixitongdekuochongkaifanengli,zhishigaogaobianchengshimeishenmeyiyide,dangranshebeiqudongchengxudekaifashilingyizhongqingkuang,gaoxitongjiyingyongkansiqidiangao,danbujubeishencengkaifanengli,henkenenghuibianchengaihaozhe,jiuruhenduorenhuizuowangyedanbunengchengzuohuibiancheng。leisiyishangshijidiangerenguandian,xiwangnengbangzhuxiangxueFPGA但(dan)很(hen)茫(mang)然(ran)無(wu)措(cuo)的(de)人(ren)理(li)一(yi)理(li)思(si)路(lu)。這(zhe)是(shi)一(yi)個(ge)不(bu)錯(cuo)的(de)行(xing)業(ye),有(you)很(hen)好(hao)的(de)個(ge)人(ren)成(cheng)功(gong)機(ji)會(hui)。但(dan)也(ye)肯(ken)定(ding)是(shi)一(yi)個(ge)競(jing)爭(zheng)很(hen)激(ji)烈(lie)的(de)行(xing)業(ye),關(guan)鍵(jian)看(kan)的(de)就(jiu)是(shi)速(su)度(du)和(he)深(shen)度(du)當(dang)然(ran)還(hai)有(you)市(shi)場(chang)適(shi)應(ying)能(neng)力(li)。
以上,我們了解到了FPGA基礎知識,雖然FPGA入(ru)門(men)簡(jian)單(dan)精(jing)通(tong)難(nan),但(dan)是(shi)若(ruo)要(yao)想(xiang)入(ru)門(men),買(mai)一(yi)塊(kuai)開(kai)發(fa)板(ban)跟(gen)著(zhe)例(li)程(cheng)走(zou)一(yi)遍(bian),很(hen)多(duo)人(ren)都(dou)能(neng)在(zai)很(hen)短(duan)的(de)時(shi)間(jian)內(nei)熟(shu)悉(xi)開(kai)發(fa)軟(ruan)件(jian)的(de)操(cao)作(zuo)方(fang)法(fa)並(bing)且(qie)點(dian)亮(liang)開(kai)發(fa)板(ban)上(shang)的(de)LED或者再實現個跑馬燈什麼的。但是再往後進步往往就進展很慢。上麵提到的六方麵是FPGA入門的基礎知識,希望能夠為學習FPGA的人帶來幫助。
推薦閱讀:
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 築基AI4S:摩爾線程全功能GPU加速中國生命科學自主生態
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
- 通過直接、準確、自動測量超低範圍的氯殘留來推動反滲透膜保護
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索





