FPGA設(shè)計(jì)基礎(chǔ)_第1頁(yè)
FPGA設(shè)計(jì)基礎(chǔ)_第2頁(yè)
FPGA設(shè)計(jì)基礎(chǔ)_第3頁(yè)
FPGA設(shè)計(jì)基礎(chǔ)_第4頁(yè)
FPGA設(shè)計(jì)基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩82頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、顯示器件驅(qū)動(dòng)技術(shù)顯示器件驅(qū)動(dòng)技術(shù)FPGA實(shí)驗(yàn)板課程安排第1章:A/D與D/A第2章:FPGA設(shè)計(jì)基礎(chǔ)(Quartus II軟件介紹)第3章:Verilog HDL語(yǔ)言介紹第4章:基于FPGA的數(shù)碼管顯示第5章:基于FPGA的液晶顯示第6章:基于FPGA的大LED點(diǎn)陣第7章:基于FPGA的VGA顯示提 要q1.可編程邏輯器件概述q2.可編程邏輯器件的結(jié)構(gòu)及原理q3. FPGA特點(diǎn)q4. FPGA設(shè)計(jì)語(yǔ)言q5. FPGA設(shè)計(jì)流程q6. FPGA廠商及開發(fā)環(huán)境q7. Quartus II開發(fā)軟件使用內(nèi)容提要:內(nèi)容提要:1 可編程邏輯器件概述 可編程邏輯器件(Programmable Logic De

2、vice簡(jiǎn)稱 PLD)是20世紀(jì)70年代發(fā)展起來(lái)的一種新型邏輯器件,是目前數(shù)字系統(tǒng)設(shè)計(jì)的主要硬件基礎(chǔ)。 現(xiàn)場(chǎng)可編程邏輯陣列 FPLA(Field Programmable Logic Array) 可編程陣列邏輯 PAL(Programmable Array Logic) 通用陣列邏輯 GAL(Generic Array Logic) 可擦除的可編程邏輯器件EPLD(Erasable Programmable Logic Device) 復(fù)雜可編程邏輯器件CPLD(Complex Programmable Logic Device) 現(xiàn)場(chǎng)可編程門陣列 FPGA(Field Programmab

3、le Gate Array)1 可編程邏輯器件概述 分類(1) 熔絲或反熔絲編程器件Actel的FPGA器件體積小,集成度高,速度高,易加密,抗干擾,耐高溫只能一次編程,在設(shè)計(jì)初期階段不靈活 SRAM大多數(shù)公司的FPGA器件可反復(fù)編程,實(shí)現(xiàn)系統(tǒng)功能的動(dòng)態(tài)重構(gòu)每次上電需重新下載,實(shí)際應(yīng)用時(shí)需外掛EEPROM用于保存程序 EEPROM大多數(shù)CPLD器件可反復(fù)編程不用每次上電重新下載,但相對(duì)速度慢,功耗較大1 可編程邏輯器件概述 分類(2) 低密度PROM,EPROM,EEPROM,PAL,PLA,GAL只能完成較小規(guī)模的邏輯電路 高密度,已經(jīng)有超過(guò)400萬(wàn)門的器件EPLD ,CPLD,FPGA可用

4、于設(shè)計(jì)大規(guī)模的數(shù)字系統(tǒng)集成度高,甚至可以做到SOC(System On a Chip)CPLDCPLD與與FPGAFPGA的區(qū)別的區(qū)別CPLDFPGA內(nèi)部結(jié)構(gòu) ProducttermLookup Table程序存儲(chǔ) 內(nèi)部EEPROMSRAM,外掛EEPROM資源類型 組合電路資源豐富觸發(fā)器資源豐富集成度低高使用場(chǎng)合 完成控制邏輯能完成比較復(fù)雜的算法速度慢快其他資源EAB,鎖相環(huán)保密性可加密一般不能保密2 可編程邏輯器件結(jié)構(gòu)原理2 可編程邏輯器件結(jié)構(gòu)原理2 可編程邏輯器件結(jié)構(gòu)原理乘積項(xiàng)與門2 可編程邏輯器件結(jié)構(gòu)原理2 可編程邏輯器件結(jié)構(gòu)原理PROM結(jié)構(gòu)結(jié)構(gòu) 與陣列固定,或陣列可編程; 實(shí)現(xiàn)以“積

5、之和”形式表示的各種組合邏輯編程編程連接點(diǎn)連接點(diǎn)固定固定連接點(diǎn)連接點(diǎn)2 可編程邏輯器件結(jié)構(gòu)原理PLA結(jié)構(gòu)結(jié)構(gòu)與陣列或陣列均可編程;PLA的內(nèi)部結(jié)構(gòu)在簡(jiǎn)單PLD中有最高的靈活性2 可編程邏輯器件結(jié)構(gòu)原理PAL結(jié)構(gòu)結(jié)構(gòu)與陣列可編程,或陣列固定;與陣列可編程使輸入項(xiàng)增多,或陣列固定使器件簡(jiǎn)化?;蜿嚵泄潭黠@影響了器件編程的靈活性2 可編程邏輯器件結(jié)構(gòu)原理GAL結(jié)構(gòu)結(jié)構(gòu)用可編程的輸出邏輯宏單元(OLMC)代替固定的或陣列,可以實(shí)現(xiàn)時(shí)序電路;OLMC2 可編程邏輯器件結(jié)構(gòu)原理GAL結(jié)構(gòu)結(jié)構(gòu)(OLMC)輸出使能選擇輸出選擇或門控制選擇組成:異或門:控制輸出信號(hào)的極性D觸發(fā)器:適合設(shè)計(jì)時(shí)序電路4個(gè)多路選擇器

6、2 可編程邏輯器件結(jié)構(gòu)原理CPLDFPGA的結(jié)構(gòu)的結(jié)構(gòu)基于乘積項(xiàng):基于乘積項(xiàng): Altera的MAX7000,MAX3000系列, Xilinx的XC9500系列 Lattice,Cypress的大部分產(chǎn)品基于查找表:基于查找表:Altera的FLEX, ACEX, APEX 系列, Xilinx的Spartan,Virtex系列。 可編程邏輯陣列模塊LAB,包含多個(gè)宏單元可編程I/O單元可編程連線PIA基于乘積項(xiàng)的CPLD內(nèi)部結(jié)構(gòu)LAB中的宏單元結(jié)構(gòu)乘積項(xiàng)邏輯陣列乘積項(xiàng)選擇矩陣可編程觸發(fā)器基于查找表的FPGA內(nèi)部結(jié)構(gòu)C C 可編程邏輯模塊(CLB),含多個(gè)邏輯單元 可編程輸入輸出模塊(IOB

7、) 可編程內(nèi)部連線(PIC)基于查找表(基于查找表(LUT)LUT)的的FPGAFPGA的結(jié)構(gòu)的結(jié)構(gòu)xilinxxilinx Spartan-II Spartan-II的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)CLB中邏輯單元內(nèi)部結(jié)構(gòu)查找表LUT原理3 FPGA特點(diǎn) 邏輯器件:用來(lái)實(shí)現(xiàn)某種特定邏輯功能的電子器件,最簡(jiǎn)單的邏輯器件是與、或、非門(74LS00,74LS04等),在此基礎(chǔ)上可實(shí)現(xiàn)復(fù)雜的時(shí)序和組合邏輯功能。 可編程邏輯器件:器件的功能不是固定不變的,而是可根據(jù)用戶的需要而進(jìn)行改變,即由編程的方法來(lái)確定器件的邏輯功能。 配置數(shù)據(jù)可以存放在片外的EPROM或其它存儲(chǔ)體上,可現(xiàn)場(chǎng)修改器件的邏輯功能。 電路集成度

8、高 用硬件描述語(yǔ)言(Hardware Description Language)代替?zhèn)鹘y(tǒng)的數(shù)字電路設(shè)計(jì)方法來(lái)設(shè)計(jì)數(shù)字系統(tǒng)。3 FPGA特點(diǎn)EP1C12Q2404 FPGA設(shè)計(jì)語(yǔ)言l HDL語(yǔ)言是一種硬件描述語(yǔ)言,最終目的是生成實(shí)際數(shù)字邏輯電路,完成一個(gè)從抽象化的代碼到形象化的電路的轉(zhuǎn)變。 電路設(shè)計(jì)大規(guī)模和高復(fù)雜度發(fā)展的趨勢(shì),傳統(tǒng)的用原理圖設(shè)計(jì)電路的方法無(wú)法勝任,如何使如此復(fù)雜的芯片變得易于人腦的理解呢?用一種高級(jí)語(yǔ)言來(lái)表達(dá)其功能性而隱藏具體實(shí)現(xiàn)的細(xì)節(jié)是很必要的,工程人員將不得不使用HDL語(yǔ)言進(jìn)行設(shè)計(jì),而把具體實(shí)現(xiàn)留給邏輯綜合工具去完成。l Verilog HDLl VHDL硬件描述語(yǔ)言HDL(

9、Hardware Description Language)4 FPGA設(shè)計(jì)語(yǔ)言HDL語(yǔ)言特點(diǎn)l HDL語(yǔ)言既包含一些高層程序設(shè)計(jì)語(yǔ)言的結(jié)構(gòu)形式同時(shí)也兼顧描述硬件線路連接的具體結(jié)構(gòu);l 通過(guò)使用結(jié)構(gòu)級(jí)或行為級(jí)描述可以在不同的抽象層次描述設(shè)計(jì)。 語(yǔ)言采用自頂向下的數(shù)字電路設(shè)計(jì)方法,主要包括三個(gè)領(lǐng)域五個(gè)抽象層次如表所示4 FPGA設(shè)計(jì)語(yǔ)言HDL語(yǔ)言特點(diǎn)l HDL語(yǔ)言是并發(fā)的,即具有在同一時(shí)刻執(zhí)行多任務(wù)的能力。一般編程語(yǔ)言是非并行的但在實(shí)際硬件中許多操作都是在同一時(shí)刻發(fā)生的,所以HDL語(yǔ)言具有并發(fā)的特征;l HDL語(yǔ)言有時(shí)序的概念,一般編程語(yǔ)言是沒(méi)有時(shí)序概念的,但在硬件電路中從輸入到輸出總是有延遲存

10、在的,為描述這些特征,HDL語(yǔ)言需要建立時(shí)序的概念。因此,使用HDL除了可以描述硬件電路的功能外還可以描述其時(shí)序要求;4 FPGA設(shè)計(jì)語(yǔ)言l由于Verilog HDL早在1983年就已推出至今已有十三年的歷史,因而擁有廣泛的設(shè)計(jì)群體,成熟的資源比VHDL豐富。l 目前版本的Verilog HDL和VHDL在行為級(jí)抽象建模的覆蓋范圍方面也有所不同,一般認(rèn)為VHDL在系統(tǒng)抽象方面比Verilog HDL強(qiáng)一些,Verilog HDL較為適合算法級(jí)、寄存器傳輸級(jí)、邏輯級(jí)、門級(jí)等的設(shè)計(jì),而VHDL更為適合大型的系統(tǒng)級(jí)設(shè)計(jì)。Verilog HDL與VHDL比較用兩種語(yǔ)言設(shè)計(jì)同一個(gè)計(jì)數(shù)器4 FPGA設(shè)計(jì)語(yǔ)

11、言VHDLlibrary ieee;use ieee.std_logic_1164.alluse ieee.std_logic_unsigned.allentity counter isport ( clk,clr: in std_logic;qout: in std_logic_vector(3 downto 0);architecture a of counter is signal qout_temp:std_logic_vector(3 downto 0);beginqout=qout_temp;process(clk)beginif clr=1 then qout_temp=“000

12、0”;else qout_temp= qout_temp+“0001”;end ifend process;end a; 4 FPGA設(shè)計(jì)語(yǔ)言Verilog HDLmodule counter (clk,clr,qout);input clk, clr;output 3:0qout;reg3:0qout;always (posedgeclk)if (clr)qout=0;elseqout=qout+1;endmodule4 FPGA設(shè)計(jì)語(yǔ)言頂層模塊子模塊A子模塊B子模塊C模塊化的邏輯電路I/O/狀態(tài)圖狀態(tài)圖5 FPGA設(shè)計(jì)的一般流程實(shí)現(xiàn)實(shí)現(xiàn)5.1 5.1 設(shè)計(jì)準(zhǔn)備設(shè)計(jì)準(zhǔn)備 方案論證,器件選擇根

13、據(jù)系統(tǒng)的功能和復(fù)雜度,對(duì)工作速度和器件本身的資源、成本及連線的可布性等方面進(jìn)行權(quán)衡,選擇合適的設(shè)計(jì)方案和合適的器件類型。5.2 5.2 設(shè)計(jì)輸入設(shè)計(jì)輸入 原理圖輸入 HDL(硬件描述語(yǔ)言)輸入 狀態(tài)圖輸入 波形輸入5.2.1 原理圖輸入方式 原理圖輸入方式是一種最直接的設(shè)計(jì)描述方式,要設(shè)計(jì)什么,就從軟件系統(tǒng)提供的元件庫(kù)中調(diào)出來(lái),畫出原理圖。優(yōu)點(diǎn)是容易實(shí)現(xiàn)仿真,便于信號(hào)的觀察和電路的調(diào)整;缺點(diǎn)是效率低,特別是產(chǎn)品有所改動(dòng),需要選用另外一個(gè)公司的PLD器件時(shí),就需要重新輸入原理圖5.2.2 HDL輸入方式 硬件描述語(yǔ)言是用文本方式描述設(shè)計(jì)(普通硬件描述語(yǔ)言和行為描述語(yǔ)言)。 普通硬件描述語(yǔ)言有AB

14、EL、CUR和LFM等,它們支持邏輯方程、真值表、狀態(tài)機(jī)等邏輯表達(dá)方式,主要用于簡(jiǎn)單PLD的設(shè)計(jì)輸入。 行為描述語(yǔ)言是目前常用的高層硬件描述語(yǔ)言,主要有VHDL和 Verilog HDL兩個(gè)IEEE標(biāo)準(zhǔn)。語(yǔ)言與工藝的無(wú)關(guān)性,可以使設(shè)計(jì)人員在系統(tǒng)設(shè)計(jì)、邏輯驗(yàn)證階段便確立方案的可行性;語(yǔ)言的公開可利用性,便于實(shí)現(xiàn)大規(guī)模系統(tǒng)的設(shè)計(jì);具有很強(qiáng)的邏輯描述和仿真功能,而且輸入效率高,在不同的設(shè)計(jì)輸入庫(kù)之間的轉(zhuǎn)換非常方便,用不著對(duì)底層的電路和PLD結(jié)構(gòu)的熟悉。 5.2.3 波形輸入方式 波形輸入方式主要是用來(lái)建立和編輯波形設(shè)計(jì)文件,用于輸入仿真向量和功能測(cè)試向量。 波形設(shè)計(jì)輸入適用于時(shí)序邏輯和有重復(fù)性的邏輯

15、函數(shù)。5.3 5.3 功能仿真功能仿真 驗(yàn)證邏輯功能的正確性,不加入任何硬延時(shí)信息。 仿真前,要先利用波形編輯器和硬件描述語(yǔ)言等建立波形文件和測(cè)試向量 仿真結(jié)果將會(huì)生成報(bào)告文件和輸出信號(hào)波形,從中便可以觀察到各個(gè)節(jié)點(diǎn)的信號(hào)變化。如果發(fā)現(xiàn)錯(cuò)誤,則返回設(shè)計(jì)輸入中修改邏輯設(shè)計(jì)。功能仿真:驗(yàn)證邏輯功能的正確性,不加入任何硬件延時(shí)等信息。測(cè)試波形被測(cè)電路檢查輸出輸入信號(hào)輸出波形5.4 5.4 設(shè)計(jì)實(shí)現(xiàn)設(shè)計(jì)實(shí)現(xiàn) 設(shè)計(jì)處理是器件設(shè)計(jì)中的核心環(huán)節(jié)。在設(shè)計(jì)處理過(guò)程中,編譯軟件將對(duì)設(shè)計(jì)輸入文件進(jìn)行規(guī)則檢查、邏輯優(yōu)化綜合、適配和分割(映射)、布局布線等,最后產(chǎn)生編程用的編程文件。 5.4.1 邏輯優(yōu)化和綜合 化簡(jiǎn)所

16、有的邏輯方程或用戶自建的宏,使設(shè)計(jì)所占用的資源最少。綜合的目的是將多個(gè)模塊化設(shè)計(jì)文件合并為一個(gè)網(wǎng)表文件,并使層次設(shè)計(jì)平面化。 綜合:將抽象的HDL代碼轉(zhuǎn)換成具體的邏輯電路原理圖。With sel selectDin =A when 1, B when others;process (clk ,rst) begin if rst=0 then D_out = 0; else D_out Simulator ToolTools-Simulator Tool選擇仿真類型選擇仿真類型(Functional),(Functional),并創(chuàng)建功并創(chuàng)建功能仿真網(wǎng)表能仿真網(wǎng)表( (點(diǎn)擊綠色薦頭所指按鈕點(diǎn)擊綠色薦頭所指按鈕) )此處應(yīng)為剛才保此處應(yīng)為剛才保存的波形文件存的波形文件功能仿真功能仿真網(wǎng)表創(chuàng)建完后點(diǎn)擊網(wǎng)表創(chuàng)建完后點(diǎn)擊StartStart運(yùn)行運(yùn)行, ,運(yùn)運(yùn)行完成后關(guān)閉此窗口行完成后關(guān)閉此窗口. .功能仿真功能仿真點(diǎn)擊此處點(diǎn)擊此處, ,開始仿真開始仿真功能仿真功能仿真運(yùn)行結(jié)束后會(huì)彈出功能仿真的波形報(bào)運(yùn)行結(jié)束后會(huì)彈出功能仿真的波形報(bào)告告, ,觀察仿真波形

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論