Loading AI tools
来自维基百科,自由的百科全书
現場可程式化邏輯閘陣列(英語:Field Programmable Gate Array,縮寫為FPGA),它以PAL、GAL、CPLD等可程式化邏輯裝置為技術基礎發展而成。作為特殊應用積體電路中的一種半客製化電路,它既彌補全客製化電路不足,又克服原有可程式化邏輯控制器邏輯閘數有限的缺點。
目前以硬體描述語言(Verilog或VHDL)描述的邏輯電路,可以利用邏輯合成和布局、布線工具軟體,快速地燒錄至FPGA上進行測試,這一過程是現代積體電路設計驗證的技術主流。這些可程式化邏輯元件可以被用來實現一些基本的邏輯閘數位電路(比如及閘、或閘、互斥或閘、反閘)或者更複雜一些的組合邏輯功能,比如解碼器等。在大多數的FPGA裡面,這些可編輯的元件里也包含記憶元件,例如正反器(Flip-flop)或者其他更加完整的記憶塊,從而構成序向邏輯電路。
系統設計師可以根據需要,通過可編輯的連接,把FPGA內部的邏輯塊連接起來。這就好像一個電路試驗板被放在了一個晶片裡。一個出廠後的成品FPGA的邏輯塊和連接可以按照設計者的需要而改變,所以FPGA可以完成所需要的邏輯功能。
FPGA一般來說比特殊應用積體電路(ASIC)的速度要慢,無法完成更複雜的設計,並且會消耗更多的電能。但是,FPGA具有很多優點,比如可以快速成品,而且其內部邏輯可以被設計者反覆修改,從而改正程式中的錯誤,此外,使用FPGA進行除錯的成本較低。廠商也可能會提供便宜、但是編輯能力有限的FPGA產品。因為這些晶片有的可編輯能力較差,所以這些設計的開發是在普通的FPGA上完成的,然後將設計轉移到一個類似於特殊應用積體電路的晶片上。在一些技術更新比較快的行業,FPGA幾乎是電子系統中的必要部件,因為在大批次供貨前,必須迅速搶占市場,這時FPGA方便靈活的優勢就顯得很重要。
為了達到上述目的,另一種方法是採用複雜可程式邏輯裝置(CPLD)而不是FPGA。
早在1980年代中期,FPGA已經在可程式邏輯裝置裝置中紮根。CPLD和FPGA都包括了一些相對大數量的可以編輯邏輯單元。CPLD邏輯閘的密度在幾千到幾萬個邏輯單元之間,而FPGA通常是在幾萬到幾百萬。
CPLD和FPGA的主要區別是他們的系統結構。CPLD的結構具有一定的局限性。這個結構由一個或者多個可編輯的結果之和的邏輯組列和一些相對少量的鎖定的暫存器組成。這樣的結果是缺乏編輯靈活性,但是它的優點是,其延遲時間易於預計,邏輯單元對連接單元比率較高。而FPGA具有的連接單元數量很大,這樣雖然讓它可以更加靈活的編輯,但是結構卻複雜得多。
CPLD和FPGA另外一個區別是大多數的FPGA含有高層次的內建模組(比如加法器和乘法器)和內建的記憶體。一個由此帶來的重要區別是,很多新的FPGA支援完全的或者部分的系統內重新組態。允許他們的設計隨著系統升級或者動態重新組態而改變。一些FPGA可以讓裝置的一部分重新編輯,而其他部分繼續正常執行。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.