【安防知識網(wǎng)】FPGA 的含義、配置模式與類型
FPGA(Field Programmable Gate Array)是現(xiàn)場可編程門陣列,它是在PAL、GAL、EPLD等可編程邏輯器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物,是專用集成電路(ASIC)中集成度最高的一種。FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個新概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個部分。用戶可對FPGA內(nèi)部的邏輯模塊和I/O模塊重新配置,以實現(xiàn)用戶的邏輯。它還具有靜態(tài)可重復(fù)編程和動態(tài)在系統(tǒng)重構(gòu)的特性,使得硬件的功能可以像軟件一樣通過編程來修改。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,不僅解決了定制電路的不足,還克服了原有可編程邏輯器件門電路數(shù)有限的缺點。
可以毫不夸張地講,F(xiàn)PGA能完成任何數(shù)字器件的功能,上至高性能CPU,下至簡單的74電路,都可以用FPGA來實現(xiàn)。FPGA如同一張白紙或是一堆積木,工程師可以通過傳統(tǒng)的原理圖輸入法,或是硬件描述語言自由的設(shè)計一個數(shù)字系統(tǒng),通過軟件仿真,可以事先驗證設(shè)計的正確性。在PCB完成以后,還可以利用FPGA的在線修改能力,隨時修改設(shè)計而不必改動硬件電路。使用FPGA來開發(fā)數(shù)字電路,可以大大縮短設(shè)計時間,減少PCB面積,提高系統(tǒng)的可靠性。
目前,F(xiàn)PGA的品種很多,有XILINX的 XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。FPGA是由存放在片內(nèi)RAM中的程序來設(shè)置其工作狀態(tài)的,因而工作時需要對片內(nèi)的RAM進行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。FPGA的配置模式有如下幾種。[nextpage]
1、并行主模式
即一片F(xiàn)PGA加一片EPROM的方式。
2、主從模式
可以支持一片PROM編程多片F(xiàn)PGA的方式。
3、串行模式
可以采用串行PROM編程FPGA的方式。
4、外設(shè)模式
可以將FPGA作為微處理器的外設(shè),由微處理器編程FPGA的方式。
根據(jù)FPGA基本結(jié)構(gòu)的不同,一般有下列三種類型(前兩種應(yīng)用較多)。
1、基于乘積項(Product-Term)技術(shù)的FPGA
該類FPGA主要由3個模塊組成:一是邏輯單元陣列(Logic Cell Array),它是FPGA的基本結(jié)構(gòu),由它來實現(xiàn)基本的邏輯功能;二是可編程連線(PIA),它負責(zé)信號傳送,連接所有的宏單元;三是I/O控制塊,它負責(zé)輸入/輸出的電氣特性控制,如可設(shè)定集電極開路輸出、擺率控制、三態(tài)輸出等。
2、基于查找表(Look-Up-Table)技術(shù)的FPGA
查找表簡稱LUT,這類FPGA是目前的一種主流產(chǎn)品,其本質(zhì)就是一個RAM。目前,F(xiàn)PGA中多使用4輸入的LUT,每一個LUT可看成一個有4位地址線的16×1的RAM。當(dāng)用戶通過原理圖或HDL語言描述了一個邏輯電路后,F(xiàn)PGA開發(fā)軟件會自動計算邏輯電路的所有可能的結(jié)果,并將結(jié)果事先寫入RAM。這樣,每輸入一個信號進行邏輯運算,就等于輸入一個地址進行查表,找出地址對應(yīng)的內(nèi)容輸出即可。
3、基于反熔絲(Anti-fuse)技術(shù)的FPGA
該類FPGA主要作特殊應(yīng)用,它不能重復(fù)擦寫,因而初期開發(fā)過程比較麻煩,費用也較昂貴??伤哂胁季€能力更強、系統(tǒng)速度更快、功耗更低、耐高低溫、抗輻射能力強、可加密等許多優(yōu)點,因而多應(yīng)用于軍事與航空航天等特殊要求的領(lǐng)域。