FPGA新手入門

FPGA簡介

FPGA是英文Field Programmable Gate Array的縮寫,即現場可編程門陣列,它是在可編程陣列邏輯PAL(Programmable Array Logic)、門陣列邏輯GAL(Gate Array Logic)、可編程邏輯器件PLD(Programmable Logic Device)等可編程器件的基礎什麼是FPGA上進一步發展的產物。

它是作爲專用集成電路ASIC(Application Specific Integrated Circuit)領域中的一種半定製電路 而出現的,既解決了定製電路的不足,又克服了原有可編程器件門電路數有限的缺點。FPGA能完成任何數字器件的功能,上至高性能CPU,下至簡單的74系列電路,都可以用FPGA來實現。FPGA如同一張白紙或是一堆積木,工程師可以通過傳統的原理圖什麼是輸入法,或是硬件描述語言自由設計一個數字系統。通過軟件仿真,我們可以事先驗證設計的正確性。在PCB完成以後,還可以利用FPGA的在線修改能力,隨時修改設計而不必改動硬件電路。使用FPGA來開發數字電路,可以大大縮短設計時間,減少PCB面積,提高系統的可靠性。PLD的這些優點使得PLD技術在90年代以後得到飛速的發展,同時也大大推動了電子設計自動化EDA(Electronic Design Automatic)軟件和硬件描述語言VHDL(Very-High-Speed Integrated Circuit Hardware Description)的進步。

FPGA的特點

FPGA具有體系結構和邏輯單元靈活、集成度高以及適用範圍寬FPGA等特點。兼容了PLD和通用門陣列的優點,可實現較大規模的電路,編程也很靈活。與門陣列等其它ASIC相比,它又具有設計開發什麼是週期短、設計製造成本低、開發工具先進、標準產品無需測試、質量穩定以及可實時在線檢驗等優點,因此被廣泛應用於產品的原型設計和產品生產(一般在10,000件以下)之中。幾乎所有應用門陣列、PLD和中小規模通用數字集成電路的場合均可應用FPGA
FPGA採用了邏輯單元陣列LCA(Logic Cell Array)這樣一個新概念,內部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內部連線(Interconnect)三個部分。FPGA的基本特點主要有:
一是採用FPGA設計ASIC電路,用戶不需要投片生產,就能得到合用的芯片。
二是FPGA可做其它全定製或半定製ASIC電路的中試樣片。
三是FPGA內部有豐富的觸發器和I/O引腳。
四是FPGA是ASIC電路中設計週期最短、開發費用最低、風險最小的器件之一。
五是FPGA採用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容

可以說,FPGA芯片是小批量系統提高系統集成度、可靠性的最佳選擇之一。目前FPGA的品種很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。FPGA是由存放在片內RAM中的程序來設置其工作狀態的,因此,工作時需要對片內的RAM進行編程。用戶可以根據不同的配置模式,採用不同的編程方式。加電時,FPGA芯片將EPROM中數據讀入片內編程RAM中,配置完成後,FPGA進入工作狀態。掉電後,FPGA恢復成白片,內部邏輯關係消失,因此,FPGA能夠反覆使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片FPGA,不同的編程數據,可以產生不同的電路功能。因此,FPGA的使用非常靈活。FPGA有多種配置模式:並行主模式爲一片FPGA加一片EPROM的方式;主從模式可以支持一片PROM編程多片FPGA;串行模式可以採用串行PROM編程FPGA;外設模式可以將FPGA作爲微處理器的外設,由微處理器對其編程。

FPGA與ASIC、CPLD

1、FPGA和ASIC的比較

ASIC是英文的Application Specific Integrated Circuits縮寫,即專用集成電路,是指應特定用戶要求和特定電子系統的需要而設計、製造的集成電路。目前用CPLD(複雜可編程邏輯器件)和FPGA(現場可編程邏輯陣列)來進行ASIC設計是最爲流行的方式之一,它們的共性是都具有用戶現場可編程特性,都支持邊界掃描技術,但兩者在集成度、速度以及編程方式上具有各自的特點。ASIC的特點是面向特定用戶的需求,品種多、批量少,要求設計和生產週期短,它作爲集成電路技術與特定用戶的整機或系統技術緊密結合的產物,與通用集成電路相比具有體積更小、重量更輕、功耗更低、可*性提高、性能提高、保密性增強、成本降低等優點。
FPGA特別適合於樣品研製或小批量產品開發,使產品能以最快的速度上市,而當市場擴大時,它可以很容易的由ASIC實現,因此開發風險也大爲降低。但ASIC也有它固有的優勢,芯片可以獲得最優的性能,即面積利用率高、速度快、功耗低,批量成本低,所以在今後一段時間內ASIC仍然會佔據高端芯片市場和大批量應用的成熟中低端市場。

2、FPGA與CPLD的比較

儘管FPGA和CPLD都是可編程ASIC器件,有很多共同特點,但由於CPLD和FPGA結構上的差異,具有各自的特點:
一是CPLD更適合完成各種算法和組合邏輯,FPGA更適合於完成時序FPGA邏輯。換句話說,FPGA更適合於觸發器豐富的結構,而CPLD更適合於觸發器有限而乘積項豐富的結構。
二是CPLD的連續式佈線結構決定了它的時序延遲是均勻的和可預測的,而FPGA的分段式佈線結構決定了其延遲的不可預測性。
三是在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內連電路的邏輯功能來編程,FPGA主要通過改變內部連線的佈線來編程;FPGA可在邏輯門下編程,而CPLD是在邏輯塊下編程。
四是FPGA的集成度比CPLD高,具有更復雜的佈線結構和邏輯實現。
五是CPLD比FPGA使用起來更方便。CPLD的編程採用E2PROM或FASTFLASH技術,無需外部存儲器芯片,使用簡單。而FPGA的編程信息需存放在外部存儲器上,使用方法複雜。
六是PLD的速度比FPGA快,並且具有較大的時間可預測性。這是由於FPGA是門級編程,並且CLB之間採用分佈式互聯,而CPLD是邏輯塊級編程,並且其邏輯塊之間的互聯是集總式的。
七是在編程方式上,CPLD主要是基於E2PROM或FLASH存儲器編程,編程次數可達1萬次,優點是系統斷電時編程信息也不丟失。CPLD又可分爲在編程器上編程和在系統編程兩類。FPGA大部分是基於SRAM編程,編程信息在系統斷電時丟失,每次上電時,需從器件外部將編程數據重新寫入SRAM中。其優點是可以編程任意次,可在工作中快速編程,從而實現板級和系統級的動態配置。
八是CPLD保密性好,FPGA保密性差。
九是一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章