硬件課設(shè)教材_第1頁(yè)
硬件課設(shè)教材_第2頁(yè)
硬件課設(shè)教材_第3頁(yè)
硬件課設(shè)教材_第4頁(yè)
硬件課設(shè)教材_第5頁(yè)
已閱讀5頁(yè),還剩107頁(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、計(jì)算機(jī)硬件計(jì)算機(jī)硬件課程設(shè)計(jì)課程設(shè)計(jì)中國(guó)民航大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院劉玉潔劉玉潔 編著編著目 錄第第 1 章章 GW48 EDA/SOPC 實(shí)驗(yàn)系統(tǒng)概要說(shuō)明實(shí)驗(yàn)系統(tǒng)概要說(shuō)明.11.1 GW48 EDA/SOPC 系列主系統(tǒng)的原理和使用方法.11.2 實(shí)驗(yàn)電路結(jié)構(gòu)圖說(shuō)明.5第第 2 章章 VHDL 基礎(chǔ)基礎(chǔ)知知識(shí)識(shí).122.1 VHDL 簡(jiǎn)介 .122.2 VHDL 結(jié)構(gòu) .152.3 VHDL 基本語(yǔ)法 .212.4 順序語(yǔ)句與并行語(yǔ)句.25第三章第三章 軟硬件操作流程軟硬件操作流程.343.1 十進(jìn)制計(jì)數(shù)器的設(shè)計(jì)流程.343.2 引腳設(shè)置和下載.393.3 SignalTapII 實(shí)時(shí)測(cè)試

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

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

4、,按動(dòng)按鍵,數(shù)碼顯示“1-B” ,該電路結(jié)構(gòu)能僅通過(guò)一個(gè)鍵,完成純電子切換的方式,Multi-task Reconfiguration 電路結(jié)構(gòu)(多功能重配置結(jié)構(gòu))選擇十余種不同的實(shí)驗(yàn)系統(tǒng)硬件電路連接結(jié)構(gòu)。該系統(tǒng)的實(shí)驗(yàn)電路結(jié)構(gòu)是可控的。即可通過(guò)控制接口鍵,使之改變連接方式以適應(yīng)不同的實(shí)驗(yàn)需要。因而,從物理結(jié)構(gòu)上看,實(shí)驗(yàn)板的電路結(jié)構(gòu)是固定的,但其內(nèi)部的信息流在主控器的控制下,電路結(jié)構(gòu)將發(fā)生變化重配置。模式切換使用舉例:若模式鍵選中了“實(shí)驗(yàn)電路結(jié)構(gòu)圖 NO.1” ,這時(shí)的 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 位二進(jìn)制 I/O 端口分別通過(guò)一個(gè)全譯碼型 7 段譯碼器輸向系統(tǒng)板的 7 段數(shù)碼管。這樣,如果有數(shù)據(jù)從上述任一組四位輸出,就能在數(shù)碼管上顯示出相應(yīng)的數(shù)值,其數(shù)值對(duì)應(yīng)范圍為:FPGA/CPLD 輸出000000010010 1100110111101111數(shù) 碼 管 顯 示 0 1 2 C D E F端口 I/O3239 分別與 8 個(gè)發(fā)光二極管 D8D1 相連,可作輸出顯示,高電平亮。還可分別通過(guò)鍵 8 和鍵 7,發(fā)出高低電平輸出信號(hào)進(jìn)入端口 I/049 和 48 ;鍵控輸出的高低電平由鍵前方的發(fā)光二

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

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

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

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

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

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

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

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

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

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

16、標(biāo)接口,控制腳在其下方已經(jīng)標(biāo)出。44、本公司提供的 IP8051 核的復(fù)位鍵,45、字符液晶 2004/1602 和 4X4 矩陣鍵盤控制端口,可與 DDS 模塊十四芯口相連,4或用于適配板上提供十四芯口相連,完成 IP8051/8088 核實(shí)驗(yàn)或與 DDS 模塊相連,構(gòu)成DDS 功能模塊。46、FPGA/CPLDFPGA/CPLD 萬(wàn)能插口萬(wàn)能插口圖 4 是一塊插于主系統(tǒng)板上的目標(biāo)芯片適配座。對(duì)于不同的目標(biāo)芯片可配不同的適配座??捎玫哪繕?biāo)芯片包括目前世界上最大的六家 FPGA/CPLD廠商幾乎所有 CPLD、FPGA 和所有 ispPAC 等模擬 EDA 器件。47、4X44X4 矩陣鍵盤矩

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

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

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

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

21、5PIO64PIO63PIO62PIO61PIO60ooooooooooooooooooooSEL1SEL0oooooooooo14039PIO24PIO22PIO20PIO18PIO16PIO14PIO12PIO10PIO8PIO6PIO4nSTAPIO0PIO2VCCPIO25PIO23PIO21PIO19PIO7PIO17PIO15PIO13PIO11PIO9PIO5PIO3PIO1oooooooooooooooooooooooooGNDTCKTDOTMSTDIooooo24039PIO27PIO26PIO29PIO31PIO33PIO35PIO37PIO39PIO41PIO43PIO4

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

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

24、芯片的 4 位 2 進(jìn)制數(shù)將顯示在該鍵對(duì)應(yīng)的數(shù)碼管上。 (4)直接與 7 段數(shù)碼管相連的連接方式的設(shè)置是為了便于對(duì) 7 段顯示譯碼器的設(shè)計(jì)學(xué)習(xí)。以圖 NO.2 為例,如圖所標(biāo)“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ā)生器。每按一次鍵,輸出一個(gè)脈沖,與此鍵對(duì)應(yīng)的發(fā)光管也會(huì)閃亮一次,時(shí)間 20ms。 (6)附圖 1-4e 是琴鍵式信號(hào)發(fā)生器,當(dāng)按下鍵時(shí),輸出為高電平,對(duì)應(yīng)的發(fā)光管發(fā)亮;當(dāng)松開(kāi)鍵時(shí),輸出為高電平,此鍵的功能可用于手動(dòng)控制脈沖的寬度。

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

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

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

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

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

30、方式的寄存器、序7列檢測(cè)器、密碼鎖等邏輯設(shè)計(jì)。它的特點(diǎn)是利用鍵 2、鍵 1 能序置 8 位 2 進(jìn)制數(shù),而鍵 6能發(fā)出串行輸入脈沖,每按鍵一次,即發(fā)一個(gè)單脈沖,則此 8 位序置數(shù)的高位在前,向PIO10 串行輸入一位,同時(shí)能從 D8 至 D1 的發(fā)光管上看到串形左移的數(shù)據(jù),十分形象直觀。 (10)結(jié)構(gòu)圖結(jié)構(gòu)圖 NO.9NO.9:若欲驗(yàn)證交通燈控制等類似的邏輯電路,可選此電路結(jié)構(gòu)。 (11)當(dāng)系統(tǒng)上的“模式指示”數(shù)碼管顯示“A”時(shí),系統(tǒng)將變成一臺(tái)頻率計(jì)頻率計(jì),數(shù)碼管8 將顯示“F” , “數(shù)碼 6”至“數(shù)碼 1”顯示頻率值,最低位單位是 Hz。測(cè)頻輸入端為系統(tǒng)板右下側(cè)的插座。 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 實(shí)驗(yàn)電路結(jié)構(gòu)圖 NO.0 圖 1-5-1 實(shí)驗(yàn)電路結(jié)構(gòu)圖 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 實(shí)驗(yàn)電路結(jié)構(gòu)圖 NO.2 圖 1-5-3 實(shí)驗(yàn)電路結(jié)構(gòu)圖 NO.39CLOCK9CLOCK5CLOCK2CLOCK0NO.4FPGA/CPLD12345678D16D15D14PIO3-PIO0PIO7-PIO4PIO15-PIO12HEXHEXHEX12345678PIO

35、11PIO9PIO8PIO10PIO47-PIO44PIO43-PIO40PIO39-PIO36PIO35-PIO32 CLEARCLOCKLOADD1D2D3D4D5D6D7D8 圖 1-5-4 實(shí)驗(yàn)電路結(jié)構(gòu)圖 NO.4 圖 1-5-5 實(shí)驗(yàn)電路結(jié)構(gòu)圖 NO.5 圖 1-5 實(shí)驗(yàn)電路結(jié)構(gòu)圖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 實(shí)驗(yàn)電路結(jié)構(gòu)圖 NO.6 圖 1-5-7 實(shí)驗(yàn)電路結(jié)構(gòu)圖 NO.7CLOCK9CLOCK5CLOCK2CLOCK0FPGA/CPLDPIO10D16D15D1487654321NO.8SPEAKERPIO39-PIO36PIO43-PIO40PIO47-PIO44DCBADCBAD

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

39、C6/12Q240 CycloneGWAC3EP1C3TC144CycloneGWA2C5EP2C5TC144CycloneIIGWA2C8EP2C8QC208CycloneIIGW2C35EP2C35FBGA484C8 CycloneIIWAK30/50EP1K30/50TQC144 ACEXGW3C40EP3C40Q240C8NCycloneIIIGWXS200XC3S200 SPARTAN結(jié)構(gòu)圖上的信號(hào)名引腳號(hào)引腳號(hào)引腳號(hào)引腳號(hào)引腳號(hào)引腳號(hào)引腳號(hào)引腳號(hào)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 基礎(chǔ)知識(shí)2.1 VHDL 簡(jiǎn)介一、VHDL(Very High Speed Hardware Description Language)超高速硬件描述語(yǔ)言。VHDL 是工業(yè)標(biāo)準(zhǔn)的文本格式語(yǔ)言,支持仿真和綜合,是一種并發(fā)執(zhí)行的語(yǔ)言。VHDL 支持結(jié)構(gòu)化設(shè)計(jì)和 TOP-DOWN 設(shè)計(jì)方法。其描述與工藝無(wú)關(guān),支持多風(fēng)格的描述方法。二、VHDL 的歷史:1982 年,誕生于美國(guó)國(guó)防部贊助的 VHSIC(Very High Speed Integrated Circuit)項(xiàng)目。1987 年底,VHDL 被 IEEE 和美國(guó)國(guó)防部確認(rèn)無(wú)標(biāo)準(zhǔn)硬件描述語(yǔ)言,即IE

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

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

49、設(shè)計(jì)實(shí)體的組成:庫(kù)和程序包(Library,Package),實(shí)體(Entity),結(jié)構(gòu)體(Architecture),配置(Configuration)。16圖 2-6 VHDL 的基本設(shè)計(jì)單元六、VHDL 基本設(shè)計(jì)單元(例子)例:用 VHDL 語(yǔ)言設(shè)計(jì)一個(gè) 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); -左邊三行可以用下面的語(yǔ)句代替。e= b andand s; -y= a when s=0 elsey= d oror e; - b;end architecture one;2.2 VHDL 結(jié)構(gòu)2.2.1 庫(kù)和程序包1、庫(kù)庫(kù)是專門用于存放預(yù)先編譯好的程序包的地方,對(duì)應(yīng)一個(gè)文件目錄,程序包的文件就放在此目錄中,其功能相當(dāng)于共享資源的倉(cāng)庫(kù),所有已完成的設(shè)計(jì)資源只有存入某個(gè)“庫(kù)”內(nèi)才可以被其他實(shí)體共享。庫(kù)的說(shuō)明總是放在設(shè)計(jì)單元的最前面,表示該庫(kù)資源對(duì)以下的設(shè)計(jì)單元開(kāi)放。庫(kù)語(yǔ)句格式如下:LIBRARY 庫(kù)名 ;常用的庫(kù)有 IEEE 庫(kù)、ST

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

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

53、定義類似。包體規(guī)定了程序包的實(shí)際功能,存放函數(shù)和過(guò)程的程序體,而且還允許建立內(nèi)部的子程序、內(nèi)部變量和數(shù)據(jù)類型。包頭、包體均以關(guān)鍵字 PACKAGE 開(kāi)頭。程序包格式如下。包頭格式:PACKAGE 程序包名 IS包頭說(shuō)明語(yǔ)句END 程序包名;包體格式:PACKAGE BODY 程序包名 IS包體說(shuō)明語(yǔ)句END 程序包名;調(diào)用程序包的通用模式為:USE 庫(kù)名.程序包名.ALL;常用預(yù)定義程序包有以下四個(gè):(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 程序包中的項(xiàng)目需要使用以下語(yǔ)句:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;該程序包預(yù)先在 IEEE 庫(kù)中編譯,是 IEEE 庫(kù)中最常用的標(biāo)準(zhǔn)程序包,其數(shù)據(jù)類型能夠滿足工業(yè)標(biāo)準(zhǔn),非常適合 CPLD(或 FPGA)器件的多值邏輯設(shè)計(jì)結(jié)構(gòu)。(2)STD_LOGIC_ARITH 程序包該程序包是美國(guó) Synopsys 公司的程序包,預(yù)先編譯在 IEEE 庫(kù)中。主要是在 STD_LOGIC_1

55、164 程序包的基礎(chǔ)上擴(kuò)展了 UNSIGNED(無(wú)符號(hào))、SIGNED(符號(hào))和 SMALL_INT(短整型)三個(gè)數(shù)據(jù)類型,并定義了相關(guān)的算術(shù)運(yùn)算符和轉(zhuǎn)換函數(shù)。(3)STD_LOGIC_SIGNED 程序包該程序包預(yù)先編譯在 IEEE 庫(kù)中,也是 Synopsys 公司的程序包。主要定義有符號(hào)數(shù)的運(yùn)算,重載后可用于 INTEGER(整數(shù))、STD_LOGIC(標(biāo)準(zhǔn)邏輯位)和 STD_LOGIC _VECTOR(標(biāo)準(zhǔn)邏輯位向量)之間的混合運(yùn)算,并且定義了STD_LOGIC _VECTOR 到 INTEGER 的轉(zhuǎn)換函數(shù)。(4)STD_LOGIC_UNSIGNED 程序包該程序包用來(lái)定義無(wú)符號(hào)數(shù)的

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

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

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

59、ECTOR (15 DOWNTO 0);2.2.3 結(jié)構(gòu)體結(jié)構(gòu)體的任務(wù)是:定義結(jié)構(gòu)體中的各項(xiàng)內(nèi)部使用元素,如數(shù)據(jù)類型(TYPE),常數(shù)(CONSTAND),信號(hào)(SIGNAL),元件(COMPONENT),過(guò)程(POCEDURE),變量(VARIABLE)和進(jìn)程(PROCESS)等。通過(guò) VHDL 語(yǔ)句描述實(shí)體所要求的具體行為和邏輯功能。描述各元件之間的連接。結(jié)構(gòu)體格式:結(jié)構(gòu)體名 OF 實(shí)體名 IS定義語(yǔ)句法;BEGIN功能描述語(yǔ)句法;END 結(jié)構(gòu)體名稱;結(jié)構(gòu)體的三種描述方式:行為描述,數(shù)據(jù)流(或寄器傳輸)描述(RTL).例:用行為描述方式設(shè)計(jì)的全加器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;塊語(yǔ)句結(jié)構(gòu):塊結(jié)構(gòu)名:BLOCK端口說(shuō)明 類屬說(shuō)明BEGIN21并行語(yǔ)句END BLOCK 塊結(jié)構(gòu)名;進(jìn)程

溫馨提示

  • 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)論