數(shù)字電子技術(shù)FPGA實驗指導書_第1頁
數(shù)字電子技術(shù)FPGA實驗指導書_第2頁
數(shù)字電子技術(shù)FPGA實驗指導書_第3頁
數(shù)字電子技術(shù)FPGA實驗指導書_第4頁
數(shù)字電子技術(shù)FPGA實驗指導書_第5頁
已閱讀5頁,還剩116頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)字電子技術(shù)基礎(chǔ)與FPGA實驗指導書前 言FPGA是英文Field Programmable Gate Array的縮寫,即現(xiàn)場可編程門陣列,它是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。      FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個新概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input

2、Output Block)和內(nèi)部連線(Interconnect)三個部分。FPGA的基本特點主要有:     1)采用FPGA設計ASIC電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。      2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。     3)FPGA內(nèi)部有豐富的觸發(fā)器和IO引腳。     4)FPGA是ASIC電路中設計周期最短、開發(fā)費用最低、風險最小的器件之一。    

3、 5)FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。     可以說,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。     目前FPGA的品種很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等,本實驗平臺選用了ALTERA公司Cyclone II系列芯片     FPGA是由存放在片內(nèi)RAM中的程序來設置其工作狀態(tài)的,因此,工作時需要對片內(nèi)的RAM進行編程。用戶可以根據(jù)不同的配置模式,采

4、用不同的編程方式。     加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進入工作狀態(tài)。掉電后,F(xiàn)PGA恢復成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。VHDL語言是一種用于電路設計的高級語言。它在80年代的后期出現(xiàn)。最初是由美國國防部開發(fā)出來供美軍用來提高設計的可靠性和縮減開發(fā)周期的一

5、種使用范圍較小的設計語言 。但是,由于它在一定程度上滿足了當時的設計需求,于是他在1987年成為A I/IEEE的標準(IEEE STD 1076-1987)。1993年更進一步修訂,變得更加完備,成為A I/IEEE的A I/IEEE STD 1076-1993標準。目前,大多數(shù)的CAD廠商出品的EDA軟件都兼容了這種標準。VHDL的英文全寫是:VHSIC(Very High eed Integrated Circuit)Hardware Descriptiong Language.翻譯成中文就是超高速集成電路硬件描述語言。因此它的應用主要是應用在數(shù)字電路的設計中。目前,它在中國的應用多數(shù)是

6、用在FPGA/CPLD/EPLD的設計中。    本實驗平臺可做FPGA的學習實驗箱,主芯片采用了ALTERA公司的CycloneII系列EP2C5T144C8N,學習VHDL語言,為數(shù)字電路系統(tǒng)設計打下堅實的基礎(chǔ),學習ALTERA公司的開發(fā)平臺Quartus II 9.0 ,掌握FPGA系統(tǒng)的開發(fā)設計流程。第一章FPGA系統(tǒng)1.1 系統(tǒng)簡介 本FPGA系統(tǒng)教學開發(fā)平臺采用國際著名可編程邏輯器件公司Altera的CycloneII系列芯片為核心,整個平臺采用模塊化設計,各種模塊可以自由組合,同時提供豐富的擴展接口,非常適合于FPGA學習。開發(fā)工程師可利用

7、VHDL語言、Verilog語言、原理圖或方程式,結(jié)合Altera集成開發(fā)環(huán)境Quartus II,進行編輯、綜合、仿真和布局布線,通過加載配置并進行設計驗證。它可以滿足絕大多數(shù)組合邏輯電路、時序邏輯電路設計需求; 可以進行初級的SOPC設計,簡單的NIOS初級核設計,此書安排的實驗由簡單到難,一步一步引導你入FPGA的世界。1.2 系統(tǒng)功能特點板上1.2V,5V,3.3V完整電源管理50M有源晶振,及一個擴展晶振接口支持JTAG調(diào)試仿真模式和AS下載配置模式雙復位系統(tǒng),重新配置與軟件復位主芯片采用Cyclone II 系列 EP2C5T144C8N芯片,資源豐富8個七段數(shù)碼管PS2鍵盤標準接

8、口標準RS232串口蜂鳴器VGA標準接口IIC芯片,AT24C02SPI芯片,AT93C46RTC芯片,DS1302,及備用電池溫度傳感器,DS18B208位AD,TLC549,及電位器10位DA,TLC5615LCD1602液晶8位撥碼開關(guān)4X4標準矩陣鍵盤大容量ALTERA配置芯片EPCS412個RGY三色LED模擬十字路口交通燈1M容量高速SRAM,IS63LV102416個I/O引出,其中包括2個ALTERA專用PLL輸出1.3開發(fā)平臺標準配置FPGA教學實驗平臺9V-2A電源適配器JTAG下載電纜(支持Altera全系列CPLD和FPGA仿真與下載)1.4 部分功能模塊介紹1.4.1

9、電源FPGA教學實驗開發(fā)平臺采用多電源模式,輸入電源為寬電源模式,支持9V到24V電源輸入,F(xiàn)PGA芯片采用3.3V的I/O電壓和1.2V的內(nèi)核電壓,保證了芯片的穩(wěn)定工作。除AD和DA采用5V電源外,其他芯片均采用3.3V電源,保證和FPGA的I/O電壓的匹配。具體請參見原理圖的電源部分。1.4.2 時鐘本FPGA教學實驗平臺采用50M有晶振,以及ALTERA FPGA專用時鐘輸入引腳,使片內(nèi)時鐘分布均勻,芯片內(nèi)部各個模塊間的時鐘同步性達到最佳狀態(tài)。另外,預留一專用時鐘輸入引腳,方便需要時擴展。具體請參見原理圖的時鐘部分。1.4.2 LED燈由于本實驗平臺外部硬件資源豐富,所以12個LED燈中

10、有8個通過一片74LV245芯片與SRAM的8位數(shù)據(jù)總線復用,通過74LV245的片選信號來選擇控制SRAM的數(shù)據(jù)總線還是控制LED燈。其余的4個LED燈通過電阻與FPGA直接相連。具體請參見原理圖的LED部分1.4.3數(shù)碼管顯示本FPGA教學實驗平臺采用2個4位七段共陽極數(shù)碼管。數(shù)碼管的位選信號采用PNP型三極管來驅(qū)動。段選信號采用一片74LV245芯片與SRAM的部分地址總線復用。各個引腳的連接請參見原理圖1.4.4 RS232串口為保證與FPGA I/O電壓標準匹配,本FPGA教學實驗平臺用MAX3232低壓芯片來轉(zhuǎn)換RS232電平與FPGA接口之間的電平,實現(xiàn)本平臺與PC機之間的通信。

11、1.4.5 LCD1602液晶LCD1602液晶顯示的數(shù)據(jù)總線采用兩片74LV245與8位撥碼開關(guān)復用,注意,此處使用了兩片74LV245,當使用LCD1602時,與撥碼開關(guān)相連的74LV245(圖上標號為U7)的片選控制線必須被禁止。1.4.6其他模塊其他模塊請參見原理圖,相關(guān)內(nèi)容將在后續(xù)章節(jié)詳解。1.5 引腳及信號映射表本FPGA教學實驗平臺的引腳連接與信號映射如下表:編號信號名稱定義編號信號名稱定義1CFG_ASD2CFG_NCS3PS2_DATA4PS2_CLK5VCC_3V36GND7BELL_CTL蜂鳴器8UART_TX串口發(fā)9UART_RX串口收10JTAG_TDO11JTAG_

12、TMS12JTAG_TCK13JTAG_TDI14CFG_DATA015CFG_DCLK16CFG_nCE17CLK_000時鐘輸入18CLK_001時鐘19GND20CFG_nCONFIG21CLK_002軟件復位22NULL未連接23VCC_3V324VGA_VS25VGA_HS26VGA_R27VGA_G28VGA_B29VCC_3V330DS18B20溫度3124C02_SCLIIC3224C02_SDAIIC33GND34GND35VCC_1V236GND37VCC_1V238GND39GND4093LC46_DOSPI4193LC46_DISPI4293LC46_CLKSPI439

13、3LC46_CSSPI44LCD_RS液晶45LCD_RW液晶46VCC_3V347LCD_E液晶48LCD_DB049GND50VCC_1V251LCD_DB1注:液晶數(shù)據(jù)總線與撥碼開關(guān)輸入線通過兩片74LV245復用52LCD_DB253LCD_DB354VCC_3V355LCD_DB456GND57LCD_DB558LCD_DB659LCD_DB760LCD_OE245控制線61GND62VCC_1V263KEY_OE245控制線64BUTTON0矩陣鍵盤65BUTTON1矩陣鍵盤66VCC_3V367BUTTON2矩陣鍵盤68GND69BUTTON3矩陣鍵盤70BUTTON4矩陣鍵盤7

14、1BUTTON5矩陣鍵盤72BUTTON6矩陣鍵盤73BUTTON7矩陣鍵盤74DS1302_CLKRTC75DS1302_DATARTC76DS1302_CSRTC77VCC_3V378GND79TLC5615_CSD/A80TLC5615_CLKD/A81TLC5615_DATAD/A82CFG_nSTATUS83CFG_CONF_DONE84GND85GND86TLC549_CLKA/D87TLC549_DATAA/D88NULL未連接89NULL未連接90NULL未連接91NULL未連接92TLC549_CSA/D93LED0LED94LED1LED95VCC_3V396LED2LED

15、97LED398GND99DATA0注:SRAM數(shù)據(jù)總線與8個LED通過一片74LV245復用100DATA1101DATA2102VCC_3V3103DATA3104DATA4105GND106GND107VCC_1V2108GND109VCC_1V2110GND111GND112DATA5113DATA6114DATA7115SRAM_CS注:RAM片選同時控制245116VCC_3V3117GND118SRAM_OE119SRAM_WE120ADDR0121ADDR1注:SRAM的地址總線通過2片74LV245與數(shù)碼管的位選和段選控制信號復用122ADDR2123GND124VCC_1V

16、2125ADDR3126ADDR4127VCC_3V3128GND129ADDR5130GND131VCC_1V2132ADDR6133ADDR7134ADDR8135ADDR9136ADDR10137ADDR11138VCC_3V3139ADDR12140GND141ADDR13142ADDR14143ADDR15144ADDR161.6 Quartus II 軟件的安裝與使用1.6.1 Quartus II 9.0的安裝與破解A:安裝Quartus II 軟件安裝Quartus II軟件的方法比較簡單,直接雙擊安裝文件,點擊下一步并選擇路徑進行安裝即可,注意安裝目錄路徑最好不要有中文和空格

17、符號。B:破解Quartus II 軟件安裝完成后,需要對軟件進行破解,步驟如下:1 : 將 破 解 文 件 中 的 sys_cpt.dll , 拷 貝 到 安 裝 目 錄 下 , 默 認 安 裝 目 錄 是 在 C:altera90sp2quartusbin ,將破解文件 sys_cpt.dll 拷貝到該目錄下覆蓋原文件即可。 2:把 license.dat 里的 XXXXXXXXXXXX 用您的網(wǎng)卡號替換。您計算機網(wǎng)卡號可以通過下面方式得到: 打開您計算機的 開始運行輸入"CMD" 回車打開命令行窗口如下: 在命令行窗口寫入"IPCONFIG/ALL"

18、; 回車,如下圖描述即是你計算機的網(wǎng)卡號 把license.dat 里HOSTID=后面的 XXXXXXXXXXXX 用您的網(wǎng)卡號替換,例如把license.dat 里的HOSTID=XXXXXXXXXXXX改成HOSTID=002564618AB5, 不要寫成 00-25-64-61-8A-B5,保存,把 license.dat 復制到 quartus 軟件安裝目錄下。注意license.dat中有兩處需要修改。3:打開 quartus 軟件 ,選擇Tools à License Setup 進入License 設置界面指定你的License File(license.dat)位置

19、,必須出現(xiàn)上方紅色圓圈的內(nèi)容才表示設定成功。點擊確認,完成破解。1.6.2USB Blaster 下載電纜驅(qū)動安裝插上USB Blaster ,Windows會自動彈出如下對話框,選擇否,并下一步:如下圖,選擇從列表指定安裝,并下一步:如下圖,瀏覽到USB Blaster驅(qū)動程序位置并進行安裝即可。USB Blaster 的驅(qū)動程序位置在Quartus II 軟件安裝目錄下的:xxx quartusdriversusb-blaster下,選擇相應的32位機或64位機進行安裝即可。其中,xxx表示Quartus II 軟件的安裝路徑。安裝成功后,在設備管理中可查看到USB Blaster ,如下

20、圖:1.6.3Quartus II 的使用與工程的建立本小節(jié)將講解如何使用Quartus II 建立一個工程,首先打開Quartus II 軟件,選擇FileàNew Porject Wizard 進入新建工程頁面。注意:工程存放的路徑和工程名最好不要包含中文名稱和空格符號。點擊Next 進入如下界面:直接點擊Next 跳過上頁,進入如下界面:選擇了芯片型號后點擊Next進入如下界面:直接點擊Next,直到結(jié)束,致此,一個工程已經(jīng)被建立??梢钥吹剑琎uartus II 主界面由:工程導向窗口,狀態(tài)窗口,用戶區(qū),信息窗口,四個部分組成。1.6.4 文件的建立與編譯,綜合,布局布線。1.

21、工程建好后,點擊FileàNew,打開如下圖所示對話框所示:選中,VHDL File ,點擊OK,從而建立VHDL文件。2. 在建立的VHDL File 中編寫代碼。3.編寫完成代碼后,對FPGA進行一些基本設置。點擊Assignments àDevices打開如下圖對話框。選中Device 選項,并點擊Device and Pin 進入,并點擊Configuration 選擇配置芯片EPCS4,點擊Unnused Pins ,將未使用的引腳設置成輸入三態(tài)。如下圖兩圖所示:點擊確定退出以上設置。4.接下來鎖定引腳。點擊Assigment àPin Planner

22、進入鎖定引腳界面如下:在Location選項下選擇與相應信號相對應的引腳即可。如下圖:5. 引腳分配完成后,點擊Processing àStart Compilation 開始對程序進行編譯,綜合以及布局布線等。1.6.5使用JTAG下載工程下載程序時,用USB Blaster 將PC 機的USB與FPGA教學平臺上的JTAG接口相連,正確安裝驅(qū)動后,在Quartus II 軟件中點擊 ToolsàProgrammer打開程序下載界面如下:1. 點擊選擇下載工具,如下圖所示:選中USB-BlasterUSB-0,關(guān)閉退出。點擊Mode下拉按鈕,選中JTAG,如圖所示。3.點

23、擊Add File 選擇要下載的文件,點擊Start開始下載。注意:選擇下載文件時,JTAG方式應該選擇文件后綴為.sof的文件,使用AS方式下載時應該選擇文件后綴為.pof的文件。1.6.6使用AS方式下載工程在使用AS方式下載工程時,在只需在JTAG方式下改變Mode處的下載方式,再添加相應的.pof文件,并把下載選項的前三項選中即可下載。如下圖所示:第二章實 驗實驗一 門電路設計1.1 實驗目的1學習基本門電路的設計方法2了解VHDL語言的基本設計思想3.掌握Quartus II 的基本使用步驟1.2 實驗內(nèi)容使用VHDL語言實現(xiàn)2輸入與門并仿真驗證;1.3 實驗電路1.4 實驗步驟1.

24、4.1 啟動Quartus II ,新建工程;圖1.1圖1.2圖1.3圖1.41.4.2. 新建文件并保存;圖1.5圖1.6圖1.71.4.3. 輸入描述電路的VHDL語句;(見1.5)1.4.4. 編譯圖1.8圖1.9圖1.101.4.5. 仿真圖1.11圖1.12圖1.13圖1.14圖1.15圖1.16圖1.17圖1.18圖1.19圖1.20圖1.21圖1.22圖1.23圖1.24圖1.251.4.6. 分析仿真波形圖圖1.26 從圖2.26中可以看出,只有當and2_a,和and2_b同時為高電平時,與門輸出and2_out才為高電平,否則為低電平,符合2輸入與門的邏輯關(guān)系。1.5 VH

25、DL程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;-ENTITY Exp1_and2IS PORT(and2_a:IN STD_LOGIC;and2_b :IN STD_LOGIC;and2_out:OUT STD_LOGIC);END ENTITY Exp1_and2;-ARCHITECTURE BehaviorOF Exp1_and2 IS BEGINand2_out <= and2_a and and2_b;END ARC

26、HITECTURE Behavior;1.6 思考題1請舉例說明本電路在實際工程中的應用;2. 請描述在本實驗中遇到的問題并闡述其解決方法;1.7 完成實驗報告 實驗二8線-3線編碼器2.1 實驗目的1掌握8-3編碼器的工作原理;2學習8-3編碼器的設計方法;3進一步了解VHDL語言的基本設計思想;4.熟練掌握Quartus II 的基本使用步驟;2.2 實驗內(nèi)容根據(jù)8-3線編碼器的基本原理,用VHDL完成8-3線編碼器,并在實驗平臺上驗證。2.3 實驗電路2.4 實驗步驟2.4.1 啟動Quartus II ,新建工程;圖2.1圖2.2圖2.3圖2.4圖2.5圖2.62.4.2. 新建文件并

27、保存;圖2.7圖2.8圖2.9圖2.102.4.3. 輸入描述電路的VHDL語句;(見2.5)2.4.4. 編譯圖2.11圖2.122.4.5 分配引腳通過以下步驟打開分配引腳窗口;圖2.13圖2.14圖2.15 中,雙擊Location下面的框,彈出引腳選擇下拉條;圖2.15圖2.162.4.6 再次編譯分配完引腳后,再次編譯。圖2.17圖2.182.4.7 下載通過以下步驟打開下載頁面,向FPGA下載生成的電路文件;圖2.19圖2.20實驗板供電,仿真器一端插在實驗板上有JTAG標識的座子上,選擇JTAG方式下載,點擊圖2.20中Hardware選擇仿真器為USB-Blaster;如圖2.

28、21所示:圖2.21圖2.22選擇JTAG方式,點擊圖2.22中Add file選項,選擇工程路徑下的*.sof文件,最后選擇START選項下載。2.4.8 驗證先撥動實驗板上右下方的8位撥碼開關(guān)的所有位于ON的位置(此時撥碼開關(guān)全為低電平),再撥動8號位到靠近8的位置,用同樣的方法撥到71位實驗,從而模擬8-3編碼器的一種狀態(tài),觀察實驗板上LD1,LD2,LD3的變化。(注意:因為LED采用的是灌電流型輸出,所以當LED控制引腳輸出電平為高時,LED不亮,而LED控制引腳輸出為低時LED亮)2.5 VHDL程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;

29、USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;-ENTITY Exp2_83coderIS PORT(a: IN STD_LOGIC_VECTOR(7 DOWNTO 0);key_oe: OUT STD_LOGIC;led_oe: OUT STD_LOGIC;b: out STD_LOGIC_VECTOR(2 DOWNTO 0);END ENTITY Exp2_83coder;-ARCHITECTURE BehaviorOF Exp2_83coder IS BEGINkey_oe <= '0'-e

30、nable U7 led_oe <= '1' -enable U10P1:PROCESS(a)-a is sensitive signalBEGINCASE a IS WHEN "00000001" => b <="000"WHEN "00000010" => b <="001"WHEN "00000100" => b <="010"WHEN "00001000" => b <=&quo

31、t;011"WHEN "00010000" => b <="100"WHEN "00100000" => b <="101"WHEN "01000000" => b <="110"WHEN "10000000" => b <="111"WHEN OTHERS => b <="111"END CASE;END PROCESS;-END ARCHITE

32、CTURE Behavior;2.6 思考題1請舉例說明本電路在實際工程中的應用;2. 請描述在本實驗中遇到的問題并闡述其解決方法;2.7 完成實驗報告實驗三3線-8線譯碼器3.1 實驗目的1掌握3-8譯碼器的工作原理;2學習3-8譯碼器的VHDL設計方法;3進一步了解VHDL語言的基本設計思想;4.熟悉Quartus II 的基本使用步驟;3.2 實驗內(nèi)容根據(jù)3-8譯碼器的基本原理,用VHDL完成3-8譯碼器設計,并在實驗平臺上驗證。3.3 實驗電路3.4 實驗步驟3.4.1 啟動Quartus II ,新建工程;圖3.1圖3.2圖3.3圖3.4圖3.5圖3.63.4.2. 新建文件并保存;

33、圖3.7選擇建立VHDL文件,如圖3.8所示;圖3.8圖3.9圖3.10輸入文件名,并保存到工程目錄下,如圖3.10所示;3.4.3. 輸入描述電路的VHDL語句;(見3.5)3.4.4. 編譯圖3.11圖3.123.4.5 分配引腳通過以下步驟打開分配引腳窗口,打開的窗口如圖3.14所示:圖3.13圖3.14圖3.15圖3.15 中,雙擊Location下面的框,彈出引腳選擇下拉項,選擇相應引腳;分配好的引腳如圖3.16所示:圖3.163.4.6 再次編譯分配完引腳后,再次編譯。如下圖所示:圖3.17圖3.183.4.7 下載通過以下步驟打開下載頁面,向FPGA下載生成的電路文件;圖3.19

34、圖3.20實驗板供電,仿真器一端插在實驗板上有JTAG標識的座子上,選擇JTAG方式下載,點擊圖3.20中Hardware選擇仿真器為USB-Blaster;如圖3.21所示:圖3.21圖3.22選擇JTAG方式,點擊圖3.22中Add file選項,選擇工程路徑下的*.sof文件,最后選擇START選項下載。3.4.8 驗證先撥動實驗板上右下方的8位撥碼開關(guān)到ON的位置(此時撥碼開關(guān)全為低電平),在本實驗中1,2,3位撥碼開關(guān)分別表示:38譯碼器的A0,A1,A2信號,6,7,8位分別表示38譯碼器的S1,S2,S3信號,LD1到LD8分別表示Y0到Y(jié)7譯碼輸出信號。通過設置S1,S2,S3

35、與A0,A1,A2和不同組合來觀察譯碼器輸出Y0到Y(jié)7的狀態(tài),從而驗證設計的正確性。(注意:因為LED采用的是灌電流型輸出,所以當LED控制引腳輸出電平為高時,LED不亮,而LED控制引腳輸出為低時LED亮)3.5 VHDL程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;-ENTITY Exp3_38decoder IS PORT(A0,A1,A2: IN STD_LOGIC;S1,S2,S3: IN STD_LOGIC;key_oe:

36、 OUT STD_LOGIC;led_oe: OUT STD_LOGIC;y: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY Exp3_38decoder;-ARCHITECTURE Behavior OF Exp3_38decoder IS SIGNAL S : STD_LOGIC;SIGNAL A : STD_LOGIC_VECTOR(2 DOWNTO 0);BEGINkey_oe <= '0'-enable U7 led_oe <= '1' -enable U10S <= S2 OR S3;A &

37、lt;= A2 & A1 & A0;P1:PROCESS(A0,A1,A2,S1,S2,S3)-sensitive signal tableBEGIN IF S1 = '0' THEN y <= "11111111"ELSIF S ='1' THEN y <= "11111111"ELSE CASE A IS WHEN "000" => y <= "11111110"WHEN "001" => y <= &quo

38、t;11111101"WHEN "010" => y <= "11111011"WHEN "011" => y <= "11110111"WHEN "100" => y <= "11101111"WHEN "101" => y <= "11011111"WHEN "110" => y <= "10111111"WHEN &quo

39、t;111" => y <= "01111111"WHEN OTHERS => y <= "01111111"END CASE;END IF ;END PROCESS;-END ARCHITECTURE Behavior;3.6 思考題1請舉例說明本電路在實際工程中的應用;2. 請描述在本實驗中遇到的問題并闡述其解決方法;3.7 完成實驗報告實驗四四選一數(shù)據(jù)選擇器4.1 實驗目的1掌握四選一數(shù)據(jù)選擇器的工作原理;2學習四選一數(shù)據(jù)選擇器的VHDL設計方法;3進一步了解VHDL語言的基本設計思想;4.熟悉Quartus II

40、 的基本使用步驟;4.2 實驗內(nèi)容根據(jù)四選一數(shù)據(jù)選擇器的基本原理,用VHDL完成四選一數(shù)據(jù)選擇器設計,并在實驗平臺上驗證。4.3 實驗電路4.4 實驗步驟4.4.1 啟動Quartus II ,新建工程;圖4.1圖4.2圖4.3圖4.4圖4.5圖4.64.4.2. 新建文件并保存;圖4.7圖4.8如圖4.8所示:選擇建立VHDL文件后,點擊OK,建立VHDL文件。圖4.9圖4.10輸入文件名,并保存到工程目錄下,如圖4.10所示;4.4.3. 輸入描述電路的VHDL語句;(見4.5)4.4.4. 編譯圖4.11圖4.124.4.5 分配引腳通過以下步驟打開分配引腳窗口,打開的窗口如圖4.14所

41、示:圖4.13圖4.14圖4.15圖4.15 中,雙擊Location下面的框,彈出引腳選擇下拉項,選擇相應引腳;分配好的引腳如圖4.16所示:圖4.164.4.6 再次編譯分配完引腳后,再次編譯。如下圖所示:圖4.17圖4.184.4.7 下載通過以下步驟打開下載頁面,向FPGA下載生成的電路文件;圖4.19圖4.20實驗板供電,仿真器一端插在實驗板上有JTAG標識的座子上,選擇JTAG方式下載,點擊圖4.20中Hardware選擇仿真器為USB-Blaster;如圖4.21所示:圖4.21圖4.22選擇JTAG方式,點擊圖4.22中Add file選項,選擇工程路徑下的*.sof文件,最后

42、選擇START選項下載。 4.4.8 驗證先撥動實驗板上右下方的8位撥碼開關(guān)到ON的位置(此時撥碼開關(guān)全為低電平),本實驗中選用撥碼開關(guān)的第1,2位為4選1數(shù)據(jù)選通器的地址位A0,A1,選用撥碼開關(guān)的第4位為4選1數(shù)據(jù)選通器的片選位s,選用撥碼開關(guān)的第5,6,7,8位分別為4選1數(shù)據(jù)選通器的數(shù)據(jù)位d0,d1,d2,d3。設置撥碼開關(guān)的不同組合,觀察LED1的狀態(tài),從而驗證4選1數(shù)據(jù)選通器設計的正確性。(注意:因為LED采用的是灌電流型輸出,所以當LED控制引腳輸出電平為高時,LED不亮,而LED控制引腳輸出為低時LED亮)4.5 VHDL程序LIBRARY IEEE;USE IEEE.STD_

43、LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;-ENTITY Exp4_4c1dataselector IS PORT(d0,d1,d2,d3: IN STD_LOGIC;a0,a1: IN STD_LOGIC;s : IN STD_LOGIC;-key_oe : OUT STD_LOGIC;led_oe : OUT STD_LOGIC;y : OUT STD_LOGIC);END ENTITY Exp4_4c1dataselector ;-ARCHITECTURE Behavior OF

44、 Exp4_4c1dataselector IS SIGNAL a : STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINkey_oe <= '0'-enable U7 led_oe <= '1' -enable U10-P1:PROCESS(a0,a1)BEGIN a <= a1 & a0;IF(s = '0') THEN CASE a IS WHEN "00" => y <= d0;WHEN "01" => y <= d1;WHEN &

45、quot;10" => y <= d2;WHEN "11" => y <= d3;WHEN OTHERS => y <=d3;END CASE ;END IF;END PROCESS;-END ARCHITECTURE Behavior;4.6 思考題1請舉例說明本電路在實際工程中的應用;2. 請描述在本實驗中遇到的問題并闡述其解決方法;4.7 完成實驗報告實驗五BCD七段顯示譯碼器5.1 實驗目的1掌握BCD七段顯示譯碼器的工作原理;2學習BCD七段顯示譯碼器的VHDL設計方法;3進一步了解VHDL語言的基本設計思想;4.熟悉

46、Quartus II 的基本使用步驟;5.2 實驗內(nèi)容根據(jù)BCD七段顯示譯碼器的基本原理,用VHDL完成BCD七段顯示譯碼器設計,并在實驗平臺上驗證。 5.3 實驗電路5.4 實驗步驟5.4.1 啟動Quartus II ,新建工程;圖5.1圖5.2圖5.3圖5.4圖5.5圖5.65.4.2. 新建文件并保存;圖5.7圖5.8如圖5.8所示:選擇建立VHDL文件后,點擊OK,建立VHDL文件。圖5.9圖5.10輸入文件名,并保存到工程目錄下,如圖5.10所示;5.4.3. 輸入描述電路的VHDL語句;(見5.5)5.4.4. 編譯圖5.11圖5.125.4.5 分配引腳通過以下步驟打開分配引腳

47、窗口,打開的窗口如圖5.14所示:圖5.13圖5.14圖5.15圖5.15 中,雙擊Location下面的框,彈出引腳選擇下拉項,選擇相應引腳;分配好的引腳如圖5.16所示:圖5.165.4.6 再次編譯分配完引腳后,再次編譯。如下圖所示:圖5.17圖5.185.4.7 下載通過以下步驟打開下載頁面,向FPGA下載生成的電路文件;圖5.19圖5.20實驗板供電,仿真器一端插在實驗板上有JTAG標識的座子上,選擇JTAG方式下載,點擊圖5.20中Hardware選擇仿真器為USB-Blaster;如圖5.21所示:圖5.21圖5.22選擇JTAG方式,點擊圖5.22中Add file選項,選擇工

48、程路徑下的*.sof文件,最后選擇START選項下載。 5.4.8 驗證先撥動實驗板上右下方的8位撥碼開關(guān)到ON的位置(此時撥碼開關(guān)全為低電平)。本實驗通過8位撥碼開關(guān)的1,2,3,4位來選擇要顯示的數(shù)據(jù),譯碼出的數(shù)據(jù)顯示在實驗板上方數(shù)碼管的最右邊一個上。通過設置8位撥碼開關(guān)1,2,3,4位的不同值,觀察數(shù)碼管上的顯示變化,驗證設計的正確性。5.5 VHDL程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;-ENTITY Exp5_7bi

49、tDigitron IS PORT(a: IN STD_LOGIC_VECTOR(3 DOWNTO 0);key_oe: OUT STD_LOGIC;led_oe: OUT STD_LOGIC;we :OUT STD_LOGIC;we_N:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);y: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY Exp5_7bitDigitron;-ARCHITECTURE behavior OF Exp5_7bitDigitron IS BEGIN we_N <="1111111"

50、-turn on the other digitronwe <= '0'-turn on the power of Digitronkey_oe <= '0'-enable U7 led_oe <= '1' -enable U10-P1:PROCESS(a)BEGIN CASE a IS WHEN "0000" => y <="00000011"-0WHEN "0001" => y <="10011111"-1WHEN "0010" => y <="00100101"-2WHEN "0011" => y <="00001101"-3WHEN "0100" => y <="10011001"-4WHEN "0101" => y <="

溫馨提示

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

評論

0/150

提交評論