硬件課設教材_第1頁
硬件課設教材_第2頁
硬件課設教材_第3頁
硬件課設教材_第4頁
硬件課設教材_第5頁
已閱讀5頁,還剩107頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機硬件計算機硬件課程設計課程設計中國民航大學 計算機科學與技術學院劉玉潔劉玉潔 編著編著目 錄第第 1 章章 GW48 EDA/SOPC 實驗系統(tǒng)概要說明實驗系統(tǒng)概要說明.11.1 GW48 EDA/SOPC 系列主系統(tǒng)的原理和使用方法.11.2 實驗電路結構圖說明.5第第 2 章章 VHDL 基礎基礎知知識識.122.1 VHDL 簡介 .122.2 VHDL 結構 .152.3 VHDL 基本語法 .212.4 順序語句與并行語句.25第三章第三章 軟硬件操作流程軟硬件操作流程.343.1 十進制計數(shù)器的設計流程.343.2 引腳設置和下載.393.3 SignalTapII 實時測試

2、 .42第四章第四章 QUARTUS 基本程序設計與實現(xiàn)基本程序設計與實現(xiàn).464.1 應用 QuartusII 完成基本組合電路設計.464.2 七段數(shù)碼顯示譯碼器設計.484.3 設計含異步清 0 和同步時鐘使能的加法計數(shù)器.52第五章第五章 計算機功能模塊設計計算機功能模塊設計.565.1 8 位 CPU 功能與結構.565.2 CPU 中的基本部件.575.3 數(shù)據(jù)通路設計.615.4 程序存儲器與數(shù)據(jù)存儲器.625.5 程序計數(shù)器與地址寄存器.715.6 指令寄存器.735.7 指令譯碼器與控制器.735.8 時序產(chǎn)生器.76第六章、第六章、8 位位 CISC 計算機設計計算機設計.

3、786.1 8 位 CPU 結構.786.2 指令系統(tǒng)的結構及功能的確定.806.3 八位 CISC-CPU 的硬件系統(tǒng)設計.86第七章第七章 實驗實驗與與設計要求設計要求.977.1 課內(nèi)實驗.977.2 課后實驗.1047.3 進階實驗.1071第 1 章 GW48 EDA/SOPC 實驗系統(tǒng)概要說明1.1 GW48 EDA/SOPC 系列主系統(tǒng)的原理和使用方法本章介紹 GW48 系列的 EDA/SOPC 實驗系統(tǒng),它是由主系統(tǒng)和適配板兩大部分組成,下面來一一介紹,以下是對 GW48 系統(tǒng)主板標識進行注釋,重要以及常用的部件說明以黑體字表示。 1、選擇鍵及模式數(shù)碼顯示、選擇鍵及模式數(shù)碼顯示

4、,按動按鍵,數(shù)碼顯示“1-B” ,該電路結構能僅通過一個鍵,完成純電子切換的方式,Multi-task Reconfiguration 電路結構(多功能重配置結構)選擇十余種不同的實驗系統(tǒng)硬件電路連接結構。該系統(tǒng)的實驗電路結構是可控的。即可通過控制接口鍵,使之改變連接方式以適應不同的實驗需要。因而,從物理結構上看,實驗板的電路結構是固定的,但其內(nèi)部的信息流在主控器的控制下,電路結構將發(fā)生變化重配置。模式切換使用舉例:若模式鍵選中了“實驗電路結構圖 NO.1” ,這時的 GW48 系統(tǒng)板所具有的接口方式變?yōu)椋篎PGA/CPLD 端口 PI/O3128(即PI/O31、PI/O30、PI/O29、

5、PI/O28) 、PI/O2724、PI/O2320 和 PI/O1916 ,共 4 組 4 位二進制 I/O 端口分別通過一個全譯碼型 7 段譯碼器輸向系統(tǒng)板的 7 段數(shù)碼管。這樣,如果有數(shù)據(jù)從上述任一組四位輸出,就能在數(shù)碼管上顯示出相應的數(shù)值,其數(shù)值對應范圍為:FPGA/CPLD 輸出000000010010 1100110111101111數(shù) 碼 管 顯 示 0 1 2 C D E F端口 I/O3239 分別與 8 個發(fā)光二極管 D8D1 相連,可作輸出顯示,高電平亮。還可分別通過鍵 8 和鍵 7,發(fā)出高低電平輸出信號進入端口 I/049 和 48 ;鍵控輸出的高低電平由鍵前方的發(fā)光二

6、極管 D16 和 D15 顯示,高電平輸出為亮。此外,可通過按動鍵 4 至鍵1,分別向 FPGA/CPLD 的 PIO0PIO15 輸入 4 位 16 進制碼。每按一次鍵將遞增 1,其序列為1,2,9,A,F(xiàn)。注意,對于不同的目標芯片,其引腳的 I/O 標號數(shù)一般是同 GW48 系統(tǒng)接口電路的“PIO”標號是一致的,但具體引腳號是不同的,而在邏輯設計中引腳的鎖定數(shù)必須是該芯片的具體的引腳號。具體對應情況需要參考表 1-2。 2、 “系統(tǒng)復位健系統(tǒng)復位健” ,在對 FPGA 下載以后,按動此鍵,起到穩(wěn)定系統(tǒng)作用;在實驗中,當選中某種模式后,要按一下右側的復位鍵,以使系統(tǒng)進入該結構模式工作。注意此

7、復位鍵僅對實驗系統(tǒng)的監(jiān)控模塊復位,而對目標器件 FPGA 沒有影響,F(xiàn)PGA 本身沒有復位的概念,上電后即工作,在沒有配置前,F(xiàn)PGA 的 I/O 口是隨機的,故可以從數(shù)碼管上看到隨機閃動,配置后的 I/O 口才會有確定的輸出電平。3 、鍵、鍵 1 鍵鍵 8 8 :為實驗信號控制鍵,此 8 個鍵受“多任務重配置”電路控制,它在每一張電路圖中的功能及其與主系統(tǒng)的連接方式隨模式選擇鍵的選定的模式而變,使用中需參照第二節(jié)中的電路圖。4 4 、發(fā)光管、發(fā)光管 D1D1 D16D16 :受“多任務重配置”電路控制,它們的連線形式也需參照第二節(jié)的電路圖。5 5 、數(shù)碼管、數(shù)碼管 1 1 8 8,左側跳線冒

8、跳,左側跳線冒跳“ENAB“ENAB”端端受“多任務重配置”電路控制,跳“CLOSE”端,8 數(shù)碼管為動態(tài)掃描模式,具體引腳請參考圖 1-5。6 6 、揚聲器、揚聲器:與目標芯片的“SPEAKER”端相接,通過此口可以進行奏樂或了解信號的頻率,它與目標器件具體引腳號,應該查閱圖 1-5 及表 1-2。7 7 、十芯口、十芯口,F(xiàn)PGA IO 口輸出端,可用康芯提供的十芯線或單線外引,IO 引腳名在其邊上標出, GW48-PK2/4 和 GW48-PK3 標引的 IO 口不同一一對應再根據(jù)芯片型號查找表。2注意,此 IO 口受多任務重配置控制,在模式控制下或 “9” 選用了這些腳,在此就不能復用

9、。圖 1-1:GW48-PK38、十四芯口十四芯口,和 7 相同。9、電平控制開關電平控制開關,作為 IO 口輸入控制,每個開關 IO 口鎖定引腳在其上方已標出引腳名,用法和其它 IO 口查表用法一樣,注意 1,此 IO 口受多任務重配置控制,在模式控制下選用了這些腳,或 7、8,在此就不能復用。注意 2,這些開關在閑置時必須打到上面,高電平上“H” 。10、 “時鐘頻率選擇時鐘頻率選擇” :通過短路帽的不同接插方式,使目標芯片獲得不同的時鐘頻率信號。對于“CLOCK0” ,同時只能插一個短路帽,以便選擇輸向“CLOCK0”的一種頻率:信號頻率范圍:0.5Hz20MHz。由于 CLOCK0 可

10、選的頻率比較多,所以比較適合于目標芯片對信號頻率或周期測量等設計項目的信號輸入端。右側座分三個頻率源組,它們分別對應三組時鐘輸入端:CLOCK2、CLOCK5、CLOCK9。例如,將三個短路帽分別插于對應座的2Hz、1024Hz 和 12MHz,則 CLOCK2、CLOCK5、CLOCK9 分別獲得上述三個信號頻率。需要特別注意的是,每一組頻率源及其對應時鐘輸入端,分別只能插一個短路帽。也就是說最多只能提供 4 個時鐘頻率輸入 FPGA:CLOCK0、CLOCK2、CLOCK5、CLOCK9,這四組對應的 FPGA IO 口詳見表 1-2。11、AD0809AD0809 模擬信號輸入端電位器模

11、擬信號輸入端電位器,轉動電位器,通過它可以產(chǎn)生 0V+5V 幅度可調(diào)的電壓,輸入通道 AD0809 IN0 。12、比較器比較器 LM311LM311 控制口控制口??捎脝尉€連接,若與 D/A 電路相結合,可以將目標器件設計成逐次比較型 A/D 變換器的控制器。313、DA0832DA0832 模擬信號插孔模擬信號插孔輸出方式。14、DA0832DA0832 的數(shù)字信號輸入口的數(shù)字信號輸入口,8 位控制口在邊上已標出,可用十芯線和 7 相連,進行 FPGA 產(chǎn)生數(shù)字信號對其控制實驗。15、DA0832DA0832 模擬信號鉤針模擬信號鉤針輸出方式。16、10K10K 的電位器的電位器,可對 D

12、A0832 所產(chǎn)生的模擬信號進行幅度調(diào)諧。17、AD0809AD0809 的控制端口的控制端口,可用十四芯線與 8 相連。18、CPLDCPLD EPM3032EPM3032 編程端口編程端口,可用隨機提供的 ByteBlasterMV 編程器進行對其編程。19、AD0809AD0809 模擬輸入口模擬輸入口。20、CPLDCPLD EPM3032EPM3032 的的 IOIO 口口,可外引,引腳在邊上已標出,一一對應就是。21、1616 個個 LEDLED 發(fā)光管發(fā)光管,引腳在其下方標出,注意,此 IO 口受多任務重配置控制,在模式控制下選用了這些腳,在此就不能復用。22、數(shù)字溫度測控腳數(shù)字

13、溫度測控腳,可用單線連接。23、 VGAVGA 端口端口,其控制端口在左邊已標出:R:PIO68、G:PIO69、B:PIO70、HS:PIO70、VS:PIO73。24、 兩組撥碼開關兩組撥碼開關,用于 PK4 彩色 LCD 控制端口連接,在控制 LCD 實驗時,撥碼開關撥到下方,以此 FPGA 與 LCD 端口相連,引腳在兩側已標出,一一對應。注意,此 IO 口受多任務重配置控制,不能重復使用。不做此實驗時,必須把撥碼開關撥到上方25、DDSDDS 模塊上模塊上 FPGAFPGA EP1C3EP1C3 的的 IOIO 口口,此口可與 DA0832 數(shù)據(jù)口 14 相連,可提供 DDS的模擬參

14、考信號 B 通道波形輸出。26、DDSDDS 模塊插座模塊插座,具體 DDS 用法請參考第三節(jié)。27、 FPGAFPGA 與與 PCPC 機并口通信口機并口通信口,F(xiàn)PGA 引腳在兩側已標出。28、 DDSDDS 模塊模塊 A 通道的幅度和偏移調(diào)諧旋鈕。29、 E 平方串行存儲器的控制端口??捎脝尉€連接。30 、 I2C 總線控制端口,可用單線連接。31 、 DDS 模塊信號輸入輸出腳,每個功能在邊上已經(jīng)標出,具體請參考第三節(jié) DDS模塊功能說明。32 、 配右邊 DDS 模塊同 28。33 、 模擬可編程器件擴展區(qū)。34 、 配右邊 DDS 模塊同 31。35 、 右邊 DDS 模塊插座,具

15、體 DDS 用法請參考第三節(jié).36 、 紅外測直流電機座,控制腳在 39“CNT”37 、 直流單機控制腳在 39。38 、 四項八拍步進電機,控制腳在 39。39 、 十芯口,直流電機、步進電機和紅外測速控制端口, “AP、BP、CP、DP”分別是步進電機控制端口, “DM1、DM2”分別是直流電機控制端口, “CNT”是紅外測速控制端口,此口可與 42 連接,完成控制電機實驗。40、PS2 鍵盤接口,控制腳在其下方已經(jīng)標出。41、+/-12V 開關,一般用到 DA 時,打開此開關,未用到+/12V 時,請務必關閉,撥到左邊為關,右邊為開。42、 FPGA IO 口,可外接。43、PS2 鼠

16、標接口,控制腳在其下方已經(jīng)標出。44、本公司提供的 IP8051 核的復位鍵,45、字符液晶 2004/1602 和 4X4 矩陣鍵盤控制端口,可與 DDS 模塊十四芯口相連,4或用于適配板上提供十四芯口相連,完成 IP8051/8088 核實驗或與 DDS 模塊相連,構成DDS 功能模塊。46、FPGA/CPLDFPGA/CPLD 萬能插口萬能插口圖 4 是一塊插于主系統(tǒng)板上的目標芯片適配座。對于不同的目標芯片可配不同的適配座??捎玫哪繕诵酒壳笆澜缟献畲蟮牧?FPGA/CPLD廠商幾乎所有 CPLD、FPGA 和所有 ispPAC 等模擬 EDA 器件。47、4X44X4 矩陣鍵盤矩

17、陣鍵盤,控制端口在 45 中已經(jīng)標出,相關原理圖請查看光盤系統(tǒng)說明.48、彩色液晶控制用法彩色液晶控制用法,一般默認廠家提供的跳線模式。49、RS-232RS-232 串行通訊接口串行通訊接口:此接口電路是為 FPGA 與 PC 通訊和 SOPC 調(diào)試準備的?;蚴?PC 機、單片機、FPGA/CPLD 三者實現(xiàn)雙向通信。對于 GW48-PK3 系統(tǒng),其通信端口是與中間的雙排插座上的 TX30、RX31 相連的??捎脝尉€連接。5050、電平控制開關、電平控制開關,作為 IO 口輸入控制,每個開關 IO 口鎖定引腳在其上方已標出引腳名,用法和其它 IO 口查表用法一樣,注意 1,此 IO 口受多任

18、務重配置控制,在模式控制下選用了這些腳或 7、8,在此就不能復用。注意 2,這些開關在閑置時必須打到上面,高電平上“H” 。51 、 四個十四芯口,左起分別是 FPGA IO 口,240X128 點陣液晶控制端口,兩個單片機部分 IO 口,此四口可用十四芯線分別將 FPGA 和液晶口連接,單片機口與液晶口連接,F(xiàn)PGA、單片機和液晶三項連接。引腳在兩側已經(jīng)標出。52 、單片機 P3.0/1 口,可用單線連接。53 、單片機 89C51 在系統(tǒng)編程口,可通過系統(tǒng)上 57JTAG 口進行對其在系統(tǒng)編程作用編程。54 、ByteBlasterMV 編程配置口:此口有三個用途:編程配置口:此口有三個用

19、途:【1】 、在對適配板 FPGA/CPLD 進行編程時,用十芯線板此口和適配板的“JTAG”口相連?!?】 、如果要進行獨立電子系統(tǒng)開發(fā)、應用系統(tǒng)開發(fā)、電子設計競賽等開發(fā)實踐活動,首先應該將系統(tǒng)板上的目標芯片適配座拔下(對于 Cyclone 器件不用拔) ,用配置的 10 芯編程線將“ByteBlasterMV”口和獨立系統(tǒng)上適配板上的“JTAG”10 芯口相接,進行在系統(tǒng)編程,進行調(diào)試測試?!?】 、對 isp 單片機 89S51 等進行編程。用十芯線同“MCU DAWNLOAD”口相連。55 、單片機 89C51 部分控制端口,可用單線連接。56 、240*128 點陣液晶,資料請查詢光

20、盤。57 、調(diào)節(jié)上面點陣液晶的對比度的電位器。58 、點陣液晶的開關。59 、上面點陣液晶的背光跳線帽。60 、1602 字符液晶,控制端口請參考 455ASDODATA0nCONFIGCONF_DONEDCLKGNDnCSOnCEVCCIOByteBlast IIGNDooooooooooByteBlast(MV)SEL1SEL0GNDTDInSTATMSTDOTCKoooooooooo232.5V3.3V1.8V-12V+12VPIO79PIO78PIO75PIO74PIO73PIO72PIO71PIO70PIO69PIO68CON2CON1PIO77PIO76PIO67PIO66PIO6

21、5PIO64PIO63PIO62PIO61PIO60ooooooooooooooooooooSEL1SEL0oooooooooo14039PIO24PIO22PIO20PIO18PIO16PIO14PIO12PIO10PIO8PIO6PIO4nSTAPIO0PIO2VCCPIO25PIO23PIO21PIO19PIO7PIO17PIO15PIO13PIO11PIO9PIO5PIO3PIO1oooooooooooooooooooooooooGNDTCKTDOTMSTDIooooo24039PIO27PIO26PIO29PIO31PIO33PIO35PIO37PIO39PIO41PIO43PIO4

22、5PIO47PIO49CLOCK0CLOCK2GNDPIO28PIO30PIO32PIO34PIO36PIO38PIO40PIO42PIO44PIO46PIO48SPEAKERCLOCK5CLOCK9VCCoooooooooooooooooooooooooooooooooooooooo 圖 1-2 目標板插座 圖 1-3 在線編程座1.2 實驗電路結構圖說明 1 1實驗電路信號資源符號圖說明實驗電路信號資源符號圖說明結合附圖 1-1,以下對實驗電路結構圖中出現(xiàn)的信號資源符號功能作出一些說明: (1)附圖 1-4a 是 16 進制 7 段全譯碼器,它有 7 位輸出,分別接 7 段數(shù)碼管的 7 個

23、顯示輸入端:a、b、c、d、e、f 和 g;它的輸入端為 D、C、B、A,D 為最高位,A 為最低位。例如,若所標輸入的口線為PIO1916,表示 PIO19 接 D、18 接C、17 接 B、16 接 A。 (2)附圖 1-4b 是高低電平發(fā)生器,每按鍵一次,輸出電平由高到低、或由低到高變化一次,且輸出為高電平時,所按鍵對應的發(fā)光管變亮,反之不亮。 (3)附圖 1-4c 是 16 進制碼(8421 碼)發(fā)生器,由對應的鍵控制輸出 4 位 2 進制構成的圖 1-4 實驗電路信號資源符號圖61 位 16 進制碼,數(shù)的范圍是 00001111,即H0 至HF。每按鍵一次,輸出遞增 1,輸出進入目標

24、芯片的 4 位 2 進制數(shù)將顯示在該鍵對應的數(shù)碼管上。 (4)直接與 7 段數(shù)碼管相連的連接方式的設置是為了便于對 7 段顯示譯碼器的設計學習。以圖 NO.2 為例,如圖所標“PIO46-PIO40 接 g、f、e、d、c、b、a”表示PIO46、PIO45.PIO40 分別與數(shù)碼管的 7 段輸入 g、f、e、d、c、b、a 相接。 (5)附圖 1-4d 是單次脈沖發(fā)生器。每按一次鍵,輸出一個脈沖,與此鍵對應的發(fā)光管也會閃亮一次,時間 20ms。 (6)附圖 1-4e 是琴鍵式信號發(fā)生器,當按下鍵時,輸出為高電平,對應的發(fā)光管發(fā)亮;當松開鍵時,輸出為高電平,此鍵的功能可用于手動控制脈沖的寬度。

25、具有琴鍵式信號發(fā)生器的實驗結構圖是 NO.3。2 2各實驗電路結構圖特點與適用范圍簡述各實驗電路結構圖特點與適用范圍簡述 (1)結構圖結構圖 NO.0NO.0:目標芯片的 PIO19 至 PIO44 共 8 組 4 位 2 進制碼輸出,經(jīng)外部的7 段譯碼器可顯示于實驗系統(tǒng)上的 8 個數(shù)碼管。鍵 1 和鍵 2 可分別輸出 2 個四位 2 進制碼。一方面這四位碼輸入目標芯片的 PIO11PIO8 和 PIO15PIO12,另一方面,可以觀察發(fā)光管 D1 至 D8 來了解輸入的數(shù)值。例如,當鍵 1 控制輸入 PIO11PIO8 的數(shù)為HA 時,則發(fā)光管 D4 和 D2 亮,D3 和 D1 滅。電路的

26、鍵 8 至鍵 3 分別控制一個高低電平信號發(fā)生器向目標芯片的 PIO7 至 PIO2 輸入高電平或低電平,揚聲器接在“SPEAKER”上,具體接在哪一引腳要看目標芯片的類型,這需要查第 3 節(jié)的引腳對照表。如目標芯片為 EPEC6/12,則揚聲器接在“174”引腳上。目標芯片的時鐘輸入未在圖上標出,也需查閱第 3 節(jié)的引腳對照表。例如,目標芯片為 EP2C35,則輸入此芯片的時鐘信號有 CLOCK0 或 CLOCK9,共 4 個可選的輸入端,對應的引腳為 28 或 29。具體的輸入頻率,可參考主板頻率選擇模塊。此電路可用于設計頻率計,周期計,計數(shù)器等等。 (2)結構圖結構圖 NO.1NO.1:

27、適用于作加法器、減法器、比較器或乘法器等。例如,加法器設計,可利用鍵 4 和鍵 3 輸入 8 位加數(shù);鍵 2 和鍵 1 輸入 8 位被加數(shù),輸入的加數(shù)和被加數(shù)將顯示于鍵對應的數(shù)碼管 4-1,相加的和顯示于數(shù)碼管 6 和 5;可令鍵 8 控制此加法器的最低位進位。 (3)結構圖結構圖 NO.2NO.2:可用于作 VGA 視頻接口邏輯設計,或使用數(shù)碼管 8 至數(shù)碼管 5 共 4個數(shù)碼管作 7 段顯示譯碼方面的實驗;而數(shù)碼管 4 至數(shù)碼管 1,4 個數(shù)碼管可作譯碼后顯示,鍵 1 和鍵 2 可輸入高低電平。(4)結構圖結構圖 NO.3:特點是有 8 個琴鍵式鍵控發(fā)生器,可用于設計八音琴等電路系統(tǒng)。也可

28、以產(chǎn)生時間長度可控的單次脈沖。該電路結構同結構圖 NO.0 一樣,有 8 個譯碼輸出顯示的數(shù)碼管,以顯示目標芯片的 32 位輸出信號,且 8 個發(fā)光管也能顯示目標器件的 8 位輸出信號。 (5)結構圖結構圖 NO.4NO.4:適合于設計移位寄存器、環(huán)形計數(shù)器等。電路特點是,當在所設計的邏輯中有串行 2 進制數(shù)從 PIO10 輸出時,若利用鍵 7 作為串行輸出時鐘信號,則 PIO10的串行輸出數(shù)碼可以在發(fā)光管 D8 至 D1 上逐位顯示出來,這能很直觀地看到串出的數(shù)值。(6)結構圖結構圖 NO.5NO.5:8 鍵輸入高低電平功能,目標芯片的 PIO19 至 PIO44 共 8 組 4 位 2 進

29、制碼輸出,經(jīng)外部的 7 段譯碼器可顯示于實驗系統(tǒng)上的 8 個數(shù)碼管。(7)結構圖結構圖 NO.6NO.6:此電路與 NO.2 相似,但增加了兩個 4 位 2 進制數(shù)發(fā)生器,數(shù)值分別輸入目標芯片的 PIO7PIO4 和 PIO3PIO0。例如,當按鍵 2 時,輸入 PIO7PIO4 的數(shù)值將顯示于對應的數(shù)碼管 2,以便了解輸入的數(shù)值。(8)結構圖結構圖 NO.7NO.7:此電路適合于設計時鐘、定時器、秒表等。因為可利用鍵 8 和鍵5 分別控制時鐘的清零和設置時間的使能;利用鍵 7、5 和 1 進行時、分、秒的設置。 (9)結構圖結構圖 NO.8NO.8:此電路適用于作并進/串出或串進/并出等工作

30、方式的寄存器、序7列檢測器、密碼鎖等邏輯設計。它的特點是利用鍵 2、鍵 1 能序置 8 位 2 進制數(shù),而鍵 6能發(fā)出串行輸入脈沖,每按鍵一次,即發(fā)一個單脈沖,則此 8 位序置數(shù)的高位在前,向PIO10 串行輸入一位,同時能從 D8 至 D1 的發(fā)光管上看到串形左移的數(shù)據(jù),十分形象直觀。 (10)結構圖結構圖 NO.9NO.9:若欲驗證交通燈控制等類似的邏輯電路,可選此電路結構。 (11)當系統(tǒng)上的“模式指示”數(shù)碼管顯示“A”時,系統(tǒng)將變成一臺頻率計頻率計,數(shù)碼管8 將顯示“F” , “數(shù)碼 6”至“數(shù)碼 1”顯示頻率值,最低位單位是 Hz。測頻輸入端為系統(tǒng)板右下側的插座。 8 CLOCK0C

31、LOCK2CLOCK5CLOCK9FPGA/CPLDHEXPIO2PIO3PIO4PIO5PIO7PIO6D1D2D3D4D5D6D7D8D16D15D14D13D12D1112345678NO.0SPEAKERPIO15-PIO12PIO11-PIO8PIO7-PIO2HEX12345678PIO47-PIO44PIO43-PIO40PIO39-PIO36PIO35-PIO32PIO31-PIO28PIO27-PIO24PIO23-PIO20PIO19-PIO16 CLOCK9CLOCK5CLOCK2CLOCK0SPEAKERNO.1PIO11-PIO8PIO15-PIO12PIO48PIO

32、49D15D16HEXHEXPIO32PIO33PIO34PIO35PIO36PIO37PIO38PIO39D1D2D3D4D5D6D7D8FPGA/CPLD12345678PIO3-PIO0PIO7-PIO4HEXHEX12345678PIO39-PIO32PIO31-PIO28PIO27-PIO24PIO23-PIO20PIO19-PIO16圖 1-5-0 實驗電路結構圖 NO.0 圖 1-5-1 實驗電路結構圖 NO.1CLOCK9CLOCK5CLOCK2CLOCK0PIO48PIO49D10D912345678NO.2FPGA/CPLD7PIO46-PIO40PIO38-PIO32PI

33、O30-PIO24PIO22-PIO16PIO46-PIO40 g, f, e, d, c, b, a PIO38-PIO32 g, f, e, d, c, b, aPIO30-PIO24 g, f, e, d, c, b, a PIO22-PIO16 g,f,e,d,c,b,aPIO15-PIO12PIO11-PIO8PIO7-PIO4PIO3-PIO012345678 CLOCK9CLOCK5CLOCK2CLOCK0NO.3D9D16D15D14D13D12D11D10D8D7D6D5D4D3D2D1PIO8PIO9PIO10PIO11PIO12PIO13PIO14PIO15SPEAKER

34、12345678FPGA/CPLDPIO0PIO1PIO2PIO3PIO4PIO5PIO6PIO712345678PIO15-PIO8PIO47-PIO44PIO43-PIO40PIO39-PIO36PIO35-PIO32PIO31-PIO28PIO27-PIO24PIO23-PIO20PIO19-PIO16圖 1-5-2 實驗電路結構圖 NO.2 圖 1-5-3 實驗電路結構圖 NO.39CLOCK9CLOCK5CLOCK2CLOCK0NO.4FPGA/CPLD12345678D16D15D14PIO3-PIO0PIO7-PIO4PIO15-PIO12HEXHEXHEX12345678PIO

35、11PIO9PIO8PIO10PIO47-PIO44PIO43-PIO40PIO39-PIO36PIO35-PIO32 CLEARCLOCKLOADD1D2D3D4D5D6D7D8 圖 1-5-4 實驗電路結構圖 NO.4 圖 1-5-5 實驗電路結構圖 NO.5 圖 1-5 實驗電路結構圖CLOCK9CLOCK5CLOCK2CLOCK0PIO8D11D12PIO9D13PIO10D14PIO11D15PIO12PIO13D16D6D5D4D3D2D1D7D8)(12345678NO.6FPGA/CPLDSPEAKERPIO3-PIO0PIO7-PIO4HEXHEXPIO16PIO13-PIO

36、8PIO23PIO22PIO21PIO20PIO19PIO18PIO177PIO46-PIO40PIO38-PIO32PIO30-PIO24PIO22-PIO16PIO46-PIO40 g, f, e, d, c, b, a PIO38-PIO32 g, f, e, d, c, b, aPIO30-PIO24 g, f, e, d, c, b, a PIO22-PIO16 g,f,e,d,c,b,a12345678 CLOCK9CLOCK5CLOCK2CLOCK0D16D15D14D13D12D11D9D8PIO47D7PIO46D6PIO45D5PIO44D4PIO43D3PIO42D2PI

37、O41PIO40D1NO.7SPEAKERFPGA/CPLD12345678PIO0PIO2PIO3PIO4PIO5PIO6PIO712345678PIO47-PIO40PIO39-PIO36PIO35-PIO32PIO31-PIO28PIO27-PIO24PIO23-PIO20PIO19-PIO16圖 1-5-6 實驗電路結構圖 NO.6 圖 1-5-7 實驗電路結構圖 NO.7CLOCK9CLOCK5CLOCK2CLOCK0FPGA/CPLDPIO10D16D15D1487654321NO.8SPEAKERPIO39-PIO36PIO43-PIO40PIO47-PIO44DCBADCBAD

38、1D2D3D4D5D6D7D8HEXHEXHEXPIO9PIO11PIO8PIO15-12PIO7-4PIO3-0HEXHEX12345678圖 1-5-8 實驗電路結構圖 NO.8 圖 1-5-9 實驗電路結構圖 NO.910圖 1-5-10 GW48-CK 系統(tǒng)的 VGA 和 RS232 引腳連接圖(此兩個接口與 PK 系列引腳不同)圖 1-5-11 GW48-PK2/3/4 上掃描顯示模式時的連接方式(8 數(shù)碼管掃描式顯示,輸入信號高電平有效)圖 1-5 實驗電路結構圖(續(xù))11表 1-4 GW48CK/PK2/PK3/PK4 系統(tǒng)萬能接插口與結構圖信號/與芯片引腳對照表GWAC6EP1

39、C6/12Q240 CycloneGWAC3EP1C3TC144CycloneGWA2C5EP2C5TC144CycloneIIGWA2C8EP2C8QC208CycloneIIGW2C35EP2C35FBGA484C8 CycloneIIWAK30/50EP1K30/50TQC144 ACEXGW3C40EP3C40Q240C8NCycloneIIIGWXS200XC3S200 SPARTAN結構圖上的信號名引腳號引腳號引腳號引腳號引腳號引腳號引腳號引腳號PIO023311438AB1581821PIO1234214410AB1492122PIO22353311AB13102224PIO32

40、364412AB12123726PIO42375713AA20133827PIO52386814AA19173928PIO62397915AA18184129PIO7240102430L19194331PIO81112531J14204433PIO92322633H15214534PIO103332734H14224615PIO114342835G16234916PIO126353037F15265035PIO137363139F14275136PIO148373240F13285237PIO1512384041L18295539PIO1613394143L17305640PIO1714404

41、244K22315742PIO1815414345K21326343PIO1916424446K18336844PIO2017474547K17366945PIO2118484748J22377046PIO2219494856J21387348PIO2320505157J20397650PIO2421515258J19417851PIO2541525359J18428052PIO26128676792E1165112113PIO27132686994E967113114PIO28133697095E868114115PIO29134707196E769117116PIO30135717297D

42、1170118117PIO31136727399D972126119PIO321377374101D873127120PIO331387475102D778128122PIO341397576103C979131123PIO351407679104H78013212312PIO361417780105Y781133125PIO371587881106Y1382134126PIO381598386107U2083135128PIO391608487108K2086137130PIO401618592110C1387139131PIO411629693112C788142132PIO4216397

43、94113H389143133PIO431649896114U390144135PIO441659997115P391145137PIO4516610399116F492146138PIO46167105100117C1095159139PIO47168106101118C1696160140PIO48169107103127G2097161141PIO49173108104128R2098162143PIO60226131129201AB161372262PIO61225132132203AB171382303PIO62224133133205AB181402314PIO6322313413

44、4206AB191412325PIO64222139135207AB201422357PIO65219140136208AB71432369PIO662181411373AB814423910PIO672171421394AB11724011PIO68180122126145A10119186161PIO69181121125144A9118185156PIO70182120122143A8117184155PIO71183119121142A7116183154PIO72184114120141A6114177152PIO73185113119139A5113176150PIO7418611

45、2118138A4112173149PIO75187111115137A3111171148PIO762161431415AB911612PIO772151441426AB1014913PIO78188110114135B5110169147PIO79195109113134Y10109166146SPEAKER174129112133Y1699164144CLOCK0289391(CLK4)23L1126152184CLOCK21531789(CLK6)132M154149203CLOCK51521617(CLK0)131M2256150204CLOCK9299290(CLK5)130B12

46、12415120513第 2 章 VHDL 基礎知識2.1 VHDL 簡介一、VHDL(Very High Speed Hardware Description Language)超高速硬件描述語言。VHDL 是工業(yè)標準的文本格式語言,支持仿真和綜合,是一種并發(fā)執(zhí)行的語言。VHDL 支持結構化設計和 TOP-DOWN 設計方法。其描述與工藝無關,支持多風格的描述方法。二、VHDL 的歷史:1982 年,誕生于美國國防部贊助的 VHSIC(Very High Speed Integrated Circuit)項目。1987 年底,VHDL 被 IEEE 和美國國防部確認無標準硬件描述語言,即IE

47、EE-1076(簡稱 87 版)1993 年,IEEE 對 VHDL 進行了修訂,共不了新版本的 VHDL,即 IEEE 標準的 1076-1993(1164)版1996 年,IEEE-1076.3 成為 VHDL 綜合標準。三、VHDL 的行為模型VHDL 描述電路功能或輸入輸出相應;沒有電路結構信息;不涉及具體硬件;綜合和仿真。圖 2-1 VHDL 的行為模型結構模型:描述電路的功能和結構(下層模塊互連關系);調(diào)用其他硬件單元;綜合;14圖 2-2 VHDL 的結構模型四、VHDL 中其他專有名詞1、寄存器轉移級(RTL)模型-vs.數(shù)據(jù)流模型,-一種行為級模型,-不明確描述硬件,-可綜合

48、2、綜合將 HDL 語言轉換為電路,并進行優(yōu)化的過程。3、RTL 綜合將 RTL 模型轉換為優(yōu)化的門級電路的過程。圖 2-3 RTL 綜合15圖 2-4 典型的綜合流程圖 2-5 典型的仿真流程五、VHDL 的基本設計單元1、Library 和 Package(庫和程序包)-庫主要存放已經(jīng)編譯過的實體、結構體、程序包和配置;-程序包主要用來存放各個設計都能共享的數(shù)據(jù)類型、子程序說明、屬性說明、元件說明等部分。2、Entity(實體)-用來說明模型的外部特征3、Architecture(結構體/構造體)-來定義模型的功能4、Configuration(配置)-將實體和它的結構體聯(lián)系起來VHDL

49、設計實體的組成:庫和程序包(Library,Package),實體(Entity),結構體(Architecture),配置(Configuration)。16圖 2-6 VHDL 的基本設計單元六、VHDL 基本設計單元(例子)例:用 VHDL 語言設計一個 2 選 1 的數(shù)據(jù)選擇器entityentity mux21 isisportport(a,b:in bit; s:in bit; y:out bit);endend entityentity mux21;architecturearchitecture one of mux21 issignalsignal d,e:bit;begin

50、begind=a andand (not(not s); -左邊三行可以用下面的語句代替。e= b andand s; -y= a when s=0 elsey= d oror e; - b;end architecture one;2.2 VHDL 結構2.2.1 庫和程序包1、庫庫是專門用于存放預先編譯好的程序包的地方,對應一個文件目錄,程序包的文件就放在此目錄中,其功能相當于共享資源的倉庫,所有已完成的設計資源只有存入某個“庫”內(nèi)才可以被其他實體共享。庫的說明總是放在設計單元的最前面,表示該庫資源對以下的設計單元開放。庫語句格式如下:LIBRARY 庫名 ;常用的庫有 IEEE 庫、ST

51、D 庫和 WORK 庫。17(1)IEEE 庫:是 VHDL 設計中最常用的資源庫,包含 IEEE 標準的STD_LOGIC_1164、NUMERIC_BIT、NUMERIC_STD 以及其他一些支持工業(yè)標準的程序包。其中最重要和最常用的是 STD_LOGIC_1164 程序包,大部分程序都是以此程序包中設定的標準為設計基礎。(2)STD 庫:是 VHDL 的標準庫,VHDL 在編譯過程中會自動調(diào)用這個庫,所以使用時不需要用語句另外說明。(3)WORK 庫:是用戶在進行 VHDL 設計時的現(xiàn)行工作庫,用戶的設計成果將自動保存在這個庫中,是用戶自己的倉庫,同 STD 庫一樣,使用該庫不需要任何說

52、明。2、程序包程序包是用 VHDL 語言編寫的一段程序,可以供其他設計單元調(diào)用和共享,相當于公用的“工具箱”,各種數(shù)據(jù)類型、子程序等一旦放入了程序包,就成為共享的“工具”,類似于 C 語言的頭文件,使用它可以減少代碼的輸入量,使程序結構清晰。在一個設計中,實體部分所定義的數(shù)據(jù)類型、常量和子程序可以在相應的結構體中使用,但在一個實體的聲明部分和結構體部分中定義的數(shù)據(jù)類型、常量及子程序卻不能被其他設計單元使用。因此,程序包的作用是可以使一組數(shù)據(jù)類型、常量和子程序能夠被多個設計單元使用。程序包分為包頭和包體兩部分。包頭(也稱程序包說明)是對包中使用的數(shù)據(jù)類型、元件、函數(shù)和子程序進行定義,其形式與實體

53、定義類似。包體規(guī)定了程序包的實際功能,存放函數(shù)和過程的程序體,而且還允許建立內(nèi)部的子程序、內(nèi)部變量和數(shù)據(jù)類型。包頭、包體均以關鍵字 PACKAGE 開頭。程序包格式如下。包頭格式:PACKAGE 程序包名 IS包頭說明語句END 程序包名;包體格式:PACKAGE BODY 程序包名 IS包體說明語句END 程序包名;調(diào)用程序包的通用模式為:USE 庫名.程序包名.ALL;常用預定義程序包有以下四個:(1)STD_LOGIC_1164 程序包18STD_LOGIC_1164 程序包定義了一些數(shù)據(jù)類型、子類型和函數(shù)。數(shù)據(jù)類型包括:STD_ULOGIC、STD_ULOGIC _VECTOR、STD

54、_LOGIC 和 STD_LOGIC _VECTOR,用的最多最廣的是 STD_LOGIC 和 STD_LOGIC_VECTOR 數(shù)據(jù)類型。調(diào)用STD_LOGIC_1164 程序包中的項目需要使用以下語句:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;該程序包預先在 IEEE 庫中編譯,是 IEEE 庫中最常用的標準程序包,其數(shù)據(jù)類型能夠滿足工業(yè)標準,非常適合 CPLD(或 FPGA)器件的多值邏輯設計結構。(2)STD_LOGIC_ARITH 程序包該程序包是美國 Synopsys 公司的程序包,預先編譯在 IEEE 庫中。主要是在 STD_LOGIC_1

55、164 程序包的基礎上擴展了 UNSIGNED(無符號)、SIGNED(符號)和 SMALL_INT(短整型)三個數(shù)據(jù)類型,并定義了相關的算術運算符和轉換函數(shù)。(3)STD_LOGIC_SIGNED 程序包該程序包預先編譯在 IEEE 庫中,也是 Synopsys 公司的程序包。主要定義有符號數(shù)的運算,重載后可用于 INTEGER(整數(shù))、STD_LOGIC(標準邏輯位)和 STD_LOGIC _VECTOR(標準邏輯位向量)之間的混合運算,并且定義了STD_LOGIC _VECTOR 到 INTEGER 的轉換函數(shù)。(4)STD_LOGIC_UNSIGNED 程序包該程序包用來定義無符號數(shù)的

56、運算,其他功能與 STD_LOGIC_SIGNED 相似。2.2.2 實體的語句格式表 2-1 實體格式名稱內(nèi)容引導語句ENTITY 實體名 IS類屬表GENERIC(-);端口表PORT(-);結束語句END 實體名;19 Entity(實體)Architecture 1(構造體)Architecture N process(進程結構) block(塊結構) subprograms(子程序) procedure(過程) function(函數(shù))圖 2-7 VHDL 的結構關系圖1.1.類屬說明類屬說明的書寫格式是:GENERIC(常數(shù)名:數(shù)據(jù)類型:設定值);2.2.端口語句端口語句的格式:P

57、ORT(端口信號名:端口模式 數(shù)據(jù)類型; 端口信號名:端口模式 數(shù)據(jù)類型);IN 輸入;OUT 輸出;INOUT 雙向;BUFFER 緩沖類屬 GENERIC 參量是一種端口界面常數(shù),常以一種說明的形式放在實體或塊結構體前的說明部分。比較常見的情況是利用類屬來動態(tài)規(guī)定一個實體的端口的大小,或設計實體的物理特性,或結構體中的總線寬度,或設計實體中底層中同種元件的例化數(shù)量等等。一般在結構體中,類屬的應用與常數(shù)是一樣的,其中的常數(shù)名是由設計者確定的類屬常數(shù)名,數(shù)據(jù)類型通常取 INTEGER 或TIME 等類型,設定值即為常數(shù)名所代表的數(shù)值,但需注意 VHDL 綜合器僅支持數(shù)據(jù)類型為整數(shù)的類屬值。例如

58、:ENTITY mcu1 ISGENERIC (addrwidth : INTEGER := 16);PORT( add_bus : OUT STD_LOGIC_VECTOR(addrwidth-1 DOWNTO 0) ); .20在這里 GENERIC 語句對實體 mcu1 作為地址總線的端口 add_bus 的數(shù)據(jù)類型和寬度作了定義 即定義 add_bus 為一個 16 位的標準位矢量 定義 addrwidth 的數(shù)據(jù)類型是整數(shù) INTEGER 其中 常數(shù)名 addrwidth 減 1 即為 15 所以這類似于將上例端口表寫成 PORT (add_bus : OUT STD_LOGIC_V

59、ECTOR (15 DOWNTO 0);2.2.3 結構體結構體的任務是:定義結構體中的各項內(nèi)部使用元素,如數(shù)據(jù)類型(TYPE),常數(shù)(CONSTAND),信號(SIGNAL),元件(COMPONENT),過程(POCEDURE),變量(VARIABLE)和進程(PROCESS)等。通過 VHDL 語句描述實體所要求的具體行為和邏輯功能。描述各元件之間的連接。結構體格式:結構體名 OF 實體名 IS定義語句法;BEGIN功能描述語句法;END 結構體名稱;結構體的三種描述方式:行為描述,數(shù)據(jù)流(或寄器傳輸)描述(RTL).例:用行為描述方式設計的全加器LIBRARY IEEE;USE IEEE

60、.STD_LOGIC_1164.ALL;ENTITY onebitadder ISPORT(a,b,cin:IN BIT; Sum,count:OUT BIT);END onebitadder;ARCHITECTURE behavior OF onebitadder ISBEGINPROCESS(a,b,cin)BEGINSum= a XOR b XOR cin;Count=(a AND b) OR (a XOR b) AND cin); END PROCESS;END behavior;塊語句結構:塊結構名:BLOCK端口說明 類屬說明BEGIN21并行語句END BLOCK 塊結構名;進程

溫馨提示

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

評論

0/150

提交評論