版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 填空題 1、一個(gè)標(biāo)準(zhǔn)的 VHDL 語(yǔ)言程序由庫(kù)、實(shí)體和結(jié)構(gòu)體組成。 2、個(gè)完整的 VHDL 語(yǔ)言描述是以對(duì)一個(gè)功能元件的完整描述為基礎(chǔ)的 3、實(shí)體相當(dāng)于電路圖中一個(gè)器件符號(hào)。 4、端口說(shuō)明( PORT )是對(duì)設(shè)計(jì)實(shí)體與外部接口的描述,也可以說(shuō)是設(shè)計(jì)實(shí)體的外 部引腳的名稱,它為實(shí)體與外部環(huán)境的動(dòng)態(tài)通信提供通道 5、緩沖( BUFFER )端口描述模式和 INOUT 雙向模式的區(qū)別在于只能接受一個(gè)驅(qū)動(dòng)源,不允許多重驅(qū)動(dòng)。 6、 VHDL 語(yǔ)言的結(jié)構(gòu)體的這些子結(jié)構(gòu)互相之間是并行的。 7、將 VHDL 語(yǔ)言的行為描述語(yǔ)句轉(zhuǎn)換為門級(jí)描述由 VHDL 開發(fā)工具自動(dòng)完成,是 VHDL 語(yǔ)言綜合器的任務(wù)。
2、8、數(shù)據(jù)流描述也稱為 RTL (寄存器傳輸級(jí))描述方式,它類似于布爾方程,它既 表示某種行為,又隱含結(jié)構(gòu)信息,主要指非結(jié)構(gòu)化的并行語(yǔ)句描述。 9、在結(jié)構(gòu)描述中,元件間的連接是通過(guò)定義的端口界面來(lái)實(shí)現(xiàn)的。 10、結(jié)構(gòu)描述的缺點(diǎn)是程序表示的是電路的結(jié)構(gòu)連接關(guān)系,不能直觀的得到設(shè)計(jì)電 路的邏輯功能。 綜述題 1 、寫出實(shí)體的結(jié)構(gòu)。 答案ENTITY 實(shí)體名 ISGENERIC( 類屬表 );PORT( 端口表 );END ENTITY 實(shí)體名 ; 2 、在 IEEE 庫(kù)中定義了哪四種 VHDL 語(yǔ)言的端口模式? 答案IN :輸入OUT :輸出INOUT :雙向,輸入輸出BUFFER :緩沖,其實(shí)質(zhì)也
3、是雙向的,但是只能接受一個(gè)驅(qū)動(dòng)源。 3 、寫出結(jié)構(gòu)體的結(jié)構(gòu)。 ?2 ? 答案ARCHITECTURE 結(jié)構(gòu)體名 OF 實(shí)體名 IS 說(shuō)明語(yǔ)句 BEGIN 功能描述語(yǔ)句 END ARCHITECTURE 結(jié)構(gòu)體名 ; 4 、寫出結(jié)構(gòu)體的功能性描述語(yǔ)句的 5 種子結(jié)構(gòu)。 答案: 塊語(yǔ)句、進(jìn)程語(yǔ)句、子程序調(diào)用語(yǔ)句、信號(hào)賦值語(yǔ)句和元件例化語(yǔ)句。 5 、 VHDL 有哪四種描述風(fēng)格? 答案: 行為描述、數(shù)據(jù)流描述、結(jié)構(gòu)描述以及由前三種組合的混合描述。 實(shí)驗(yàn)題 實(shí)驗(yàn)【一】編寫一個(gè)實(shí)體 實(shí)驗(yàn)?zāi)康?:熟悉實(shí)體的編寫方法。 實(shí)驗(yàn)任務(wù) :在 Quartus II 中建立一個(gè) VHDL 語(yǔ)言文件,編寫一個(gè)實(shí)體,該實(shí)
4、體要求如下實(shí)體名: TEST 輸入端口: INPUTA , INPUTB ,數(shù)據(jù)類型為 BIT 輸出端口: OUTPUT ,數(shù)據(jù)類型為 BIT 沒有類屬說(shuō)明。 答ENTITY TEST IS - PORT(INPUTA,INPUTB: in bit;OUTPUT: out bit); -2 個(gè)輸入引腳,類型 BIT -1 個(gè)輸出引腳,類型 BIEND TEST; 實(shí)驗(yàn)【二】編寫一個(gè)結(jié)構(gòu)體 實(shí)驗(yàn)?zāi)康?:熟悉結(jié)構(gòu)體的編寫方法。 ? 3 ? 實(shí)驗(yàn)任務(wù) :在 Quartus II 中建立一個(gè) VHDL 語(yǔ)言文件,編寫一個(gè)結(jié)構(gòu)體,該結(jié)構(gòu)體要求如下實(shí)體名: TEST 結(jié)構(gòu)體名: RTL 沒有功能描述語(yǔ)句。
5、 答案ARCHITECTURE RTL OF TEST IS - 結(jié)構(gòu)體,名稱為 RTL ,對(duì)應(yīng)實(shí)體為 TESBEGIN - 無(wú)邏輯語(yǔ)句 END RT; ?4 ? 第一章 EDA 開發(fā)技術(shù)基礎(chǔ) 在 EDA 開發(fā)中,用戶以計(jì)算機(jī)為工具,在對(duì)應(yīng)的集成開發(fā)環(huán)境中,用硬件描述語(yǔ)言完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯、綜合、優(yōu)化、布局、布線和仿真 等工作, 并且對(duì)于特定目標(biāo)芯片進(jìn)行適配編譯、 邏輯映射和編程下載。 本章將介紹 EDA 開發(fā)技術(shù)的基礎(chǔ)知識(shí),包括 EDA 的發(fā)展歷史、可編程邏輯語(yǔ)言的分類和特點(diǎn),可編程 邏輯器件的種類和開發(fā)方法,使用 EDA 進(jìn)行設(shè)計(jì)的流程等。 1.1 EDA 技術(shù)基
6、礎(chǔ) EDA 是電子設(shè)計(jì)自動(dòng)化( Electronic Design Automation )的縮寫,是在 20 世紀(jì) 60 年代中期從計(jì)算機(jī)輔助設(shè)計(jì) ( CAD )、計(jì)算機(jī)輔助制造 ( CAM )、計(jì)算機(jī)輔助測(cè)試 ( CAT )和計(jì)算機(jī)輔助工程( CAE )的概念發(fā)展而來(lái)的。 1.1.1 EDA 技術(shù)簡(jiǎn)介 EDA 技術(shù)是現(xiàn)代電子信息工程領(lǐng)域中一門發(fā)展迅速的新技術(shù)。 它是以計(jì)算機(jī)為工作 平臺(tái),其以 EDA 軟件工具為開發(fā)環(huán)境,以硬件描述語(yǔ)言為主要表達(dá)方式,以大規(guī)???編程器件為設(shè)計(jì)載體,以 ASIC 、SOC、FPGA 芯片為目標(biāo)器件,以電子系統(tǒng)設(shè)計(jì)為應(yīng)用 方向的電子產(chǎn)品自動(dòng)化設(shè)計(jì)過(guò)程。EDA
7、技術(shù)有廣義和狹義之分從廣義來(lái)說(shuō) EDA 技術(shù)包括半導(dǎo)體工藝設(shè)計(jì)自動(dòng)化、可編程器件設(shè)計(jì)自動(dòng)化、電子 系統(tǒng)設(shè)計(jì)自動(dòng)化、 印制電路板設(shè)計(jì)自動(dòng)化、 仿真與測(cè)試故障診斷自動(dòng)化等, 例如 PSPICE、 EWB 、MATLAB 等計(jì)算機(jī)輔助分析 CAA 技術(shù)和 PROTEL 、ORCAD 等印刷制版計(jì)算機(jī) 輔助設(shè)計(jì)等從狹義來(lái)說(shuō) EDA 技術(shù)就是電子設(shè)計(jì)自動(dòng)化,即通過(guò)相關(guān)的開發(fā)軟件,自動(dòng)完成用 軟件方式設(shè)計(jì)的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、以及布局 布線、 邏輯仿真等工作, 最終完成對(duì)于特定目標(biāo)芯片的適配編譯、 邏輯映射、 編程下載, 從而形成集成電子系統(tǒng),不包含電子生產(chǎn)自動(dòng)化。 ED
8、A 技術(shù)在電子系統(tǒng)設(shè)計(jì)中具有以下特點(diǎn),所以的到了廣泛應(yīng)用: 用軟件的方式設(shè)計(jì)硬件。 用軟件方式設(shè)計(jì)的系統(tǒng)到硬件系統(tǒng)的轉(zhuǎn)換是由相關(guān)軟件自動(dòng)完成 在設(shè)計(jì)過(guò)程中可以用軟件進(jìn)行各種仿真進(jìn)行驗(yàn)證 現(xiàn)代 EDA 工具具有高層綜合和優(yōu)化功能, 能夠在系統(tǒng)級(jí)進(jìn)行綜合、 優(yōu)化和方針, 從而縮短設(shè)計(jì)周期,提高工作效率。 系統(tǒng)可以現(xiàn)場(chǎng)編程,在線升級(jí)。 ? 5 ? 第二章 Quartus II 集成開發(fā)環(huán)境 Altera 公司的 Quartus 集成開發(fā)環(huán)境根據(jù)設(shè)計(jì)者的需求提供了一個(gè)完整的多平臺(tái) 開發(fā)環(huán)境,其包含了整個(gè)可編程邏輯器件設(shè)計(jì)階段的所有解決方案,提供了完整的圖形用戶界面可以完成可編程片上系統(tǒng)的整個(gè)開發(fā)流程的
9、各個(gè)階段,包括輸入、綜合、仿真 等,在其中設(shè)計(jì)者可以方便的完成數(shù)字系統(tǒng)設(shè)計(jì)的全過(guò)程。 本章將介紹如何在 Quartus II 集成開發(fā)環(huán)境應(yīng)用 VHDL 語(yǔ)言進(jìn)行數(shù)字系統(tǒng)的開發(fā)。 注意: Quartus II 集成開發(fā)環(huán)境的最新版是 V12.0 ,但是在最新版中其去掉了直接輸入波形文件進(jìn)行仿真的功能,取而代之的是使用 ModelSim 的仿真文件進(jìn)行仿真,為了便于 讀者快速上手學(xué)習(xí), 不增加難度, 本書采用了依然可以使用波形文件進(jìn)行仿真的 V9.1 版本,讀者可以在 Altera 的網(wǎng)站上免費(fèi)下載到該版本的 Web Edtion 版;另外值得一說(shuō)的是 Quartus II 有完整版和 Web
10、Edtion 兩個(gè)版本, 前者收費(fèi)而后者收費(fèi), 前者對(duì)于 后者而言只是多了很多內(nèi)部集成的 IP 核,所以對(duì)于普通入門級(jí)用戶而言直接下載免 費(fèi)使用的后者即可。 2.1 Quartus II 應(yīng)用基礎(chǔ) 設(shè)計(jì)輸入 包括基于塊的設(shè)計(jì)、 系統(tǒng)級(jí)設(shè)計(jì)和軟件開發(fā) 綜合 布局、布線 調(diào)試 時(shí)序分析 工程變動(dòng)管理 仿真 時(shí)序逼近 編程、配置 圖 1.2 Quartus 設(shè)計(jì)流程 ?6 ? 第三章 VHDL 語(yǔ)言基礎(chǔ) VHDL 語(yǔ)言的應(yīng)用程序都是由幾個(gè)固定的部分組成的,通常來(lái)說(shuō)缺一不可,并且其 代碼會(huì)具有一些固定的樣式即描述風(fēng)格。 本章以一個(gè)使用 VHDL 語(yǔ)言來(lái)實(shí)現(xiàn)三態(tài)門的簡(jiǎn) 單實(shí)例來(lái)介紹 VHDL 語(yǔ)言程序的
11、一些基礎(chǔ)知識(shí),包括 VHDL 語(yǔ)言的組成, VHDL 語(yǔ)言 的實(shí)體, VHDL 語(yǔ)言的結(jié)構(gòu)體和 VHDL 語(yǔ)言的描述風(fēng)格等。 3.1 VHDL 語(yǔ)言程序的結(jié)構(gòu) 和普通的應(yīng)用語(yǔ)言程序一樣, VHDL 語(yǔ)言的程序也有自己的結(jié)構(gòu), 或者說(shuō)組成部分。一個(gè)簡(jiǎn)單的用 VHDL 語(yǔ)言實(shí)現(xiàn)的三態(tài)門如例 3.1 所示, 各個(gè)語(yǔ)句對(duì)應(yīng)的模塊結(jié)構(gòu)如右側(cè)注釋所示。 【例 3.1 】一個(gè)簡(jiǎn)單的 VHDL語(yǔ)言程序和其結(jié)構(gòu)LIBRARY IEEE;USE IEEE.std_logic_1164.ALL; IEEE 庫(kù)使用說(shuō)明 ENTITY tri_gate IS PORT(DIN,EN:IN std_logic; DOUT
12、:OUT std_logic)END tri_gate; ARCHITECTURE rtl OF tri_gate IS BEGIPROCESS(DIN,ENBEGIIF(EN=1) THEDOUT=DINELSE DOUT=Z; END IFEND PROCESS;END rtl; 器件外部接口信號(hào) 實(shí)體: 說(shuō)明,相當(dāng)于器件 的引腳 器件內(nèi)部工作邏輯 結(jié)構(gòu)體: 描述,即為實(shí)體描 述的器件功能結(jié)構(gòu) 該應(yīng)用代碼對(duì)應(yīng)的 RTL 文件如圖 3.1 所示。 ? 7 ? 第四章 VHDL 語(yǔ)言的基本要素 和其他編程語(yǔ)言一樣, 硬件描述語(yǔ)言 VHDL 也有自己的文字規(guī)則。 作為編程語(yǔ)句的 基本單元, VH
13、DL 語(yǔ)言的語(yǔ)言要素反映了其重要的語(yǔ)言特點(diǎn)。 能夠正確理解 的文字規(guī)則和熟練掌握 VHDL 語(yǔ)言要素的基本含義及用法,是利用 VHDL VHDL 語(yǔ)言硬件描述語(yǔ) 言進(jìn)行數(shù)字系統(tǒng)設(shè)計(jì)的基礎(chǔ),本章將就這些方面進(jìn)行詳細(xì)的介紹。 4.1 VHDL 語(yǔ)言文字的命名規(guī)范 使用 VHDL 語(yǔ)言進(jìn)行數(shù)字系統(tǒng)設(shè)計(jì), 必須在編程過(guò)程中嚴(yán)格遵守 VHDL 文字規(guī)則, 如其特有的表達(dá)方式等, VHDL 語(yǔ)言的文字( Literal )主要包括數(shù)值型文字和標(biāo)識(shí)符。 數(shù)值型文字:包括數(shù)字型、字符串型和位串型。 標(biāo)識(shí)符:用于定義常數(shù)、變量、信號(hào)、子程序或參數(shù)的名字。 4.1.1 數(shù)值型文字 數(shù)值型文字的值主要有以下幾種表達(dá)
14、方式: 整數(shù)型文字:整數(shù)文字都是十進(jìn)制的數(shù),如: 1,123,987 ,518E2 ,12_345_678等。其中,下劃線并無(wú)特殊含義,其唯一的作用就是增加文字的可讀性,且不響文字本身的值。 實(shí)數(shù)型文字: 實(shí)數(shù)型文字與整數(shù)型文字一樣都是十進(jìn)制的數(shù), 但是他必須帶有數(shù)點(diǎn)。如: 12.3, 34.502, 0.0 ,6.5E-2 ( =0.065 ), 123_456.789_321 等。 以數(shù)制基數(shù)表示的文字: 用這種表示方法的文字由五部分構(gòu)成。 第一部分, 用進(jìn)制數(shù)來(lái)表示的數(shù)制基數(shù);第二部分,數(shù)制隔離符號(hào)“ #”;第三部分,要表的文字的數(shù)值表示;第四部分,指數(shù)隔離符號(hào)“ #”;第五部分,用十進(jìn)
15、制表示 的指數(shù)部分,當(dāng)指數(shù)為 0 時(shí),這部分可以省略不寫,如下所示SIGNAL A,B,C : INTEGER RANGE 0 TO 255;A =B = 2#1100_1111#; 10#158#2; - 表示二進(jìn)制計(jì)數(shù),即十進(jìn)制的 - 表示十進(jìn)制計(jì)數(shù),且指數(shù)為 207 2,即十進(jìn)制的 158*1C = 8#375#; - 表示八進(jìn)制計(jì)數(shù),即十進(jìn)制的 253 物理量文字:此類型文字帶有單位,如 60s,1km ,300pf描述中,可以進(jìn)行行為仿真,但是在綜合時(shí)被忽略,不能被 等。這些文字用于行為 VHDL 綜合器綜合 形成與之對(duì)應(yīng)的硬件結(jié)構(gòu)。 注意:在這些數(shù)值型文字中,整數(shù)可綜合實(shí)現(xiàn),實(shí)數(shù)一
16、般不能被綜合,而物理量則完全不 可綜合。 ?8 ? 第五章 VHDL 語(yǔ)言的順序描述語(yǔ)句 從執(zhí)行順序上劃分, VHDL 語(yǔ)言可以分為順序描述語(yǔ)句( Sequential Statements )和 并行描述語(yǔ)句( Concurrent Statements )兩大類,前者在執(zhí)行過(guò)程中是按照書寫順序依次執(zhí)行的,而后者則是在同一時(shí)間同步執(zhí)行的,在本章將詳細(xì)地介紹順序描述語(yǔ)句,包括其特點(diǎn)和分類以及賦值語(yǔ)句、代入語(yǔ)句和流程控制語(yǔ)句等順序描述語(yǔ)句的使用方法。 5.1 順序描述語(yǔ)句的特點(diǎn)和分類 順序描述語(yǔ)句是相對(duì)于并行語(yǔ)句而言的,其最大的特點(diǎn)是:每一條語(yǔ)句在行為仿真 中的順序與他們?cè)诖a中的書寫順序相同,
17、且只出現(xiàn)在進(jìn)程或者子程序(包括過(guò)程和函 數(shù))中。 在數(shù)字系統(tǒng)設(shè)計(jì)中, 順序描述語(yǔ)句通常用來(lái)描述邏輯系統(tǒng)的組合邏輯、 時(shí)序邏輯等。 VHDL 語(yǔ)言中的順序描述語(yǔ)句主要包括:賦值語(yǔ)句(變量賦值語(yǔ)句)、代入語(yǔ)句(信號(hào)賦值語(yǔ)句)、流程控制語(yǔ)句、等待語(yǔ)句、子程序調(diào)用語(yǔ)句、返回語(yǔ)句和空操作語(yǔ)句等。 5.2 賦值語(yǔ)句介紹 賦值語(yǔ)句用于將一個(gè)值或者一個(gè)表達(dá)式的運(yùn)算結(jié)果傳遞給變量或者變量數(shù)組, 其標(biāo) 準(zhǔn)格式如下目的變量 = 表達(dá)式 ; 該語(yǔ)句表示把右邊的表達(dá)式的值賦給目的變量,但語(yǔ)句兩邊的數(shù)據(jù)類型必須相同。 目的變量的類型、 范圍和初始值都應(yīng)該先給出, 右邊表達(dá)式可以是變量、 信號(hào)量或字符。變量只能在進(jìn)程( P
18、ROCESS )或子程序( SUBPROGRAM )中使用,而無(wú)法傳遞到進(jìn)程 之外,所以它有點(diǎn)類似于其他高級(jí)語(yǔ)言中的局部變量。 例 5.1 是賦值語(yǔ)句的使用實(shí)例?!纠?5.1 】賦值語(yǔ)句的使用ARCHITECTURE behavioral OF example_fuzhi IS CONSTANT cvolt : REAL : = 3.3 ; - 定義常數(shù) CONSTANT ccurrent : REAL : = 4.0 ; VARIABLE temp0, temp1 : REAL ; - 定義變量 VARIABLE temp2, temp3 : INTEGER RANGE 0 TO 255 :
19、 = 10 ; VARIABLE temp4 : STD_LOGIC_VECTOR ( 3 DOWNTO 0 ) ; SIGNAL a : STD_LOGIC ; - 定義信號(hào) SIGNAL b : REAL ; ? 9 ? 第六章 VHDL 語(yǔ)言的并行描述語(yǔ)句 在實(shí)際的數(shù)字系統(tǒng)中,很多操作是互相獨(dú)立,可以并行(在同一時(shí)間執(zhí)行)的;在 VHDL 語(yǔ)言中使用并行描述語(yǔ)言來(lái)對(duì)這些操作進(jìn)實(shí)現(xiàn),這些并行語(yǔ)句可以是結(jié)構(gòu)性的,也可以是行為性的,其是硬件描述語(yǔ)言特有的,其在系統(tǒng)的某一時(shí)刻同時(shí)執(zhí)行,不因編 程的語(yǔ)句順序而影響執(zhí)行的先后。本章介紹了 VHDL 語(yǔ)言中的并行描述語(yǔ)句的使用方 法,包括并發(fā)信號(hào)代入語(yǔ)
20、句( Concurrent Signal Assignment )、進(jìn)程語(yǔ)句( PROCESS )、元件調(diào)用語(yǔ)句( COMPONENT )、端口映射語(yǔ)句( PORT MAP )等。 6.1 并發(fā)信號(hào)代入語(yǔ)句 在 5.3 小節(jié)中介紹了代入語(yǔ)句,而本節(jié)講的并發(fā)信號(hào)代入語(yǔ)句主要是強(qiáng)調(diào)該語(yǔ)句的并發(fā)性,其在仿真時(shí)刻同時(shí)運(yùn)行,其表示可編程邏輯器件上的各個(gè)獨(dú)立的硬件模塊的各自獨(dú)立操作。 6.1.1 并發(fā)信號(hào)代入語(yǔ)句基礎(chǔ) 當(dāng)信號(hào)代入語(yǔ)句在進(jìn)程內(nèi)部使用時(shí),它將作為順序語(yǔ)句的形式出現(xiàn),當(dāng)信號(hào)代入語(yǔ) 句在結(jié)構(gòu)體的進(jìn)程之外使用時(shí),它將作為并行語(yǔ)句的形式。實(shí)際上一個(gè)并發(fā)信號(hào)代入語(yǔ) 句就是一個(gè)等效的進(jìn)程的簡(jiǎn)略形式。 下面
21、就介紹并發(fā)信號(hào)代入語(yǔ)句的并發(fā)性和進(jìn)程等效 性。 例 6.1 是一個(gè)并發(fā)信號(hào)代入語(yǔ)句的應(yīng)用實(shí)例?!纠?6.1 】并發(fā)信號(hào)代入語(yǔ)句的使用 q0 = data1 + data2 ; - 描述加法器行q1 = data3 * data4 ; - 描述乘法器行為 第一個(gè)信號(hào)代入語(yǔ)句描述了一個(gè)硬件加法器的行為, 第二個(gè)信號(hào)代入語(yǔ)句描述了一 個(gè)硬件乘法器的行為,這兩個(gè)代入語(yǔ)句是并發(fā)執(zhí)行的,硬件加法器和乘法器獨(dú)立并行工 作。在仿真時(shí)刻,兩個(gè)語(yǔ)句是并發(fā)處理的,從而真實(shí)地模擬了實(shí)際硬件系統(tǒng)中加法器和乘法器的工作情況,這就是信號(hào)代入語(yǔ)句的并發(fā)性。 另外,一個(gè)并發(fā)信號(hào)代入語(yǔ)句就是一個(gè)簡(jiǎn)化的進(jìn)程,如例 6.2 所示。
22、【例 6.2 】并發(fā)信號(hào)代入語(yǔ)句和信號(hào)的關(guān)系 ARCHITECTURE behav OF concurrent_example IS BEGIN q = d0 NAND ( d1 OR d2 ) AFTER 7 ns ; - 信號(hào)代入語(yǔ)END ARCHITECTURE behav ; 該并發(fā)信號(hào)代入語(yǔ)句可以等效于如下的進(jìn)程形式。 ?10 ? 第七章 使用 VHDL 語(yǔ)言來(lái)設(shè)計(jì)組合邏輯電路 常見的數(shù)字系統(tǒng)可以分組合邏輯電路和時(shí)序邏輯電路兩大部分,組合邏輯電路是指 在任何時(shí)刻,輸出狀態(tài)只決定于同一時(shí)刻各輸入狀態(tài)的組合,而與電路以前狀態(tài)無(wú)關(guān), 而與其他時(shí)間的狀態(tài)無(wú)關(guān)的電路, 本章將詳細(xì)介紹使用 VH
23、DL 語(yǔ)言來(lái)設(shè)計(jì)組合邏輯電路 的方法。 7.1 組合邏輯電路設(shè)計(jì)基礎(chǔ) 7.1.1 邏輯代數(shù)基礎(chǔ) 邏輯代數(shù)又稱布爾代數(shù),是 19 世紀(jì)英國(guó)數(shù)學(xué)家布爾首先提出來(lái)的,其是研究數(shù)字邏輯電路的基本工具和理論基礎(chǔ)。 1. 邏輯變量和邏輯函數(shù) 邏輯代數(shù)是用來(lái)處理邏輯運(yùn)算的代數(shù)。參與邏輯運(yùn)算的變量稱為邏輯變量,它一般 只有 0、 1 兩種取值,稱為“邏輯 0”和“邏輯 1”。邏輯 0 和邏輯 1 不同于普通代數(shù)中 的 0 和 1,因?yàn)樵谶壿嬤\(yùn)算中它不表示具體的數(shù)值大小,而只是表示兩種相互矛盾、相互對(duì)立的狀態(tài),如表示事件的真和假;信號(hào)的有和無(wú);開關(guān)的通和斷;電平的高和低等等。 邏輯函數(shù)是由若干邏輯變量經(jīng)過(guò)有限次
24、的邏輯運(yùn)算所決定的輸出。 若輸入邏輯變量 確定以后,輸出的值也就被唯一確定了,稱這個(gè)輸出為有關(guān)邏輯變量的邏輯函數(shù)。 2. 基本邏輯運(yùn)算 所謂邏輯運(yùn)算,就是按照人們事先設(shè)計(jì)好的規(guī)則,進(jìn)行邏輯推理和邏輯判斷。邏輯 代數(shù)中,最基本的邏輯運(yùn)算是“與”、“或”、“非”三種,其他任何復(fù)雜的邏輯運(yùn)算都可以通過(guò)這三種基本邏輯運(yùn)算來(lái)實(shí)現(xiàn)。 “與”邏輯運(yùn)算又稱為邏輯乘或邏輯與。它的定義是:只有決定某一事件是否發(fā)生的所有條件全部具備,這一事件才能發(fā)生,這種因果關(guān)系稱為與邏輯。其中決定事件的 條件稱為輸入邏輯變量,一般用字母 A 、B、C、D 等表示;事件是否發(fā)生這一結(jié)果稱為 邏輯函數(shù)的輸出,一般用字母 F 表示。若
25、將決定事件發(fā)生的條件具備表示為邏輯 1,條件不具備表示為邏輯 0,事件發(fā)生表示為邏輯 1,事件不發(fā)生表示為邏輯 0,并將“條件” 和“結(jié)果”的各種可能性列成表格,這種反映輸入邏輯變量和輸出函數(shù)值關(guān)系的表格稱 ? 11 ? 第八章 使用 VHDL 語(yǔ)言來(lái)設(shè)計(jì)時(shí)序電路 時(shí)序電路是一種常用的電子電路,其和組合邏輯電路是完全不同的兩種類型的電 路,組合電路的輸出僅僅和電路當(dāng)時(shí)的輸入有關(guān),而時(shí)序電路的輸出不僅僅和電路當(dāng)前 輸入相關(guān),還和電路過(guò)去輸入相關(guān),本章將介紹時(shí)序電路的基本原理和如何在 VHDL 語(yǔ)言中進(jìn)行時(shí)序電路設(shè)計(jì)。 8.1 時(shí)序電路基礎(chǔ) 由于時(shí)序電路的輸出和其過(guò)去的狀態(tài)也相關(guān),所以時(shí)序電路中必
26、然有記憶元件,用 于記憶和過(guò)去輸入信號(hào)相關(guān)的信息。 時(shí)序電路可以分為兩大類: 同步時(shí)序電路: 其所有電路都是用一個(gè)公共的時(shí)鐘信號(hào), 電路中所有的記憶都受到這個(gè)時(shí)鐘信號(hào)的同一控制, 只有在該信號(hào)來(lái)到的時(shí)候記憶元件的狀態(tài)才能 發(fā)生變化, 從而使時(shí)序電路的輸入發(fā)生變化; 而且每次時(shí)鐘信號(hào)到來(lái)的時(shí)候, 記 憶元件的狀態(tài)和電路的輸出狀態(tài)才會(huì)發(fā)生改變。 異步時(shí)序電路: 其電路中沒有一個(gè)統(tǒng)一的時(shí)鐘信號(hào), 各個(gè)記憶元件也不受到同一個(gè)時(shí)鐘控制,電路狀態(tài)的改變是因?yàn)檩斎胄盘?hào)引起的。 注意:絕大多數(shù)的實(shí)際應(yīng)用電路,從宏觀上看都是異步時(shí)序電路,而從微觀(各個(gè)模塊) 上看都是同步時(shí)序電路,所以也可以認(rèn)為同步時(shí)序電路是異
27、步時(shí)序電路的基礎(chǔ)。 時(shí)序邏輯電路在電路結(jié)構(gòu)上有兩個(gè)顯著的特點(diǎn)。 一是它通常包含組合電路和存儲(chǔ)電 路兩個(gè)組成部分,而存儲(chǔ)電路是必不可少的;二是存儲(chǔ)電路的輸出狀態(tài)必須反饋到電路的輸入端,與輸入信號(hào)一起共同決定電路的輸出。 由于任何時(shí)序邏輯電路都是以時(shí)鐘為驅(qū)動(dòng)信號(hào)的, 時(shí)序電路只有在時(shí)鐘信號(hào)的控制 下其電路狀態(tài)才會(huì)改變,時(shí)鐘信號(hào)是時(shí)序電路的執(zhí)行條件。另外由于時(shí)序邏輯電路有存儲(chǔ)功能,因此它就具有初始狀態(tài),為了使時(shí)序電路正常工作,需要用復(fù)位信號(hào)使電路狀 態(tài)回歸到一個(gè)確定的狀態(tài)。 8.2 時(shí)序電路的時(shí)鐘信號(hào) 時(shí)鐘信號(hào)在時(shí)序邏輯電路中有著重要的作用,它將驅(qū)動(dòng)時(shí)序邏輯電路狀態(tài)的轉(zhuǎn)移,根據(jù)時(shí)鐘信號(hào)可以區(qū)分時(shí)序電
28、路的原來(lái)狀態(tài)和當(dāng)前狀態(tài)。 ?12 ? 第九章 使用 VHDL 語(yǔ)言來(lái)設(shè)計(jì)存儲(chǔ)器 存儲(chǔ)器( Memory )是數(shù)字系統(tǒng)的重要的組成部分,因?yàn)閿?shù)字系統(tǒng)的工作一般都會(huì)伴隨著數(shù)據(jù)的存儲(chǔ)。存儲(chǔ)器實(shí)際上是一種時(shí)序邏輯電路。數(shù)字系統(tǒng)中存儲(chǔ)器主要包括: 只讀存儲(chǔ)器( ROM )、隨機(jī)存儲(chǔ)器( RAM )和先入先出存儲(chǔ)器( FIFO ),本章將介紹使用 VHDL 語(yǔ)言來(lái)設(shè)計(jì)這些存儲(chǔ)器的方法。 9.1 只讀存儲(chǔ)器( ROM )設(shè)計(jì) 9.1.1 只讀存儲(chǔ)器( ROM )基礎(chǔ) ROM 是只讀存儲(chǔ)器( Read-Only Memory )的簡(jiǎn)稱,是一種只能讀出事先所存數(shù)據(jù)的固態(tài)半導(dǎo)體存儲(chǔ)器。其特性是一旦寫入數(shù)據(jù)就無(wú)法再
29、將之改變或刪除。通常用在不需 經(jīng)常變更數(shù)據(jù)的電子或電腦系統(tǒng)中, 并且數(shù)據(jù)不會(huì)因?yàn)殡娫搓P(guān)閉而消失, 簡(jiǎn)而言之 ROM 就是只能讀不能寫。 注意: ROM 的“不能寫”準(zhǔn)確來(lái)說(shuō)是是對(duì)寫入數(shù)據(jù)要求的條件比較高,比如說(shuō)要求更高的 工作電壓、紫外光照射等,并不是說(shuō)完全不能再重寫。 9.1.2 只讀存儲(chǔ)器( ROM )的 VHDL 語(yǔ)言實(shí)現(xiàn) 1. 單口只讀存儲(chǔ)器 單口只讀存儲(chǔ)器是指 ROM 只有一套數(shù)據(jù)總線,其同時(shí)只支持一個(gè)對(duì) ROM 中地址 單元的讀操作。例 9.1 是一個(gè) 256 字節(jié)容量的需要注意的是在實(shí)現(xiàn)中定義了一個(gè)文件用于將 8 位單口 ROM 的 VHDL 語(yǔ)言實(shí)現(xiàn)實(shí)例, ROM 中所有地址單
30、元的數(shù)據(jù)內(nèi)容都進(jìn)行 了初始化操作。 【例 9.1 】單口 ROM的 VHDL實(shí)現(xiàn)library ieee;use ieee.std_logic_1164.all;use ieee.numeric_std.all; - 庫(kù)文entity single_port_rom is - port(addr : in natural range 0 to 255; - 地址clk : in std_logic; - 時(shí)鐘變量 q : out std_logic_vector(7 downto 0) -八位輸出 ? 13 ? 第十章 使用 VHDL 語(yǔ)言來(lái)設(shè)計(jì)狀態(tài)機(jī) 狀態(tài)機(jī)就是一組觸發(fā)器的輸出狀態(tài)隨著時(shí)鐘和
31、輸入信號(hào)按照一定的規(guī)律變化的一 種機(jī)制或過(guò)程,所有的時(shí)序電路從理論上都可以表示為有限狀態(tài)機(jī)( Finite State Machine , FSM ),有限狀態(tài)機(jī)是實(shí)現(xiàn)高可靠邏輯控制的重要途徑,是大型數(shù)字系統(tǒng)設(shè)計(jì)中的重要組成部分,尤其是進(jìn)行復(fù)雜時(shí)序邏輯電路的實(shí)現(xiàn)。本章在基本時(shí)序邏輯電路 描述的基礎(chǔ)上, 介紹采用 VHDL 進(jìn)行有限狀態(tài)機(jī)設(shè)計(jì)的方法和有限狀態(tài)機(jī)設(shè)計(jì)中需要注意的一些問(wèn)題。 10.1 狀態(tài)機(jī)基礎(chǔ) 數(shù)字系統(tǒng)一般可分為控制單元和數(shù)據(jù)通道,數(shù)據(jù)通道通常由組合邏輯電路構(gòu)成,而控制單元通常由時(shí)序邏輯電路構(gòu)成??刂茊卧拿恳粋€(gè)控制態(tài)可以看作一種狀態(tài),而狀 態(tài)之間的轉(zhuǎn)換條件指定了下一個(gè)狀態(tài)和輸出信
32、號(hào), 因此采用有限狀態(tài)機(jī)可以非常清楚的 描述時(shí)序電路之間的狀態(tài)轉(zhuǎn)換模式和狀態(tài)轉(zhuǎn)換的條件。 10.1.1 狀態(tài)機(jī)的分類 有限狀態(tài)機(jī)根據(jù)輸出信號(hào)與當(dāng)前狀態(tài)以及輸入信號(hào)的關(guān)系來(lái)分, 可以分為 Moore 型 和 Mealy 型兩種: 輸出信號(hào)只和當(dāng)前狀態(tài)有關(guān)的狀態(tài)機(jī)稱為 Moore 型狀態(tài)機(jī),如圖 10.1 所示。 輸出信號(hào)不僅和當(dāng)前狀態(tài)有關(guān), 而且也和輸入信號(hào)有關(guān)的狀態(tài)機(jī)稱為 Mealy 型態(tài)機(jī),如圖 10.2 所示。 input next_state output 次態(tài)邏輯 輸出邏輯 current_state clk 狀態(tài)寄存器 reset 圖 10.1 Moore 型有限狀態(tài)機(jī) next_s
33、tate output 次態(tài)邏輯 輸出邏輯 current_state 狀態(tài)寄存器 clk reset 圖 10.2 Mealy 型有限狀態(tài)機(jī) ?14 ? 第十一章 VHDL 語(yǔ)言的層次化設(shè)計(jì) 在使用 VHDL 語(yǔ)言來(lái)進(jìn)行大型數(shù)字系統(tǒng)設(shè)計(jì)的時(shí)候可以采用層次化結(jié)構(gòu)設(shè)計(jì)的方法將系統(tǒng)拆分為幾個(gè)層次進(jìn)行,這樣可以使得系統(tǒng)的體系更加清晰,降低設(shè)計(jì)難度。本章將詳細(xì)介紹 VHDL 語(yǔ)言的層次化設(shè)計(jì)思想以及如何使用層次化設(shè)計(jì)思想來(lái)進(jìn)行數(shù)字系統(tǒng)設(shè)計(jì),包括庫(kù)、程序包以及配置的使用方法。 11.1 層次化結(jié)構(gòu)設(shè)計(jì)基礎(chǔ) 任何復(fù)雜的數(shù)字系統(tǒng)最終都可以分解基本門電路和寄存器電路單元,根據(jù)這個(gè)思 路,在采用 VHDL 語(yǔ)言
34、進(jìn)行數(shù)字系統(tǒng)設(shè)計(jì)過(guò)程中,也可以將設(shè)計(jì)目標(biāo)進(jìn)行層層分解,在各個(gè)層次上分別設(shè)計(jì);或者將目標(biāo)分解成一些模塊,各個(gè)模塊同時(shí)進(jìn)行設(shè)計(jì),最后進(jìn)行組合聯(lián)調(diào),這就是層次化、結(jié)構(gòu)化的設(shè)計(jì)方法。層次化的設(shè)計(jì)方法能使復(fù)雜的電子系統(tǒng)簡(jiǎn)化,并且在不同的層次上都能夠進(jìn)行仿真驗(yàn)證,及時(shí)發(fā)現(xiàn)錯(cuò)誤并加以糾正。結(jié)構(gòu)化的 設(shè)計(jì)能夠?qū)?fù)雜的系統(tǒng)劃分成一些模塊, 各個(gè)模塊同時(shí)進(jìn)行設(shè)計(jì), 分別編譯、 仿真驗(yàn)證,最后組合成一個(gè)系統(tǒng),這樣便于一些子模塊資源的共享,如可以利用已經(jīng)完成的工程項(xiàng) 目中設(shè)計(jì)好的模塊。 對(duì)于一個(gè)數(shù)字系統(tǒng)來(lái)說(shuō),設(shè)計(jì)層次可以從兩個(gè)不同的角度來(lái)劃分:按照性能描述 劃分和按照結(jié)構(gòu)描述劃分, 對(duì)應(yīng)于第三章中 VHDL 程序設(shè)計(jì)
35、的不同描述風(fēng)格行為描述和結(jié)構(gòu)描述。 系統(tǒng)的性能描述主要關(guān)注系統(tǒng)的行為,即系統(tǒng)完成什么功能,它通常只表示系統(tǒng)的 輸入輸出間的關(guān)系,以系統(tǒng)的功能為設(shè)計(jì)目標(biāo),以系統(tǒng)的輸入信號(hào)、內(nèi)部狀態(tài)和輸出信 號(hào)的要求為設(shè)計(jì)中心,至于具體的邏輯電路實(shí)現(xiàn)則并不關(guān)注。 系統(tǒng)的結(jié)構(gòu)描述主要關(guān)注于實(shí)現(xiàn)某一功能的系統(tǒng)的具體結(jié)構(gòu)以及各組成模塊之間 的連接關(guān)系, 包括各個(gè)功能單元的具體的端口定義。 它不能直觀的表示系統(tǒng)的邏輯功能, 需要根據(jù)各組成單元的功能及其相互驅(qū)動(dòng)關(guān)系來(lái)確定,它是系統(tǒng)功能的具體實(shí)現(xiàn)電路。 數(shù)字系統(tǒng)一般可以分為以下 6 個(gè)層次:系統(tǒng)級(jí)、芯片級(jí)、寄存器級(jí)、門級(jí)、電路級(jí) 和版圖級(jí)。與之相對(duì)應(yīng),系統(tǒng)的性能描述和結(jié)構(gòu)描
36、述也可以分為 6 個(gè)層次,表 8.1 是對(duì) 不同設(shè)計(jì)風(fēng)格和設(shè)計(jì)層次的對(duì)應(yīng)關(guān)系。 表 8.1 數(shù)字系統(tǒng)的層次關(guān)系 系統(tǒng)層次 性能描述 結(jié)構(gòu)描述 系統(tǒng)級(jí) 芯片級(jí) 自然語(yǔ)言描述的系統(tǒng)需求 系統(tǒng)的實(shí)現(xiàn)算法 系統(tǒng)結(jié)構(gòu)框圖 處理器、 存儲(chǔ)器、串行 控制器 /并行接口、 中斷 ? 15 ? 第十二章 VHDL 語(yǔ)言的仿真、綜合和優(yōu)化 在使用 VHDL 語(yǔ)言進(jìn)行項(xiàng)目開發(fā)過(guò)程中, 實(shí)現(xiàn)設(shè)計(jì)目標(biāo)只是其中一部分的工作,外還需要對(duì)該項(xiàng)目進(jìn)行仿真、綜合和優(yōu)化工作,這些工作不僅僅可以提高芯片資源的利 此 用效率, 甚至可以提高設(shè)計(jì)正確性和設(shè)計(jì)效率。 本章將介紹如何在 VHDL 語(yǔ)言開發(fā)過(guò)程 中進(jìn)行仿真、綜合和優(yōu)化。 12
37、.1 VHDL 語(yǔ)言的仿真 第二章介紹了在 quartus 中使用波形文件進(jìn)行工程項(xiàng)目的仿真,在采用 VHDL 數(shù)字電路和數(shù)字系統(tǒng)的設(shè)計(jì)中,仿真是非常重要的一個(gè)步驟,要在設(shè)計(jì)的多個(gè)階段進(jìn)行 進(jìn)行 多個(gè)層次的仿真如行為仿真、時(shí)序仿真和硬件仿真。它是對(duì)電路設(shè)計(jì)的一種檢驗(yàn)方法, 用 VHDL 描述的任何數(shù)字電路和數(shù)字系統(tǒng)是否正確, 是否符合設(shè)計(jì)的目標(biāo)和要求, 都需 要通過(guò)仿真來(lái)進(jìn)行驗(yàn)證。 仿真一般通過(guò) VHDL 仿真器和具體的 CPLD/FPGA 芯片來(lái)完成。 目前,各 EDA 公司和廠商為設(shè)計(jì)者提供了眾多的仿真工具,如 Synopsys 公司的 VCS , VEDA Desigan Automat
38、ion 公司的 VULCAL 等。仿真是利用 VHDL 語(yǔ)言進(jìn)行數(shù)字電路 設(shè)計(jì)的一個(gè)必不可少的步驟,它貫穿設(shè)計(jì)的整個(gè)過(guò)程。 在數(shù)字系統(tǒng)的設(shè)計(jì)過(guò)程中一般要進(jìn)行三個(gè)層次仿真: 行為級(jí)仿真、 RTL 級(jí)仿真和門 級(jí)仿真,各級(jí)所要達(dá)到的目的是不一樣的。 行為仿真是針對(duì)設(shè)計(jì)進(jìn)行系統(tǒng)級(jí)的仿真, 主要用于對(duì)系統(tǒng)設(shè)計(jì)可行性進(jìn)行評(píng)驗(yàn)證,可以快速的對(duì)多種系統(tǒng)設(shè)計(jì)方案進(jìn)行比較和論證, 以此獲得正確的最佳設(shè) 計(jì)方案。 RTL 級(jí)仿真主要針對(duì)各個(gè)模塊進(jìn)行功能驗(yàn)證。 而門級(jí)仿真則用于保證設(shè)計(jì)的電路針對(duì)具體器件的電氣性能如延時(shí)等是滿足設(shè)計(jì)需求的。 可以把用 VHDL 描述的系統(tǒng)或模塊看作能完成某一個(gè)功能的整體, 給定它一組
39、輸入 信號(hào)(測(cè)試向量),它就會(huì)根據(jù)設(shè)計(jì)的內(nèi)容給出對(duì)應(yīng)的一組輸出信號(hào)(響應(yīng)),將設(shè)計(jì) 模塊或系統(tǒng)的輸出信號(hào)與按照邏輯功能要求預(yù)期得到的輸出信號(hào)進(jìn)行比較就能夠判斷 被測(cè)部分功能的正確性以及是否滿足設(shè)計(jì)的要求。 無(wú)論是功能仿真還是時(shí)序仿真,仿真方法一般有兩種:一種是在大多數(shù) EDA 工具 中的 VHDL 仿真器允許進(jìn)行交互式的操作, 允許直接通過(guò)設(shè)置輸入信號(hào)波形的方式對(duì)輸 入信號(hào)進(jìn)行賦值,指定仿真時(shí)間,并觀察輸出波形的方式來(lái)進(jìn)行仿真過(guò)程,第二章中介 紹的即為這種方法。 另一種仿真方法就是利用測(cè)試平臺(tái)的方法,自動(dòng)的對(duì)被測(cè)試模塊輸入信號(hào)測(cè)試向 量,并且通過(guò)波形輸出和文件記錄輸出等方式,或者與測(cè)試平臺(tái)中的
40、設(shè)定輸出向量來(lái)進(jìn) ?16 ? 第十三章 VHDL 語(yǔ)言的屬性描述語(yǔ)句 VHDL 語(yǔ)言具有屬性預(yù)定義和描述的功能,利用這些功能可以寫出功能豐富、簡(jiǎn)明 扼要的程序模塊, 因此熟練掌握 VHDL 語(yǔ)言的屬性描述語(yǔ)句是應(yīng)用硬件描述語(yǔ)言的關(guān)鍵 之一。本章介紹了 VHDL 語(yǔ)言的屬性描述語(yǔ)句使用方法,包括屬性預(yù)定義、樹數(shù)值類屬 性描述語(yǔ)句、函數(shù)類屬性描述語(yǔ)句等。 13.1 屬性預(yù)定義 VHDL 語(yǔ)言的屬性描述語(yǔ)句有許多重要的應(yīng)用,可以用來(lái)獲取一般數(shù)值的鄰值、極限值,可以用來(lái)獲取數(shù)組的長(zhǎng)度、數(shù)組中的值,可以用來(lái)從塊、信號(hào)或子類型中獲取數(shù) 據(jù),可以用來(lái)獲取未約束的數(shù)據(jù)類型的范圍,可以用來(lái)檢出時(shí)鐘( clock
41、 )的邊沿,可以用來(lái)完成定時(shí)檢查。 屬性描述語(yǔ)句一共包括 6 類: 數(shù)值類屬性描述語(yǔ)句。 函數(shù)類屬性描述語(yǔ)句。 信號(hào)類屬性描述語(yǔ)句。 數(shù)據(jù)類型類屬性描述語(yǔ)句。 數(shù)據(jù)區(qū)間類屬性描述語(yǔ)句。 用戶自定義屬性語(yǔ)句。 通過(guò) VHDL 語(yǔ)言的屬性描述語(yǔ)句可以獲得客體對(duì)象的有關(guān)值、 類型、功能、范圍等,用途非常廣泛。預(yù)定義屬性是 VHDL 語(yǔ)言程序設(shè)計(jì)的重要步驟、重要方法之一, 是信息在變量、信號(hào)、文件、塊、進(jìn)程等不同客體之間傳遞、提取的重要方法,下面將結(jié)合各種具體應(yīng)用實(shí)例,詳細(xì)地向讀者介紹各種屬性描述語(yǔ)句。 13.2 數(shù)值類屬性描述語(yǔ)句 數(shù)值類屬性描述語(yǔ)句通常用來(lái)獲得一般數(shù)據(jù)、數(shù)組、塊的有關(guān)值,還可以用于
42、獲得 數(shù)組的長(zhǎng)度、數(shù)據(jù)類型的邊界等。數(shù)值類屬性描述語(yǔ)句還可以進(jìn)一步細(xì)分為 3 個(gè)子類的 屬性描述語(yǔ)句,包括: 一般數(shù)據(jù)的數(shù)值屬性描述語(yǔ)句。 數(shù)組的數(shù)值屬性描述語(yǔ)句。 塊的數(shù)值屬性描述語(yǔ)句。 ? 17 ? 第十四章 VHDL 語(yǔ)言的數(shù)字系統(tǒng)設(shè)計(jì)應(yīng)用實(shí)例 數(shù)字系統(tǒng)設(shè)計(jì)是 VHDL 語(yǔ)言誕生的主要目的,其可以快速、方便、高正確率的實(shí)現(xiàn)針對(duì)具體應(yīng)用的數(shù)字系統(tǒng); 此外利用 VHDL 語(yǔ)言描述的數(shù)字電路還可以與傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)方法相結(jié)合,取長(zhǎng)補(bǔ)短共同實(shí)現(xiàn)能夠完成目標(biāo)任務(wù)的數(shù)字系統(tǒng)。本章介紹了交通 燈控制器、 出租車計(jì)費(fèi)器、 自動(dòng)售貨機(jī)和通用異步發(fā)送器這四個(gè)基于 VHDL 語(yǔ)言的數(shù)字 系統(tǒng)設(shè)計(jì)應(yīng)用實(shí)例。
43、14.1 交通燈控制器 隨著各種交通工具的發(fā)展和交通指揮的需要,交通燈的誕生大大改善了城市交通狀況,本應(yīng)用是一個(gè)交通控制器的實(shí)例,用于控制十字路口主、支兩條道路 的紅、綠、黃三色燈,指揮車輛和行人安全通信。 14.1.1 交通燈控制器的需求分析 該交通燈控制器要求能顯示十字路口東西、 南北兩個(gè)方向的紅、 黃、綠的指示狀態(tài)。用兩組紅、黃、綠三種顏色的燈分別作為東西、南北兩個(gè)方向的紅、黃、綠燈。變化規(guī) 律如下: 東西綠燈亮,南北紅燈亮 東西黃燈亮,南北紅燈亮 東西紅燈亮,南北綠燈亮 東西紅燈亮,南北黃燈亮 東西綠燈亮,南北紅燈亮 南北方向是主干道車道,東西方向是支干道車道,要求兩條交叉道路上的車輛
44、交替 運(yùn)行,主干道每次通行時(shí)間都設(shè)為 30 秒、支干道每次通行間為 20 秒,時(shí)間可設(shè)置修改。 在綠燈轉(zhuǎn)為紅燈時(shí),要求黃燈先亮 5 秒鐘,才能變換運(yùn)行車道。 要求交通燈控制器有復(fù)位功能,在復(fù)位信號(hào)使能的情況下能夠?qū)崿F(xiàn)交通燈的自動(dòng)復(fù)位,并且要求所有交通燈的狀態(tài)變化包括復(fù)位信號(hào)引起的均發(fā)生在時(shí)鐘脈沖的上升沿處。 14.1.2 交通燈控制器的系統(tǒng)設(shè)計(jì) 根據(jù)交通燈系統(tǒng)設(shè)計(jì)要求,可以用一個(gè)有限狀態(tài)機(jī)來(lái)實(shí)現(xiàn)這個(gè)交通燈控制器。首先 根據(jù)功能要求, 明確兩組交通燈的狀態(tài), 這兩組交通燈總共有四種狀態(tài), 分別用 st0,st1, ?18 ? 內(nèi)容簡(jiǎn)介 本書介紹了 EDA 技術(shù)和硬件描述語(yǔ)言 VHDL 的基礎(chǔ)知識(shí),通過(guò)對(duì)工程實(shí)例的系統(tǒng) 分析、程序設(shè)計(jì)和仿真,深入細(xì)致的討論了其在數(shù)字系統(tǒng)設(shè)計(jì)中的廣泛應(yīng)用。 本書首先介紹了 EDA 和 VHDL 語(yǔ)言基礎(chǔ)知識(shí), 然后介紹了最常用的 VHDL 語(yǔ)言集 成開發(fā)環(huán)境 Quartus II ,然后基于 Qartus II 介紹了 VHDL 語(yǔ)言的語(yǔ)法知識(shí),包括 VHDL 程序結(jié)構(gòu)(如實(shí)體、結(jié)構(gòu)體、塊語(yǔ)句、庫(kù)、程序包等)、 VHDL 語(yǔ)言要素(
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年臨時(shí)搬運(yùn)合同
- 2024年度某新能源汽車制造技術(shù)許可合同
- 2024年度文化娛樂活動(dòng)策劃合同
- 2024年廣播劇配音委托合同
- 2024年建筑工程地面建設(shè)合同
- 企業(yè)普通員工年終個(gè)人工作總結(jié)
- 2024年度風(fēng)力發(fā)電設(shè)備安裝合同
- 節(jié)能宣傳課件教學(xué)課件
- 2024醫(yī)療機(jī)構(gòu)人力資源共享與培訓(xùn)合同
- 2024年度碎石料供需合同
- 護(hù)士與醫(yī)生的合作與溝通
- GB 42295-2022電動(dòng)自行車電氣安全要求
- 產(chǎn)品系統(tǒng)設(shè)計(jì)開發(fā) 課件 第4、5章 產(chǎn)品系統(tǒng)設(shè)計(jì)類型、產(chǎn)品系統(tǒng)設(shè)計(jì)開發(fā)綜合案例
- 1編譯原理及實(shí)現(xiàn)課后題及答案
- 焊接材料的質(zhì)量控制和追溯規(guī)范
- 讓閱讀成為習(xí)慣家長(zhǎng)會(huì)課件
- 家庭健康照護(hù)服務(wù)方案
- 施工方案 誰(shuí)編
- 滬教牛津版八上英語(yǔ)Unit-6-單元完整課件
- 新能源及多能互補(bǔ)互補(bǔ)技術(shù)
- 混凝土攪拌站安裝及拆除方案
評(píng)論
0/150
提交評(píng)論