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