FPGA全稱為Field-Programmable Gate Array,中文含義為現(xiàn)場可編程門陣列。FPGA是作為專用集成電路(ASIC)領(lǐng)域中的半定制電路而出現(xiàn)的,它克服了定制電路的不足,也解決了PAL、GAL、CPLD等可編程器件門電路的缺點。由于FPGA具有布線資源豐富,可重復(fù)編程和集成度高,投資較低的特點,在數(shù)字電路設(shè)計領(lǐng)域得到了廣泛的應(yīng)用。
買 購小編了解到,fpga主要有Verilog、VHDL和C語言進行編程,常用的還是前面兩種,雖然有些國外公司試圖C語言替代VHDL語言的目的,但是一般情況不使用C語言進行編程。
包括算法設(shè)計、代碼仿真以及設(shè)計、板機調(diào)試,設(shè)計者以及實際需求建立算法架構(gòu),利用EDA建立設(shè)計方案或HD編寫設(shè)計代碼,通過代碼仿真保證設(shè)計方案符合實際要求,最后進行板級調(diào)試,利用配置電路將相關(guān)文件下載至FPGA芯片中,驗證實際運行效果。
1、可編程輸入/輸出單元:簡稱I/O單元,是芯片與外界電路的接口部分,完成不同電氣特性下對輸入/輸出信號的驅(qū)動與匹配需求。
2、基本可編程邏輯單元:它是可編程邏輯的主體,可以根據(jù)設(shè)計靈活地改變其內(nèi)部連接與配置,完成不同的邏輯功能。FPGA的基本可編程邏輯單元幾乎都是由查找表LUT和寄存器Reg組成的。
3、嵌入式塊RAM:據(jù)MA Igoo編輯了解,F(xiàn)PGA內(nèi)部嵌入可編程RAM模塊,大大拓展了FPGA的應(yīng)用范圍和使用的靈活性。
4、豐富的布線資源:布線資源連通FPGA內(nèi)部所有單元,連線的長度和工藝決定著信號在連線上的驅(qū)動能力和傳輸速度。
5、底層嵌入功能單元:底層嵌入功能單元的概念比較籠統(tǒng),這里指那些通用程度較高的嵌入式功能模塊、入PLL、DSP、CPU等。
6、內(nèi)嵌專用硬核:這里說的硬核主要指那些通用性較弱,不是所有FPGA器件都包含硬核(Hard Core)。
FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸入輸出模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個部分。
現(xiàn)場可編程門陣列(FPGA)是可編程器件,與傳統(tǒng)邏輯電路和門陣列(如PAL,GAL及CPLD器件)相比,F(xiàn)PGA具有不同的結(jié)構(gòu)。FPGA利用小型查找表(16×1RAM)來實現(xiàn)組合邏輯,每個查找表連接到一個D觸發(fā)器的輸入端,觸發(fā)器再來驅(qū)動其他邏輯電路或驅(qū)動I/O,由此構(gòu)成了既可實現(xiàn)組合邏輯功能又可實現(xiàn)時序邏輯功能的基本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到I/O模塊。
FPGA的邏輯是通過向內(nèi)部靜態(tài)存儲單元加載編程數(shù)據(jù)來實現(xiàn)的,存儲在存儲器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I/O間的聯(lián)接方式,并最終決定了FPGA所能實現(xiàn)的功能,F(xiàn)PGA允許無限次的編程。
1、結(jié)構(gòu)上的區(qū)別
單片機是微處理器結(jié)構(gòu),采用的是哈佛總線結(jié)構(gòu)或馮諾依曼結(jié)構(gòu),單片機結(jié)構(gòu)簡單體積小,價格便宜,應(yīng)用廣泛。FPGA是查找表結(jié)構(gòu),它的程序不用考慮芯片的結(jié)構(gòu),偏重于時序上的問題,F(xiàn)PGA結(jié)構(gòu)復(fù)雜,功能強大,通常應(yīng)用在通信領(lǐng)域等畢竟高端的場合,價格比單片機貴。
2、速度上的區(qū)別
單片機是單線程執(zhí)行,程序語句需要等待單片機周期才能執(zhí)行,時間長速度慢。FPGA是硬件電路,是并行結(jié)構(gòu),這導(dǎo)致FPGA系統(tǒng)穩(wěn)定性高,適合高速接口電路,一次性執(zhí)行多種操作,速度上快于單片機。
3、本質(zhì)上的區(qū)別
FPGA偏重于硬件電路,屬于硬件范疇,是一個通過硬件描述語言在FPGA芯片上自定義集成電路的過程。單片機偏重于軟件,單片機設(shè)計屬于軟件范疇,它的硬件(單片機芯片)是固定的,通過軟件編程語言描述軟件指令在硬件芯片上的執(zhí)行。
4、應(yīng)用上的區(qū)別
M aigoo小編了解到,單片機是單線程,所有指令是在控制器按順序執(zhí)行。FPGA是邏輯單元,可做到并行執(zhí)行,一次性執(zhí)行多種操作。
5、入門難易程度區(qū)別
單片機結(jié)構(gòu)簡單,功能強,價格低,入門難度不高。FPGA結(jié)構(gòu)復(fù)雜,價格昂貴,入門難度不適合小白。
1、FPGA由邏輯單元、RAM、乘法器等硬件資源組成,通過將這些硬件資源合理組織,可實現(xiàn)乘法器、寄存器、地址發(fā)生器等硬件電路。
2、FPGA可通過使用框圖或者Verilog HDL來設(shè)計,從簡單的門電路到FIR或者FFT電路。
3、FPGA可無限地重新編程,加載一個新的設(shè)計方案只需幾百毫秒,利用重配置可以減少硬件的開銷。
4、FPGA的工作頻率由FPGA芯片以及設(shè)計決定,可以通過修改設(shè)計或者更換更快的芯片來達到某些苛刻的要求(當然,工作頻率也不是無限制的可以提高,而是受當前的IC工藝等因素制約)。
1、FPGA的所有功能均依靠硬件實現(xiàn),無法實現(xiàn)分支條件跳轉(zhuǎn)等操作。
2、FPGA只能實現(xiàn)定點運算。
MAI goo小編總結(jié):FPGA依靠硬件來實現(xiàn)所有的功能,速度上可以和專用芯片相比,但設(shè)計的靈活度與通用處理器相比有很大的差距。
FPGA 在通信領(lǐng)域的應(yīng)用可以說是無所不能。在終端設(shè)備數(shù)量比較多的位置,F(xiàn)PGA的用量比較大,基站最適合使用FPGA,基站幾乎每一塊板子都需要使用FPGA芯片,而且型號比較高端,可以處理復(fù)雜的物理協(xié)議,實現(xiàn)邏輯控制。
FPGA 最大優(yōu)勢是其并行處理機制,即利用并行架構(gòu)實現(xiàn)數(shù)字信號處理的功能。對于高速并行的數(shù)字信號處理任務(wù)來說,F(xiàn)PGA 性能遠遠超過通用 DSP 處理器的串行執(zhí)行架構(gòu),所以在數(shù)字信號處理領(lǐng)域 FPGA 的應(yīng)用也是十分廣泛的。
人們對圖像的穩(wěn)定性、清晰度、亮度和顏色的追求越來越高, 像以前的標清(SD)慢慢演變成高清(HD),到現(xiàn)在人們更是追求藍光品質(zhì)的圖像。這使得處理芯片需要實時處理的數(shù)據(jù)量越來越大,并且圖像的壓縮算法也是越來越復(fù)雜, FPGA可以更加高效的處理數(shù)據(jù),所以在圖像處理領(lǐng)域在綜合考慮成本后,F(xiàn)PGA 也越來越受到市場的歡迎。
FPGA的高速處理能力和多達成百上千個的 IO 決定了它在高速接口設(shè)計領(lǐng)域的獨特優(yōu)勢。不同的接口邏輯都可以在 FPGA 內(nèi)部去實現(xiàn),完全沒必要那么多的接口芯片,在配合 DDR 存儲器的使用,將使接口數(shù)據(jù)的處理變得更加得心應(yīng)手。
FPGA 在人工智能系統(tǒng)的前端部分也是得到了廣泛的應(yīng)用,例如自動駕駛,需要對行駛路線、紅綠燈、路障和行駛速度等各種交通信號進行采集,需要用到多種傳感器,對這些傳感器進行綜合驅(qū)動和融合處理就可以使用 FPGA。
IC設(shè)計都要強調(diào)一版成功,保證IC一版成功就要進行充分的仿真測試和FPGA驗證,仿真驗證是在服務(wù)器上面跑仿真軟件進行測試,類似ModelSim/VCS軟件,F(xiàn)PGA生成的電路非常接近真實的IC芯片,這樣極大的方便IC設(shè)計人員去驗證自己的IC設(shè)計。
1、選擇有設(shè)計軟件支持的廠家的芯片,這樣可減少資本投入,降低成本。
2、選擇產(chǎn)品設(shè)計性能改進有余量的。如果所選擇的芯片是某一廠家產(chǎn)品中容量:最大,或是速度最高的,那么,一但設(shè)計需要改進,則有可能在該廠家的芯片中再選不出合適的來了。
3、設(shè)計應(yīng)用的延續(xù)性和可擴展性。如果所選廠家的產(chǎn)品具有很大的局限性,則有可能僅僅適用于很少一部分設(shè)計,從而造成設(shè)計軟件投入上的浪費。
4、選擇性能價格比最優(yōu)的。盡管象Xilinx、Altera這樣的器件生產(chǎn)廠家都在通過降價來作市場宣傳,大多數(shù)FPGA芯片的價格還是比較高的,所有在滿足上述準則的情況下適當考慮價格也是有必要的。
5、盡量選擇成熟的產(chǎn)品系列。FPGA芯片更新?lián)Q代速度非???,最新推出的FPGA系列產(chǎn)品一般都沒有經(jīng)過大批量應(yīng)用的驗證,會增加設(shè)計風險,且供貨量少價格相對高,如果成熟的產(chǎn)品能滿足設(shè)計指標要求,那么最好選這樣的芯片來完成設(shè)計。
6、盡量選擇兼容性好的封裝。目前,同系列的FPGA芯片一般可以做到相同物理封裝兼容不同規(guī)模的器件。例如,Xilinx的Spartan3系列FPGA,在BGA456封裝下,可以選擇3S200、2S400、3S1000、3S1500這4種型號的FPGA。
7、如果在整個電子系統(tǒng)中需要多個FPGA器件,那么盡量選擇一個公司的產(chǎn)品。這樣的好處不僅可以降低成本,而且降低開發(fā)難度。因為開發(fā)環(huán)境和工具是一致的,芯片接口電平和特性也一致,便于互聯(lián)互通。
1、每逢節(jié)日活動,就到了網(wǎng)購達人們大展身手的時候了,然而面對五花八門的商品、參差不齊的價格卻不知如何下手?
2、每逢節(jié)日活動,就到了網(wǎng)購達人們大展身手的時候了,然而面對五花八門的商品、參差不齊的價格卻不知如何下手?