當前位置:才華齋>IT認證>EDA技術>

FPGA的原理和設計

EDA技術 閱讀(1.93W)

今天,數字電子系統的設計方法及設計手段都發生了根本性變化,正由分立數位電路向可程式設計邏輯器件(PLD,ProgrammableLogic Device)及專用積體電路(ASIC,Application Specific IntegratedCircuit)轉變。FPGA與CPLD(Programmable LogicDevice,複雜可程式設計邏輯器件)都屬於PLD的範疇,它們在現代數字系統設計中正佔據越來越重要的地位。

FPGA的原理和設計

FPGA是由使用者程式設計來實現所需邏輯功能的數字積體電路,它不僅具有設計靈活、效能高、速度快等優勢,而且上市週期短、成本低廉。FPGA設計與ASIC前端設計十分類似,在領域中FPGA應用日益普及,已成為積體電路中最具活力和前途的產業。同時,隨著設計技術和製造工藝的完善,器件效能、整合度、工作頻率等指標不斷提升,FPGA已越來越多地成為系統級晶片設計的首選。

FPGA由PAL(可程式設計陣列邏輯)、GAL(通用陣列邏輯)發展而來,其基本設計思想是藉助於EDA開發工具,用原理圖、狀態機、布林表示式、硬體描述語言等方法進行系統功能及演算法描述,設計實現並生成程式設計檔案,最後通過程式設計器或下載用目標器件來實現。

FPGA器件採用邏輯單元陣列(LCA,Logic CellArray)結構、SDRAM工藝,其中LCA由三類可程式設計單元組成。

(1)可配置邏輯塊(CLB,Configurable LogicBlock):被稱為核心陣列,是實現自定義邏輯功能的基本單元,散佈於整個晶片;

(2)輸入/輸出模組(IOB,Input/OutputBlock):排列於晶片四周,為內部邏輯與器件封裝引腳之間提供可程式設計介面;

(3)可程式設計互連資源(PI,Programmable Interconnect):包括不同長度的連線線段及連線,其功能是將各個可程式設計邏輯塊或I/O塊連線起來以構成特定電路。

全球生產FPGA的廠家很多,但影響力最大的是Xilinx公司和Altera公司,世界上第一片FPGA是在20世紀80年代中期Xilinx公司率先推出的。不同廠家生產的FPGA在可程式設計邏輯塊的`規模、內部互連線結構及所採用的可程式設計元件上存在較大差異,實際使用時應注意區分

FPGA設計包括描述層次及描述領域兩方面內容。通常設計描述分為6個抽象層次,從高到低依次為:系統層、演算法層、暫存器傳輸層、邏輯層、電路層和版圖層。對每一層又分別有三種不同領域的描述:行為域描述、結構域描述和物理域描述。

系統層是系統最高層次的抽象描述,針對於電子系統整體效能。演算法層又稱為行為層,它是在系統級效能分析和結構劃分後對每個模組的功能描述。演算法層所描述的功能、行為最終要用數位電路來實現。而數位電路本質上可視為由暫存器和組合邏輯電路組成,其中暫存器負責訊號儲存,組合邏輯電路負責訊號傳輸。暫存器傳輸層描述正是從訊號儲存、傳輸的角度去描述整個系統。暫存器和組合邏輯本質上是由邏輯閘構成,邏輯層正是從邏輯閘組合及連線角度去描述整個系統。

FPGA各個描述層次及綜合技術關係如圖1所示。傳統的綜合工具是將暫存器傳輸級(RTL)的描述轉化為門級描述。隨著以行為設計為主要標誌的新一代系統設計理論的不斷成熟,能夠將系統行為級描述轉化為RTL描述的高層次綜合技術不斷湧現。

作為現代積體電路設計的重點與熱點,FPGA設計一般採用自頂向下、由粗到細、逐步求精的方法。設計最頂層是指系統的整體要求,最下層是指具體的邏輯電路實現。自頂向下是將數字系統的整體逐步分解為各個子系統和模組,若子系統規模較大則進一步分解為更小的子系統和模組,層層分解,直至整個系統中各子模組關係合理、便於設計實現為止。