第八章可編程邏輯器件FPGA_第1頁
第八章可編程邏輯器件FPGA_第2頁
第八章可編程邏輯器件FPGA_第3頁
第八章可編程邏輯器件FPGA_第4頁
第八章可編程邏輯器件FPGA_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、單片機與嵌入式系統(tǒng)王浩 副教授中南大學(xué)信息科學(xué)與工程學(xué)院第八講 嵌入式系統(tǒng) FPGA技術(shù)基礎(chǔ)2主要內(nèi)容 什么是FPGA FPGA的典型應(yīng)用 FPGA器件基本結(jié)構(gòu) FPGA電路設(shè)計與程序設(shè)計 FPGA設(shè)計流程 其它3什么是FPGAPart14什么是FPGAPart15什么是FPGA 門數(shù)介于低端的分離元件和高端的ASIC之間 可編程修改的集成電路芯片 Field Programmable Gate Array 現(xiàn)場可編程邏輯器件Part167歷史上的可編程邏輯Part18歷史上的可編程邏輯 CPLD,Complex Programmable Logic Device FPGA,F(xiàn)ield Pro

2、grammable Gates ArrayPart1PLD、CPLD、FPGA、ASIC11器件參數(shù)示例 工作電源電壓 5V 3.3V 2.5V IO電壓 5V 3.3V(TTL) 速度 封裝 管腳數(shù)量 邏輯資源數(shù)量(與非門)12Altera FPGA器件 Cyclone 低成本 Stratix 高性能 Max CPLD HardCopy 結(jié)構(gòu)化ASICPart115Xilinx 簡介 賽靈思公司(Xilinx)在半導(dǎo)體行業(yè)中增長最快的領(lǐng)域之一 可編程邏輯器件(PLD)市場中雄居領(lǐng)先地位。根據(jù)iSuppli 的數(shù)據(jù),2006 年賽靈思公司占有可編程邏輯器件市場超過一半以上的份額。在范圍更大的價

3、值160 多億美元的ASIC 市場(其中包括PLD)中,賽靈思是全球第二大供應(yīng)商。賽靈思公司在全球擁有7500 多家客戶和每年5 萬多個新設(shè)計。如今,賽靈思公司在全球有近3,000 名員工。公司近半數(shù)的工程師致力于軟件開發(fā)。Part1FPGA器件的性能特點:(1) 采用SRAM編程技術(shù),具有高密度、高速度、高可靠性和低功耗的特性。(2) 提供豐富的I/O端數(shù)和觸發(fā)器,集成度遠遠高于PAL和GAL器件。(3) FPGA器件結(jié)構(gòu)靈活,內(nèi)部的各種資源(CLB、IOB和ICR)均可以編程,可以實現(xiàn)多個變量的任意邏輯。FPGA器件的性能特點:(4)某些器件提供片內(nèi)高速RAM,可用于FIFO等設(shè)計。(5)

4、使用FPGA器件時需要進行數(shù)據(jù)配置,斷電后,配置數(shù)據(jù)自動丟失。(6)內(nèi)部時延與器件結(jié)構(gòu)和邏輯連接有關(guān),傳輸時延不可預(yù)測。20主要內(nèi)容 什么是FPGA FPGA的典型應(yīng)用 FPGA器件基本結(jié)構(gòu) 電路設(shè)計與程序設(shè)計 FPGA設(shè)計流程 其它25主要內(nèi)容 什么是FPGA FPGA的典型應(yīng)用 FPGA器件基本結(jié)構(gòu)* FPGA電路設(shè)計與程序設(shè)計 FPGA設(shè)計流程 其它表8-4-1 XC4000系列器件主要特征 FPGA一般是由以下四部分組成: 一、可配置邏輯模塊 CLB(Configutable Logic Blocks) 二、輸入/輸出模塊 IOB(Input/Output Blocks) 三、互連資源

5、 ICR (Interconnect Capital Resource) (含可編程開關(guān)矩陣) 四、一個用于存放編程數(shù)據(jù)的靜態(tài)存儲器SRAM。 FPGA組成圖 XC4000系列FPGA基本結(jié)構(gòu)CLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLB可編程開關(guān)矩陣可編程輸入/輸出模塊IOB互連資源ICR可配置邏輯模塊CLBFPGA器件基本結(jié)構(gòu)器件基本結(jié)構(gòu)1. IOB提供內(nèi)部邏輯陣列與外部引出線之間的編程接口;2. I C R 經(jīng) 編 程 實 現(xiàn)C L B 與 C L B 以 及CLB與IOB之間的互連。可配置邏輯模塊(可配置邏輯模塊(CLB)每個CLB由4

6、個觸發(fā)器(C)、兩個獨立的4輸入組合邏輯函數(shù)發(fā)生器(F、G)和由數(shù)據(jù)選擇器組成的內(nèi)部控制電路(K)構(gòu)成。CLB有13個輸入和4個輸出,輸入與輸出可與CLB周圍的互連資源相連,如圖所示。兩個組合邏輯函數(shù)發(fā)生器F和G為查找表結(jié)構(gòu)。其工作原理類似于用ROM實現(xiàn)多種邏輯函數(shù) ,F(xiàn) 和 G 的 輸 入等效于R O M 的 地 址 碼 , 通 過 查 找ROM中的地址表,即可得到相應(yīng)的組合邏輯函數(shù)輸出。圖 CLB與互連資源互連關(guān)系開關(guān)矩陣開關(guān)矩陣開關(guān)矩陣開關(guān)矩陣F4 C4 G4YoutYG3C3F3G2C2F2XoutG1C1KF1X互連資源FPGA 的IOB結(jié)構(gòu)C11DQ觸發(fā)器C11DQ觸發(fā)鎖存器延時擺

7、率控制上拉/下拉電阻VCC輸出緩沖器輸入緩沖器OE輸出輸出時鐘I1I2輸入時鐘I/O可編程I/O模塊(IOB)FPGA IOB由輸入觸發(fā)器、輸入緩沖器和輸出觸發(fā)/鎖存器、輸出緩沖器組成,每個IOB控制一個外部引出端(管腳)??删幊虄?nèi)部互連資源(可編程內(nèi)部互連資源(ICR)ICR由縱橫分布在CLB陣列之間的金屬線網(wǎng)絡(luò)金屬線網(wǎng)絡(luò)和位于縱橫線交叉點上的可編程開關(guān)矩陣可編程開關(guān)矩陣組成。FPGA使用的是分層連線資源結(jié)構(gòu),根據(jù)應(yīng)用的不同,ICR一般提供3種連接結(jié)構(gòu),即通用單通用單/雙長線連接雙長線連接、長線連接長線連接和全全局連接局連接。通用單通用單/雙長線連接雙長線連接主要用于CLB之間的連接,任意兩

8、點間的連接都要通過開任意兩點間的連接都要通過開關(guān)矩陣。關(guān)矩陣。它提供了相鄰CLB之間的快速互連和復(fù)雜互連的靈活性,但傳輸信號每通過一個可編程開關(guān)矩陣,就增加一次時延。因此,F(xiàn)PGA內(nèi)部時延與器件結(jié)構(gòu)和邏輯布線有關(guān),它的信號傳輸時延不可確定時延不可確定。圖 通用單/雙長線連接結(jié)構(gòu)F4 C4 G4 YQYG3C3F3G2C2F2XQG1C1KF1X開關(guān)矩陣開關(guān)矩陣開關(guān)矩陣開關(guān)矩陣CLBCLBCLBCLB開關(guān)矩陣(a)(b)CLB通用單長線連接結(jié)構(gòu)通用單長線相鄰的通用單長線通用雙長線連接結(jié)構(gòu)通用雙長線通用雙長線可連接兩個非相鄰的CLB圖 通用單/雙長線連接結(jié)構(gòu)(c)(d)PSMPSMPSMPSMCL

9、BCLB2CLBCLB3CLBCLBCLB4CLB1CLB雙長線單長線可編程開關(guān)矩陣每個開關(guān)矩陣的連線點上有5個選通晶體管通用單/雙長線連接結(jié)構(gòu)通用單長線連接相鄰CLB通用雙長線連接非相鄰CLB可編程開關(guān)矩陣的結(jié)構(gòu)2.長線連接長線連接在通用單/雙長線的旁邊還有3條從陣列的一頭連到另一頭的線段,稱為水平長線和垂直長線水平長線和垂直長線。這些長線不經(jīng)過可編程開關(guān)矩陣,信號延時時間小,長線主要用于長距離或多分支信號的傳送長距離或多分支信號的傳送。3. 全局連接全局連接8條全局線貫穿條全局線貫穿FPGA器件器件,可達到每個CLB。全局連接主要用于傳送一些公共信號,如全局時鐘信號、公用控制信號。34主要

10、內(nèi)容 什么是FPGA FPGA的典型應(yīng)用 FPGA器件基本結(jié)構(gòu) FPGA電路設(shè)計與程序設(shè)計 FPGA設(shè)計流程 其它35FPGA設(shè)計與程序設(shè)計 數(shù)字電路設(shè)計(同步時序電路) 作原始狀態(tài)表 狀態(tài)表的簡化 狀態(tài)分配 作激勵函數(shù)和輸出函數(shù) 畫邏輯圖36現(xiàn)代數(shù)字系統(tǒng)設(shè)計方法 EDA 計算機輔助設(shè)計 原理圖,印刷電路板設(shè)計 基于硬件描述語言的設(shè)計 系統(tǒng)設(shè)計 集成電路設(shè)計 計算機仿真Part237FPGA電路設(shè)計 兩種設(shè)計方法 圖形設(shè)計方法 放置可用資源元件(布局) 連接元件(布線) HDL描述 時鐘、條件、操作 邏輯運算、連接Part239HDL語言概述 HDL是Hardware Description

11、Language 的縮寫 為硬件仿真的目的而設(shè)計的語言 需要能夠描述電路的事件、行為 沿用程序設(shè)計語言不是總能解決問題 總線周期局限,如何描述小于總線周期的信號 難以描述電路事件,并發(fā),連接Part2HDL語言概述 我們將設(shè)計用HDL描述出來,EDA工具將這些HDL代碼轉(zhuǎn)換為物理實現(xiàn)(綜合) 我們可以使用HDL對設(shè)計進行仿真、驗證等 ABEL 這是一種早期的硬件描述語言。支持邏輯電路這是一種早期的硬件描述語言。支持邏輯電路的多種表達形式,其中包括邏輯方程,真值表和狀的多種表達形式,其中包括邏輯方程,真值表和狀態(tài)圖。態(tài)圖。 ABEL語言從早期可編程邏輯器件(語言從早期可編程邏輯器件(PLD)的設(shè)

12、計中發(fā)展而來,早期的設(shè)計中發(fā)展而來,早期ABEL-HDL被廣泛用于被廣泛用于各種可編程邏輯器件的邏輯功能設(shè)計。如各種可編程邏輯器件的邏輯功能設(shè)計。如GAL 、Lattice isp EXPERT,Xilinx的的Foundtion和和Webpack等等EDA軟件中。從長遠來看,軟件中。從長遠來看,ABEL-HDL只會在較小的范圍內(nèi)繼續(xù)存在。只會在較小的范圍內(nèi)繼續(xù)存在。 AHDL ALTERA公司發(fā)明的公司發(fā)明的HDL, ALTERA公司企業(yè)標(biāo)準。特點是非常易學(xué)易用,學(xué)公司企業(yè)標(biāo)準。特點是非常易學(xué)易用,學(xué)過高級語言的人可以在很短的時間(如幾過高級語言的人可以在很短的時間(如幾周)內(nèi)掌握周)內(nèi)掌握

13、AHDL。 缺點缺點 :移植性不好,通常只用于:移植性不好,通常只用于ALTERA自己的開發(fā)系統(tǒng)。自己的開發(fā)系統(tǒng)。Verilog Verilog HDL就是在應(yīng)用最廣泛的就是在應(yīng)用最廣泛的C語言的語言的基礎(chǔ)上發(fā)展起來的一種件描述語言?;A(chǔ)上發(fā)展起來的一種件描述語言。1990年年CADENCE公司公開發(fā)表了公司公開發(fā)表了Verilog HDL,并成并成立立LVI組織以促進組織以促進Verilog HDL成為成為IEEE標(biāo)準,標(biāo)準,即即IEEE Standard 1364-1995。 特點:特點: 1、語法自由、語法自由 2、國內(nèi)資料相對較少、國內(nèi)資料相對較少 3、IC設(shè)計中,設(shè)計中,90%的公司

14、使用的公司使用 4、利用、利用EDA工具進行邏輯綜合和優(yōu)化工具進行邏輯綜合和優(yōu)化 VHDL 全稱:全稱:Very-High-Speed Integrated Circuit Hardware Description Language 誕生于誕生于1982年。年。1987年底,年底,VHDL被被IEEE和和美國國防部確認為標(biāo)準硬件描述語言美國國防部確認為標(biāo)準硬件描述語言 。 有有IEEE-1076和和IEEE標(biāo)準的標(biāo)準的1076-1993版本。版本。 特點:特點: 1、發(fā)展較早,語法嚴格、發(fā)展較早,語法嚴格 2、可以利用可以利用EDA工具進行邏輯綜合和優(yōu)化工具進行邏輯綜合和優(yōu)化 3、VHDL豐富

15、的仿真語句和庫函數(shù)豐富的仿真語句和庫函數(shù)VHDL簡介 電路基本結(jié)構(gòu)都由實體說明(Entity Declaration)和構(gòu)造體(Architecture Body)兩部分構(gòu)成 實體說明部分規(guī)定了設(shè)計單元的輸入輸出接口信號和引腳 構(gòu)造體部分定義了設(shè)計單元的具體構(gòu)造和行為 47VHDL的歷史 1980 VHSIC項目(Very High Speed IC) 1983 IBM、TI和Intermetrics發(fā)展語言和仿真工具 1987 DOD(美國國防部)要求所有數(shù)字電路用VHDL描述 F-22戰(zhàn)斗機項目采用戰(zhàn)斗機項目采用VHDL 1987 IEEE1076 1993 IEEE1164 1996基于

16、IEEE1164的仿真和綜合工具問世 VHDL-200 xPart248FPGA開發(fā)流程1. 設(shè)計輸入(編程)HDLSchematic(原理圖)Finite State Machine(狀態(tài)機)2. 功能仿真3. 綜合4. 布局5. 布線6. 時序仿真Part349主要內(nèi)容 什么是FPGA FPGA的典型應(yīng)用 FPGA器件基本結(jié)構(gòu) 電路設(shè)計與程序設(shè)計 FPGA設(shè)計流程 其它綜合(Synthesis) To check a design file for syntax and semantic errors, check a design for errors and perform elabo

17、ration on the design. 將邏輯功能描述轉(zhuǎn)換為電路功能模塊(與門、非門及其組合)及其連接的過程。Part355布局(Placement) 將綜合中使用的元件用FPGA中的合適的區(qū)域?qū)崿F(xiàn) Size & AreaPart356布局(Placement) Size and Area 集成電路中,功能是形狀和面積的函數(shù) Function = f(size, area)Part357布線(Route) 與PCB布線相同 將功能部件連接起來 導(dǎo)線對信號的影響 信號從一個7cm長的線一端傳到另一端會怎樣 影響電路工作速度Part358時序仿真 包含時序信息的仿真 需要FPGA芯片廠

18、商提供相關(guān)參數(shù) 同功能仿真的區(qū)別 功能仿真在設(shè)計輸入完畢后即可進行 時序仿真必須在適配完成后進行 存在信號傳輸和邏輯計算延遲 時序仿真需要廠商器件參數(shù)Part3處理外圍和處理內(nèi)部的關(guān)系、直接和間接的關(guān)系63646566676869STEP1:建立 工作庫文件夾STEP2:輸入設(shè)計項目VHDL文本代碼STEP3:存盤,注意文本取名STEP4:將設(shè)計項目設(shè)置成ProjectSTEP5:選擇目標(biāo)器件 STEP11: 硬件測試STEP9:引腳鎖定并編譯STEP8:仿真測 試和波形分析STEP7:建立仿真波形文件STEP6:啟動編譯STEP10:編程 下載/配置VHDL文本輸入設(shè)計流程文本輸入設(shè)計流程

19、Step1 建立工作庫文件夾建立工作庫文件夾為設(shè)計全加器新建一個文件夾作工作庫文件夾名取為文件夾名取為My_prjctStep2 編輯輸入并保存編輯輸入并保存VHDL源文件源文件新建一個設(shè)計文件使用文本輸入方法設(shè)計,必須選擇打開文本編輯器Step3 Step3 在文本編輯窗中輸入在文本編輯窗中輸入VHDLVHDL文件及存盤文件及存盤 建立文本編輯器對話框建立文本編輯器對話框文本編輯窗用鍵盤輸入設(shè)計文件:多路選擇器存盤文件名必須取為:mux21a.vhd注意,要存在自己建立的文件夾中文件存盤后,關(guān)鍵詞將改變顏色!否則文件名一定有錯!Step4 將當(dāng)前設(shè)計設(shè)定為工程將當(dāng)前設(shè)計設(shè)定為工程首先點擊這里然后選擇此項,將當(dāng)前的原理圖設(shè)計文件設(shè)置成工程最后注意此路徑指向的改變首先選擇這里器件系列選擇窗,選擇ACEX1K系列根據(jù)實驗板上的目標(biāo)器件型號選擇,如選EP1K30注意,首先消去這里的勾,以便使所有速度級別的器件都能顯示出來Step5 選目標(biāo)器件選擇編譯器編譯窗Step6 編譯及糾錯 選擇選擇VHDL文本編譯版本號和排錯文本編譯版本號和排錯選擇此項選擇VHDL1993項編譯出錯! 確定設(shè)計文件中的錯誤確定設(shè)計文件中的錯誤打開錯誤提示窗錯誤所在錯誤所在改正錯誤完成編譯!完成編譯!首先選擇此項,為仿真測試新建一個文件Step7 建立波形文件建立波形文件選擇波形編輯器文件從從SNF文件中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論