FPGA的原理和設計
今天,數字電子系統的設計方法及設計手段都發生了根本性變化,正由分立數字電路向可編程邏輯器件(PLD,ProgrammableLogic Device)及專用集成電路(ASIC,Application Specific IntegratedCircuit)轉變。FPGA與CPLD(Programmable LogicDevice,複雜可編程邏輯器件)都屬於PLD的範疇,它們在現代數字系統設計中正佔據越來越重要的地位。
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設計一般採用自頂向下、由粗到細、逐步求精的方法。設計最頂層是指系統的整體要求,最下層是指具體的邏輯電路實現。自頂向下是將數字系統的整體逐步分解爲各個子系統和模塊,若子系統規模較大則進一步分解爲更小的子系統和模塊,層層分解,直至整個系統中各子模塊關係合理、便於設計實現爲止。
相關文章
-
如何配置PHP使之能同時支持GIF,PNG和JPEG
安裝藍點Linux 2.0後,小編希望希望同時支持GIF,PNG和JPEG。經過嘗試,終於做到了,下面是我的簡單步驟 ,我將按照由底向上的順序介紹,即Jpeg->GD->PHP->Apache。 1、當前狀態查看安裝藍點Linux 2.0後,Keel,MySQL,Apache未做 -
FPGA系統設計黃金法則
FPGA系統設計是工程師每天工作都會用到的軟件,那麼下面的FPGA系統設計黃金法則對工程師來說是很有必要掌握的。一起來看看吧! 一.面積與速度的平衡互換原則這裏的面積指的是FPGA的芯片資源,包括邏輯資源和I/O資源等; -
vhdl在FPGA設計中的應用
集成電路設計規模及複雜度不斷增大,用傳統原理圖方法進行系統級芯片設計已不能滿足設計要求,而硬件描述語言(HDL,HardwareDescriptionLanguage)在進行大規模數字系統設計時具有諸多優勢,因此利用硬件描述語言進行系統行爲 -
FPGA設計優化及方案改進
在FPGA設計中,必須首先明確HDL源代碼編寫非常重要;不同綜合工具包含的綜合子集不同致使有些HDL語句在某些綜合工具中不能綜合;同一邏輯功能可用不同HDL語句進行描述,但佔用資源卻可能差別很大。同時應當深刻理解併發性 -
PHP語法規則和flags
導語:在寫程序時,一定要掌握了基本語法規則,才能保證準確。下面是關於PHP的語法規則和flags,歡迎參考 【RewriteCond語法:】RewriteCondTestStringCondPatte[flags]rewritecond的其他用法:‘-d’(目錄)將TestString視爲 -
美國GAAP和IFRS的主要區別
Generally Accepted Accounting Principles是一般公認會計原則,1937年美國會計程序委員會(CAP)發表第一號會計研究公告,開創了由政府機關或行業組織頒佈"一般通用會計"的先河。下面小編準備了關於美國GAAP和IFRS的主要 -
linux中pagbuffer和cache的區別
Page cache和buffer cache一直以來是兩個比較容易混淆的概念,在網上也有很多人在爭辯和猜想這兩個cache到底有什麼區別,討論到最後也一直沒有一個統一和正確的結論,在我工作的這一段時間,page cache和buffer cache的概念 -
FilmsandTVProgrammes教案設計
Fils and TV Prgraes教案Perid 3 Graar 2; Functin; Everda English整體設計教材分析This perid cntains three parts, that is, Graar 2, Functin and Everda English. Graar 2 dealsThe Easter Ties Ecnics 30 Minu -
Happy Dragon Boat Festival英語作文
This moing,as we all know,this is a special day___our Chinese national we go out of home, and began to preper for somthing for the day.There were so many people with smiles on their faces in the had -
如何設計Landing Page以迅速提升轉化率
網頁設計主要以Adobe產品爲主,常見的工具包括FW、PS、FL、DW、CDR、AI等。那麼大家知道如何設計Landing Page以迅速提升轉化率呢?下面一起來看看!一、什麼是着陸頁?廣義來說,着陸頁是用戶進入你的網站的起始或入口頁面,