版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、西安電子科技大學(xué)EDA實(shí)驗(yàn)實(shí)驗(yàn)VHDL設(shè)計(jì)初步設(shè)計(jì)初步主講:徐少瑩主講:徐少瑩電子工程學(xué)院電子工程學(xué)院:西安電子科技大學(xué)EDA實(shí)驗(yàn)實(shí)驗(yàn)西安電子科技大學(xué)國家電工電子教學(xué)基地西安電子科技大學(xué)國家電工電子教學(xué)基地西安電子科技大學(xué)第第1部分部分 VHDL設(shè)計(jì)初步設(shè)計(jì)初步EDA實(shí)驗(yàn)實(shí)驗(yàn)西安電子科技大學(xué)VHDL歷史回想歷史回想 VHDL 言語是美國國防部言語是美國國防部(DOD)在在 20 世紀(jì)世紀(jì) 80 年代初為實(shí)現(xiàn)其高速年代初為實(shí)現(xiàn)其高速集成電路方案集成電路方案(VHSICVery High Speed Integrated Circuit)而提出而提出的一種硬
2、件描畫言語的一種硬件描畫言語(HDLHardware Description Language),以,以作為各合同商之間提交復(fù)雜電路設(shè)計(jì)文檔的一種規(guī)范方案,作為各合同商之間提交復(fù)雜電路設(shè)計(jì)文檔的一種規(guī)范方案,VHDL的含義為超高速集成電路硬件描畫言語。的含義為超高速集成電路硬件描畫言語。 1987年被采用為年被采用為IEEE 1076規(guī)范規(guī)范VHDL87。 1993年被更新為年被更新為IEEE 1164規(guī)范規(guī)范VHDL93。西安電子科技大學(xué)VHDLVHSIC Hardware Description Language HDL 的出現(xiàn)是為了順應(yīng)電子系統(tǒng)設(shè)計(jì)的日益復(fù)雜性。的出現(xiàn)是為了順應(yīng)電子系統(tǒng)設(shè)
3、計(jì)的日益復(fù)雜性。假設(shè)以計(jì)算機(jī)軟件的設(shè)計(jì)與電路設(shè)計(jì)做個(gè)類比:假設(shè)以計(jì)算機(jī)軟件的設(shè)計(jì)與電路設(shè)計(jì)做個(gè)類比: 機(jī)器碼好比晶體管機(jī)器碼好比晶體管/MOS管;管; 匯編言語好比電路網(wǎng)表;匯編言語好比電路網(wǎng)表; HDL言語就好像高級(jí)言語。言語就好像高級(jí)言語。西安電子科技大學(xué)幾種常用的幾種常用的HDL言語:言語: 1VHDL硬件描畫言語:功能強(qiáng),規(guī)范性好;硬件描畫言語:功能強(qiáng),規(guī)范性好; 2VerilogHDL硬件描畫言語:功能強(qiáng)、靈敏性高;硬件描畫言語:功能強(qiáng)、靈敏性高; 3ABEL硬件描畫言語:屬于較低級(jí)的硬件描畫言硬件描畫言語:屬于較低級(jí)的硬件描畫言語;語; 4AHDL硬件描畫言語:硬件描畫言語:Alt
4、era公司開發(fā),語法簡公司開發(fā),語法簡單,但不通用。單,但不通用。 其中:其中:VHDL和和VerilogHDL已成為已成為IEEE規(guī)范。規(guī)范。VHDLVHSIC Hardware Description Language西安電子科技大學(xué) VHDL在語法和風(fēng)格上類似于現(xiàn)代高級(jí)編程言語。在語法和風(fēng)格上類似于現(xiàn)代高級(jí)編程言語。但要留意,但要留意,VHDL畢竟描畫的是硬件,它包含許多硬畢竟描畫的是硬件,它包含許多硬件特有的構(gòu)造。件特有的構(gòu)造。 HDL是用文字化方法描畫電子電路與系統(tǒng)。是用文字化方法描畫電子電路與系統(tǒng)。VHDLVHSIC Hardware Description Language西安電
5、子科技大學(xué)VHDL與計(jì)算機(jī)言語的區(qū)別與計(jì)算機(jī)言語的區(qū)別計(jì)算機(jī)言語主要關(guān)注于變量值的變化計(jì)算機(jī)言語主要關(guān)注于變量值的變化VHDL要實(shí)現(xiàn)嚴(yán)厲的時(shí)序邏輯關(guān)系要實(shí)現(xiàn)嚴(yán)厲的時(shí)序邏輯關(guān)系西安電子科技大學(xué)回想回想組合邏輯電路組合邏輯電路時(shí)序邏輯電路時(shí)序邏輯電路分析分析設(shè)計(jì)設(shè)計(jì)真值表真值表分析分析設(shè)計(jì)設(shè)計(jì)輸入輸入/輸出輸出籠統(tǒng)籠統(tǒng)實(shí)體實(shí)體EntityArchitecture與、或、非與、或、非與非、或非與非、或非異或、同或異或、同或RS觸發(fā)器觸發(fā)器D觸發(fā)器觸發(fā)器T觸發(fā)器觸發(fā)器JK觸發(fā)器觸發(fā)器西安電子科技大學(xué)主要內(nèi)容安排主要內(nèi)容安排1 多路選擇器的多路選擇器的VHDL描畫描畫2 時(shí)序電路的時(shí)序電路的VHDL描畫
6、描畫3 更復(fù)雜電路的更復(fù)雜電路的VHDL描畫描畫5 VHDL設(shè)計(jì)練習(xí)設(shè)計(jì)練習(xí)4 有限形狀機(jī)形狀轉(zhuǎn)移圖設(shè)計(jì)有限形狀機(jī)形狀轉(zhuǎn)移圖設(shè)計(jì)西安電子科技大學(xué)1 多路選擇器的多路選擇器的VHDL描畫描畫例例1.1 2選選1多路選擇器的多路選擇器的VHDL描畫描畫 2選選1MUX輸入輸入/輸出輸出端口端口實(shí)體實(shí)體Entity abymux21s電路功能電路功能實(shí)現(xiàn)實(shí)現(xiàn)構(gòu)造體構(gòu)造體Architecture?西安電子科技大學(xué)例例1.1 2選選1多路選擇器的實(shí)體描畫多路選擇器的實(shí)體描畫1 多路選擇器的多路選擇器的VHDL描畫描畫abymux21sENTITY mux21 IS PORT a, b : IN BIT
7、; S : IN BIT ; y : OUT BIT ) ; END ENTITY mux21 ; 西安電子科技大學(xué)ENTITY mux21 IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT );END ENTITY mux21;ARCHITECTURE one OF mux21 IS BEGIN y = a WHEN s = 0 ELSE b ;END ARCHITECTURE one ; 例例1.1 2選選1多路選擇器的構(gòu)造體描畫多路選擇器的構(gòu)造體描畫1 (行為描畫行為描畫)abymux21sS=0S=1abyS1 多路選擇器的多路選擇器的V
8、HDL描畫描畫西安電子科技大學(xué)例例1.1 2選選1多路選擇器的構(gòu)造體描畫多路選擇器的構(gòu)造體描畫2 (原理圖描畫原理圖描畫)ARCHITECTURE one OF mux21 IS SIGNAL d,e : BIT; -d,e 為為內(nèi)部信號(hào)內(nèi)部信號(hào)BEGIN d = a AND (NOT S) ; e = b AND s ; y = d OR e ;END ARCHITECTURE one ; abymux21s1 多路選擇器的多路選擇器的VHDL描畫描畫西安電子科技大學(xué)例例1.1 2選選1多路選擇器的構(gòu)造體描畫多路選擇器的構(gòu)造體描畫3 (布爾方程描布爾方程描畫畫)1 多路選擇器的多路選擇器的V
9、HDL描畫描畫y = (a AND (NOT s) OR ( b AND s) ; ARCHITECTURE behave OF mux21 ISBEGINEND behave;y = as+bsabymux21s闡明:以上闡明:以上三種構(gòu)造體三種構(gòu)造體描畫都是并描畫都是并行語句行語句西安電子科技大學(xué)例例1.1 2選選1多路選擇器的構(gòu)造體描畫多路選擇器的構(gòu)造體描畫4 (進(jìn)程描畫進(jìn)程描畫)1 多路選擇器的多路選擇器的VHDL描畫描畫S=0S=1abySabymux21s ARCHITECTURE one OF mux21 ISBEGIN PROCESS (a,b,s) BEGIN IF s =
10、0 THEN y = a ; ELSE y = b ; END IF; END PROCESS;END ARCHITECTURE one ; -a,b,s 為敏感信號(hào)表為敏感信號(hào)表西安電子科技大學(xué)2選選1多路選擇器功能時(shí)序波形多路選擇器功能時(shí)序波形 例例1.1 2選選1多路選擇器的多路選擇器的EDA軟件仿真結(jié)果軟件仿真結(jié)果1 多路選擇器的多路選擇器的VHDL描畫描畫西安電子科技大學(xué)1.1 實(shí)體表達(dá)實(shí)體表達(dá)ENTITY 1 多路選擇器的多路選擇器的VHDL描畫描畫例例1.1VHDL描畫中出現(xiàn)的相關(guān)語句構(gòu)造和語法闡明描畫中出現(xiàn)的相關(guān)語句構(gòu)造和語法闡明ENTITY 實(shí)體名實(shí)體名 IS GENERIC
11、 類屬表;類屬表; PORT 端口表;端口表;END ENTITY 實(shí)體名;實(shí)體名; 實(shí)體在電路中主要是闡明該電路的輸入、輸出關(guān)實(shí)體在電路中主要是闡明該電路的輸入、輸出關(guān)系,更詳細(xì)地說就是用來定義實(shí)體與外部的銜接關(guān)系系,更詳細(xì)地說就是用來定義實(shí)體與外部的銜接關(guān)系以及需傳送給實(shí)體的參數(shù)。以及需傳送給實(shí)體的參數(shù)。ENTITY 實(shí)體名實(shí)體名 IS GENERIC 類屬表;類屬表; PORT 端口表;端口表;END ENTITY 實(shí)體名;實(shí)體名;1類屬表:用于指定參數(shù)的大小、實(shí)體中子元件的數(shù)目類屬表:用于指定參數(shù)的大小、實(shí)體中子元件的數(shù)目及實(shí)體的定時(shí)特性等,用以將信息參數(shù)傳送到實(shí)體。及實(shí)體的定時(shí)特性等
12、,用以將信息參數(shù)傳送到實(shí)體。2端口表:指明實(shí)體的輸入、輸出信號(hào)及其方式、數(shù)據(jù)端口表:指明實(shí)體的輸入、輸出信號(hào)及其方式、數(shù)據(jù)類型。類型。PORT (端口名:端口方式端口名:端口方式 數(shù)據(jù)類型;數(shù)據(jù)類型; 端口名:端口方式端口名:端口方式 數(shù)據(jù)類型數(shù)據(jù)類型 );英文字母英文字母+ +數(shù)字?jǐn)?shù)字?jǐn)?shù)據(jù)流動(dòng)方向數(shù)據(jù)流動(dòng)方向主要有主要有“位和位和“位矢量兩類位矢量兩類設(shè)計(jì)者本人命名的稱號(hào)文件名設(shè)計(jì)者本人命名的稱號(hào)文件名例如:例如:mux21的端口描畫的端口描畫添加以下語句添加以下語句:generic (m: time:=1ns)類屬參數(shù)闡明語句,它定類屬參數(shù)闡明語句,它定義了延時(shí)時(shí)間為義了延時(shí)時(shí)間為1ns
13、留意留意 簡單地說簡單地說 In 不可以出如今賦值符號(hào)不可以出如今賦值符號(hào)(= 或或:=)的左邊的左邊 out不可以出如今賦值符號(hào)不可以出如今賦值符號(hào)(= 或或:=)的右邊的右邊 buffer可以出如今賦值符號(hào)可以出如今賦值符號(hào)(= 或或:=)的兩邊的兩邊方向定義方向定義含義含義IN輸入,定義的通道為單向輸入方式輸入,定義的通道為單向輸入方式 OUT輸出,定義的通道為單向輸出方式輸出,定義的通道為單向輸出方式 INOUT雙向,定義的通道確定為輸入輸出雙向端口雙向,定義的通道確定為輸入輸出雙向端口 BUFFER緩沖端口,其功能與緩沖端口,其功能與INOUT類似類似 常用端口方式:常用端口方式:例
14、:例:ENTITY mux21 IS PORT a, b, : IN BIT ; S : IN BIT ; y : OUT BIT ) ; END ENTITY mux21 ; VHDL中任何一種數(shù)據(jù)對(duì)象信號(hào)、變量、常數(shù)必需嚴(yán)中任何一種數(shù)據(jù)對(duì)象信號(hào)、變量、常數(shù)必需嚴(yán)厲限定其取值范圍。厲限定其取值范圍。 VHDL 中一個(gè)對(duì)象只能有一種類型,施加于該對(duì)象的操中一個(gè)對(duì)象只能有一種類型,施加于該對(duì)象的操作必需與該類型相匹配。作必需與該類型相匹配。 常用數(shù)據(jù)類型有:常用數(shù)據(jù)類型有:BIT,BIT_VECTOR,STD_LOGIC,STD_LOGIC_VECTOR,INTEGER,BOOLEAN等參考等參
15、考書上書上P260表表10.3.1西安電子科技大學(xué)1.2 構(gòu)造體表達(dá)構(gòu)造體表達(dá)ARCHITECTURE 1 多路選擇器的多路選擇器的VHDL描畫描畫ARCHITECTURE 構(gòu)造體名構(gòu)造體名 OF 實(shí)體名實(shí)體名 IS 定義語句定義語句 內(nèi)部信號(hào),常數(shù),數(shù)據(jù)類型,函數(shù)等定義;內(nèi)部信號(hào),常數(shù),數(shù)據(jù)類型,函數(shù)等定義;BEGIN 功能描畫語句功能描畫語句;END ARCHITECTURE 構(gòu)造體名;構(gòu)造體名;ARCHITECTURE 構(gòu)造體名構(gòu)造體名 OF 實(shí)體名實(shí)體名 IS 定義語句定義語句 內(nèi)部信號(hào),常數(shù),數(shù)據(jù)類型,函數(shù)等的定義;內(nèi)部信號(hào),常數(shù),數(shù)據(jù)類型,函數(shù)等的定義;BEGIN 功能描畫語句功能
16、描畫語句;END ARCHITECTURE 構(gòu)造體名;構(gòu)造體名;ARCHITECTURE 構(gòu)造體名構(gòu)造體名 OF 實(shí)體名實(shí)體名 IS 定義語句定義語句 內(nèi)部信號(hào),常數(shù),數(shù)據(jù)類型,函數(shù)等的定義;內(nèi)部信號(hào),常數(shù),數(shù)據(jù)類型,函數(shù)等的定義;BEGIN 功能描畫語句功能描畫語句;END ARCHITECTURE 構(gòu)造體名;構(gòu)造體名;ARCHITECTURE 構(gòu)造體名構(gòu)造體名 OF 實(shí)體名實(shí)體名 IS 定義語句定義語句 內(nèi)部信號(hào),常數(shù),數(shù)據(jù)類型,函數(shù)等的定義;內(nèi)部信號(hào),常數(shù),數(shù)據(jù)類型,函數(shù)等的定義;BEGIN 功能描畫語句功能描畫語句;END ARCHITECTURE 構(gòu)造體名;構(gòu)造體名;半加器半加器ab
17、csabcs0000000011111110半加器真值表:半加器真值表:abcs0000000011111110半加器半加器abcs ENTITY部分省略部分省略 ARCHITECTURE alg_ha OF half_adder IS BEGIN PROCESS (a , b) BEGIN IF a=0 AND b=0 THEN c=0 ; s=0 ELSIF a=1 AND b=1 THEN c=1 ; s=0; ELSE c=0 ; s=1; END IF; END PROCESS; END alg_ha; 高層次的功能描高層次的功能描畫,不用思索在畫,不用思索在電路中究竟是怎電路中究竟
18、是怎樣實(shí)現(xiàn)的。樣實(shí)現(xiàn)的。練習(xí):練習(xí): 試用上面的兩種方法描畫半加器的功能。試用上面的兩種方法描畫半加器的功能。半加器半加器abcs西安電子科技大學(xué)構(gòu)造體中三種描畫方式的比較構(gòu)造體中三種描畫方式的比較布爾函數(shù)定義明布爾函數(shù)定義明白白銜接關(guān)系明晰,銜接關(guān)系明晰,電路模塊化明晰電路模塊化明晰 優(yōu)優(yōu) 點(diǎn)點(diǎn)小門數(shù)設(shè)計(jì)小門數(shù)設(shè)計(jì)不易描畫復(fù)雜電路,不易描畫復(fù)雜電路,修正不易修正不易數(shù)據(jù)流描畫數(shù)據(jù)流描畫電路層次化設(shè)計(jì)電路層次化設(shè)計(jì)電路不易了解、繁瑣、電路不易了解、繁瑣、復(fù)雜復(fù)雜構(gòu)造化描畫構(gòu)造化描畫 適用場所適用場所 缺缺 點(diǎn)點(diǎn)描畫方式描畫方式電路特性清楚明電路特性清楚明了了大型復(fù)雜的電路模大型復(fù)雜的電路模塊設(shè)
19、計(jì)塊設(shè)計(jì)進(jìn)展綜合效率相對(duì)較進(jìn)展綜合效率相對(duì)較低低行為描畫行為描畫西安電子科技大學(xué) 信號(hào)賦值符信號(hào)賦值符 “= 表達(dá)式中的等號(hào)表達(dá)式中的等號(hào)“=沒沒有賦值的含義,只是一種數(shù)有賦值的含義,只是一種數(shù)據(jù)比較符號(hào)。據(jù)比較符號(hào)。 1.3 賦值符號(hào)和數(shù)據(jù)比較符號(hào)賦值符號(hào)和數(shù)據(jù)比較符號(hào) 1 多路選擇器的多路選擇器的VHDL描畫描畫例例1.1VHDL描畫中出現(xiàn)的相關(guān)語句構(gòu)造和語法闡明描畫中出現(xiàn)的相關(guān)語句構(gòu)造和語法闡明 ARCHITECTURE one OF mux21 ISBEGIN PROCESS (a,b,s) BEGIN IF s = 0 THEN y = a ; ELSE y = b ; END IF
20、; END PROCESS;END ARCHITECTURE one ; 西安電子科技大學(xué)1.4 邏輯操作符邏輯操作符 1 多路選擇器的多路選擇器的VHDL描畫描畫例例1.1VHDL描畫中出現(xiàn)的相關(guān)語句構(gòu)造和語法闡明描畫中出現(xiàn)的相關(guān)語句構(gòu)造和語法闡明y = (a AND (NOT s) OR (b AND s) ; ARCHITECTURE behave OF mux21 ISBEGINEND behave; VHDL共有共有7種根本邏輯操作符:種根本邏輯操作符: AND(與與)、OR(或或)、NOT(取反、取反、NAND (與非與非)、 NOR(或非或非)、XOR(異或異或)、XNOR(同或
21、同或) 要求數(shù)據(jù)類型:要求數(shù)據(jù)類型: BIT BOOLEAN STD_LOGIC西安電子科技大學(xué)ARCHITECTURE one OF mux21 IS BEGIN y = a WHEN s = 0 ELSE b ;END ARCHITECTURE one ; 1.5 WHEN_ELSE條件信號(hào)賦值語句條件信號(hào)賦值語句 1 多路選擇器的多路選擇器的VHDL描畫描畫例例1.1VHDL描畫中出現(xiàn)的相關(guān)語句構(gòu)造和語法闡明描畫中出現(xiàn)的相關(guān)語句構(gòu)造和語法闡明賦值目的賦值目的 = 表達(dá)式表達(dá)式 WHEN 賦值條件賦值條件 ELSE 表達(dá)式表達(dá)式 WHEN 賦值條件賦值條件 ELSE 表達(dá)式表達(dá)式 ; 西安
22、電子科技大學(xué)在在VHDL中,一切的順序語句,如中,一切的順序語句,如“IF_THEN_ELSE_END IF,都必需放在由都必需放在由“PROCESSEND PROCESS引導(dǎo)的進(jìn)程構(gòu)造中。引導(dǎo)的進(jìn)程構(gòu)造中。 在一個(gè)構(gòu)造體在一個(gè)構(gòu)造體ARCHITECTURE中可以包含恣意個(gè)進(jìn)程語句,中可以包含恣意個(gè)進(jìn)程語句,一切的進(jìn)程語句都是并行語句,而進(jìn)程一切的進(jìn)程語句都是并行語句,而進(jìn)程PROCESS引導(dǎo)的內(nèi)部語句構(gòu)造引導(dǎo)的內(nèi)部語句構(gòu)造屬于順序語句。屬于順序語句。1.4 進(jìn)程語句和順序語句進(jìn)程語句和順序語句 1 多路選擇器的多路選擇器的VHDL描畫描畫例例1.1VHDL描畫中出現(xiàn)的相關(guān)語句構(gòu)造和語法闡明描
23、畫中出現(xiàn)的相關(guān)語句構(gòu)造和語法闡明西安電子科技大學(xué)1 小結(jié)小結(jié)在在2選選1的的VHDL描畫中出現(xiàn)的言語景象歸納:描畫中出現(xiàn)的言語景象歸納:實(shí)體:實(shí)體: Entity構(gòu)造體:構(gòu)造體:Architecture端口定義:端口定義: Port( )端口方式:端口方式:In/Out/Inout數(shù)據(jù)類型:數(shù)據(jù)類型:Bit、Std_Logic信號(hào)賦值符:信號(hào)賦值符:=條件比較符:條件比較符:=邏輯操作符:邏輯操作符:ANDIF條件語句:條件語句:IFEND IF并行條件語句:并行條件語句:WHENELSE進(jìn)程語句:進(jìn)程語句:ProcessEnd Process順序語句:由進(jìn)程語句引導(dǎo)順序語句:由進(jìn)程語句引導(dǎo)并
24、行語句:簡單賦值語句并行語句:簡單賦值語句 when.else語句語句 with .select語句語句西安電子科技大學(xué)補(bǔ)充 WITH . SELECT 語句 用WITH . SELECT語句描畫2選1多路選擇器ENTITY mux21 IS PORT a, b : IN STD_LOGIC; S : IN STD_LOGIC; y : OUT STD_LOGIC); END mux21; ARCHITECTURE one OF mux21 ISBEGIN WITH s SELECT y = a WHEN 0; b WHEN OTHERS ;END one ; 西安電子科技大學(xué)2 時(shí)序電路的時(shí)
25、序電路的VHDL描畫描畫例例2.1 D觸發(fā)器的觸發(fā)器的VHDL描畫描畫 最簡單、最具有代表性的時(shí)序電路是最簡單、最具有代表性的時(shí)序電路是D觸發(fā)器。對(duì)觸發(fā)器。對(duì)D觸發(fā)觸發(fā)器的描畫包含了器的描畫包含了VHDL對(duì)時(shí)序電路的最根本和典型的表達(dá)方對(duì)時(shí)序電路的最根本和典型的表達(dá)方式,也包含了式,也包含了VHDL中許多最具特征的言語景象。中許多最具特征的言語景象。實(shí)體實(shí)體Entity 電路功能描畫電路功能描畫構(gòu)造體構(gòu)造體Architecture?DCLKQDFF1例例2.1 D觸發(fā)器的觸發(fā)器的VHDL描畫描畫 VHDL電路描畫與設(shè)電路描畫與設(shè)計(jì)平臺(tái)和硬件實(shí)現(xiàn)對(duì)象計(jì)平臺(tái)和硬件實(shí)現(xiàn)對(duì)象 (組組合或時(shí)序邏輯合或時(shí)
26、序邏輯) 無關(guān)。無關(guān)。DCLKQDFF1例例2.1中中D觸發(fā)器的觸發(fā)器的VHDL描畫的言語景象闡明描畫的言語景象闡明 2.1 完好完好VHDL程序根本構(gòu)成程序根本構(gòu)成VHDL設(shè)計(jì)設(shè)計(jì)VHDL文件文件庫和程序包庫和程序包 聲明在設(shè)計(jì)或?qū)嶓w中將用到的常數(shù),數(shù)據(jù)類聲明在設(shè)計(jì)或?qū)嶓w中將用到的常數(shù),數(shù)據(jù)類型,元件及子程序等型,元件及子程序等實(shí)體實(shí)體Entities 聲明到其實(shí)體及聲明到其實(shí)體及其設(shè)計(jì)的接口,即定其設(shè)計(jì)的接口,即定義本設(shè)計(jì)的輸入義本設(shè)計(jì)的輸入/出端出端口口構(gòu)造體構(gòu)造體Architectures 定義了實(shí)體的實(shí)現(xiàn)。定義了實(shí)體的實(shí)現(xiàn)。即電路功能的詳細(xì)描畫即電路功能的詳細(xì)描畫西安電子科技大學(xué) 程
27、序包:定義了一組數(shù)據(jù)類型闡明、常量闡明、元件闡明和子程程序包:定義了一組數(shù)據(jù)類型闡明、常量闡明、元件闡明和子程序闡明。以供其它多個(gè)設(shè)計(jì)實(shí)體援用。序闡明。以供其它多個(gè)設(shè)計(jì)實(shí)體援用。 庫:是專門存放預(yù)先編譯好的程序包的地方,這樣它們庫:是專門存放預(yù)先編譯好的程序包的地方,這樣它們就可以在其它設(shè)計(jì)中被調(diào)用。就可以在其它設(shè)計(jì)中被調(diào)用。 庫庫/程序包就是為了使一組類型闡明,常量闡明和子程程序包就是為了使一組類型闡明,常量闡明和子程序闡明對(duì)多個(gè)設(shè)計(jì)實(shí)體都成為可見的而提供的一種構(gòu)造。它序闡明對(duì)多個(gè)設(shè)計(jì)實(shí)體都成為可見的而提供的一種構(gòu)造。它們好像們好像C言語中的言語中的*.h文件,定義了一些類型闡明,函數(shù)一文件
28、,定義了一些類型闡明,函數(shù)一樣。樣。西安電子科技大學(xué) 例如:例如: LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; USE IEEE.std_logic_unsigned.ALL; IEEE是是IEEE規(guī)范庫的標(biāo)志名,兩個(gè)規(guī)范庫的標(biāo)志名,兩個(gè)USE語句使得以語句使得以下設(shè)計(jì)可運(yùn)用程序包下設(shè)計(jì)可運(yùn)用程序包std_logic_1164, std_logic_unsigned中中一切預(yù)定義的內(nèi)容,如一切預(yù)定義的內(nèi)容,如std_logic,in,out的定義等。的定義等。格式:格式: LIBRARY ; USE .ALL;西安電子科技大學(xué)西安電子科技大學(xué)2.2 規(guī)
29、范邏輯位數(shù)據(jù)類型規(guī)范邏輯位數(shù)據(jù)類型STD_LOGIC ENTITY DFF1 IS - 端口聲明端口聲明 PORT (CLK, D : IN STD_LOGIC ; Q : OUT STD_LOGIC );END ENTITY DFF1;ENTITY mux21 IS PORT (a, b, : IN BIT ; S : IN BIT ; y : OUT BIT ); END ENTITY mux21 ; 西安電子科技大學(xué)2.3 信號(hào)定義和數(shù)據(jù)對(duì)象信號(hào)定義和數(shù)據(jù)對(duì)象 信號(hào)的運(yùn)用和定義范圍是實(shí)體、構(gòu)造體和程序包,在進(jìn)程和子信號(hào)的運(yùn)用和定義范圍是實(shí)體、構(gòu)造體和程序包,在進(jìn)程和子程序的順序語句中不允
30、許定義信號(hào)。只需信號(hào)才干把進(jìn)程外的信程序的順序語句中不允許定義信號(hào)。只需信號(hào)才干把進(jìn)程外的信息帶入進(jìn)程內(nèi)部,或?qū)⑦M(jìn)程內(nèi)的信息帶出進(jìn)程息帶入進(jìn)程內(nèi)部,或?qū)⑦M(jìn)程內(nèi)的信息帶出進(jìn)程西安電子科技大學(xué)2.3 信號(hào)定義和數(shù)據(jù)對(duì)象信號(hào)定義和數(shù)據(jù)對(duì)象 在在VHDL中,變量是一個(gè)部分量,作為暫時(shí)的數(shù)據(jù)存儲(chǔ)單元,中,變量是一個(gè)部分量,作為暫時(shí)的數(shù)據(jù)存儲(chǔ)單元,只能在進(jìn)程和子程序的順序語句中運(yùn)用。變量定義中的初始值僅對(duì)只能在進(jìn)程和子程序的順序語句中運(yùn)用。變量定義中的初始值僅對(duì)仿真有效,實(shí)踐的綜合器并不支持設(shè)置初始值。仿真有效,實(shí)踐的綜合器并不支持設(shè)置初始值。西安電子科技大學(xué)2.3 信號(hào)定義和數(shù)據(jù)對(duì)象信號(hào)定義和數(shù)據(jù)對(duì)象
31、常量的定義主要是為了程序更容易閱讀和修正。在一切的常量的定義主要是為了程序更容易閱讀和修正。在一切的VHDL構(gòu)造中都可以定義常量,照實(shí)體、構(gòu)造體、程序包、進(jìn)程和構(gòu)造中都可以定義常量,照實(shí)體、構(gòu)造體、程序包、進(jìn)程和子程序等。常量是一個(gè)恒定不變的值。子程序等。常量是一個(gè)恒定不變的值。西安電子科技大學(xué)2.4 上升沿檢測表達(dá)式和信號(hào)屬性函數(shù)上升沿檢測表達(dá)式和信號(hào)屬性函數(shù)EVENT PROCESS (CLK) - 進(jìn)程進(jìn)程 BEGIN IF CLKEVENT AND CLK = 1 THEN Q1 = D ; END IF; END PROCESS ;邊沿檢測語句邊沿檢測語句2.5 不完好條件語句與時(shí)序
32、電路不完好條件語句與時(shí)序電路 CLKEVENT AND CLK = 1YesNoQ1 = D ; ? ARCHITECTURE one OF mux21 ISBEGIN PROCESS (a,b,s) BEGIN IF s = 0 THEN y = a ; ELSE y = b ; END IF; END PROCESS;END ARCHITECTURE one ; -a,b,s 為敏感信號(hào)表為敏感信號(hào)表S=0YesNoy = a;y b1 THEN q1 = 1 ; ELSIF a1 b1 THEN q1 b1 THEN q1 = 1 ; ELSE q1 = 0 ; END IF; END
33、PROCESS ;END ;EDA軟件綜合結(jié)果軟件綜合結(jié)果西安電子科技大學(xué)2.6 實(shí)現(xiàn)時(shí)序電路的實(shí)現(xiàn)時(shí)序電路的VHDL不同表述不同表述 .PROCESS (CLK) BEGIN IF CLKEVENT AND (CLK=1) AND (CLKLAST_VALUE=0) THEN Q = D ; -確保確保CLK的變化是一次上升沿的跳變的變化是一次上升沿的跳變 END IF; END PROCESS ; .PROCESS (CLK)BEGIN - 同上同上 IF CLK=1 AND CLKLAST_VALUE=0 THEN Q = D ; END IF; END PROCESS ; 2.6 實(shí)現(xiàn)
34、時(shí)序電路的實(shí)現(xiàn)時(shí)序電路的VHDL不同表述不同表述 LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ;ENTITY DFF3 IS PORT (CLK,D : IN STD_LOGIC ; Q : OUT STD_LOGIC ); END ; ARCHITECTURE bhv OF DFF3 IS SIGNAL Q1 : STD_LOGIC; BEGIN PROCESS (CLK) BEGIN IF rising_edge(CLK) THEN Q1 = D ; END IF; END PROCESS ; Q = Q1 ; END ; 西安電子科技大學(xué).PROC
35、ESS BEGIN wait until CLK = 1 ; Q = D ;END PROCESS; 2.6 實(shí)現(xiàn)時(shí)序電路的實(shí)現(xiàn)時(shí)序電路的VHDL不同表述不同表述 西安電子科技大學(xué).PROCESS (CLK)BEGIN IF CLK = 1 THEN Q = D ; END IF; END PROCESS ; 上升沿觸發(fā)上升沿觸發(fā)DFF的仿真波形:的仿真波形:2.6 實(shí)現(xiàn)時(shí)序電路的實(shí)現(xiàn)時(shí)序電路的VHDL不同表述不同表述 西安電子科技大學(xué).PROCESS (CLK,D) BEGIN IF CLK = 1 THEN Q = D ; END IF; END PROCESS ; 電平觸發(fā)電平觸發(fā)DFF
36、的仿真波形:的仿真波形:2.6 實(shí)現(xiàn)時(shí)序電路的實(shí)現(xiàn)時(shí)序電路的VHDL不同表述不同表述 西安電子科技大學(xué)2 小結(jié)小結(jié)西安電子科技大學(xué)3 更復(fù)雜電路的更復(fù)雜電路的VHDL描畫描畫CLKQn 時(shí)序電路中,普通計(jì)數(shù)器的輸入時(shí)序電路中,普通計(jì)數(shù)器的輸入/輸出信號(hào)包括:輸出信號(hào)包括:?EntityArchitecture電路設(shè)計(jì)電路設(shè)計(jì)3.1 計(jì)數(shù)器的計(jì)數(shù)器的VHDL描畫描畫ENTITY CNT4 IS PORT ( CLK : IN BIT ; Q : BUFFER INTEGER range 15 downto 0 ) ; END CNT4; ARCHITECTURE bhv OF CNT4 IS B
37、EGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q = Q + 1 ; END IF; END PROCESS ;END bhv; 【例【例1】: 4位二進(jìn)制加法計(jì)數(shù)器位二進(jìn)制加法計(jì)數(shù)器CLKQnENTITY CNT4 IS PORT ( CLK : IN BIT ; Q : BUFFER INTEGER range 15 downto 0 ) ; END CNT4; ARCHITECTURE bhv OF CNT4 IS BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q
38、 = Q + 1 ; -如何了解?如何了解? END IF; END PROCESS ;END bhv; 【例【例1】: 4位二進(jìn)制加法計(jì)數(shù)器位二進(jìn)制加法計(jì)數(shù)器西安電子科技大學(xué)1 十進(jìn)制整數(shù)十進(jìn)制整數(shù)35 十進(jìn)制整數(shù)十進(jìn)制整數(shù)10E3 十進(jìn)制整數(shù)十進(jìn)制整數(shù)16#D9# 十六進(jìn)制整數(shù)十六進(jìn)制整數(shù)8#562# 八進(jìn)制整數(shù)八進(jìn)制整數(shù)2#11001001# 二進(jìn)制整數(shù)二進(jìn)制整數(shù)整數(shù)的表達(dá)不加引整數(shù)的表達(dá)不加引號(hào),而邏輯位的數(shù)號(hào),而邏輯位的數(shù)據(jù)必需加引號(hào),如據(jù)必需加引號(hào),如1、0、“101。整數(shù)整數(shù)Integer類型類型VHDL中整數(shù)常量的書寫方式:中整數(shù)常量的書寫方式:西安電子科技大學(xué)3.2 計(jì)數(shù)器設(shè)
39、計(jì)的其他表述方法計(jì)數(shù)器設(shè)計(jì)的其他表述方法LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; USE IEEE.STD_LOGIC_UNSIGNED.ALL ; - 運(yùn)算符重載運(yùn)算符重載ENTITY CNT4 IS PORT ( CLK : IN STD_LOGIC ; Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ) ; END ENTITY CNT4; ARCHITECTURE bhv OF CNT4 IS SIGNAL Q1 : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS (CLK)
40、 BEGIN IF CLKEVENT AND CLK = 1 THEN Q1 = Q1 + 1 ; -“+ 運(yùn)算符重載運(yùn)算符重載 END IF; END PROCESS ; Q = Q1 ;END ARCHITECTURE bhv; 西安電子科技大學(xué)3.2 計(jì)數(shù)器設(shè)計(jì)的其他表述方法計(jì)數(shù)器設(shè)計(jì)的其他表述方法LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; USE IEEE.STD_LOGIC_UNSIGNED.ALL ; - 運(yùn)算符重載運(yùn)算符重載ENTITY CNT4 IS PORT ( CLK : IN STD_LOGIC ; Q : OUT STD_L
41、OGIC_VECTOR(3 DOWNTO 0) ) ; END ENTITY CNT4; ARCHITECTURE bhv OF CNT4 IS SIGNAL Q1 : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q1 = Q1 + 1 ; -“+ 運(yùn)算符重載運(yùn)算符重載 END IF; END PROCESS ; Q = Q1 ;END ARCHITECTURE bhv; EDA軟件綜合結(jié)果軟件綜合結(jié)果組合電路加組合電路加1邏輯邏輯4位二進(jìn)制位二進(jìn)制鎖存器鎖存器輸出反輸出
42、反響響鎖存時(shí)鎖存時(shí)鐘鐘西安電子科技大學(xué)3.2 計(jì)數(shù)器設(shè)計(jì)的其他表述方法計(jì)數(shù)器設(shè)計(jì)的其他表述方法LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; USE IEEE.STD_LOGIC_UNSIGNED.ALL ; - 運(yùn)算符重載運(yùn)算符重載ENTITY CNT4 IS PORT ( CLK : IN STD_LOGIC ; Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ) ; END ENTITY CNT4; ARCHITECTURE bhv OF CNT4 IS SIGNAL Q1 : STD_LOGIC_VECTOR(3 DO
43、WNTO 0);BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q1 = Q1 + 1 ; -“+ 運(yùn)算符重載運(yùn)算符重載 END IF; END PROCESS ; Q 0); -計(jì)數(shù)器復(fù)位高有效計(jì)數(shù)器復(fù)位高有效 ELSIF (clkEVENT AND clk = 1) THEN -檢測時(shí)鐘上升沿檢測時(shí)鐘上升沿 IF (en=1) THEN -檢測能否允許計(jì)數(shù)不完全條件語句檢測能否允許計(jì)數(shù)不完全條件語句 IF cqi 9 THEN cqi :=cqi+1; -允許計(jì)數(shù),且計(jì)數(shù)允許計(jì)數(shù),且計(jì)數(shù)0); -計(jì)數(shù)形狀計(jì)數(shù)形狀=9,下一形狀清
44、零,下一形狀清零 END IF; END IF; END IF; IF cqi = 9 THEN co = 1; -計(jì)數(shù)形狀計(jì)數(shù)形狀=9,輸出進(jìn)位信號(hào),輸出進(jìn)位信號(hào) ELSE co =0; END IF; qcnt 0); -計(jì)數(shù)器復(fù)位高有效計(jì)數(shù)器復(fù)位高有效 ELSIF (clkEVENT AND clk = 1) THEN -檢測時(shí)鐘上升沿檢測時(shí)鐘上升沿 IF (en=1) THEN -檢測能否允許計(jì)數(shù)不完全條件語句檢測能否允許計(jì)數(shù)不完全條件語句 IF cqi 9 THEN cqi :=cqi+1; -允許計(jì)數(shù),且計(jì)數(shù)允許計(jì)數(shù),且計(jì)數(shù)0); -計(jì)數(shù)形狀計(jì)數(shù)形狀=9,下一形狀清零,下一形狀清零
45、 END IF; END IF; END IF; IF cqi = 9 THEN co = 1; -計(jì)數(shù)形狀計(jì)數(shù)形狀=9,輸出進(jìn)位信號(hào),輸出進(jìn)位信號(hào) ELSE co =0; END IF; qcnt = cqi; -將計(jì)數(shù)值輸出到端口將計(jì)數(shù)值輸出到端口 END PROCESS;END behave;10進(jìn)制計(jì)數(shù)器時(shí)序波形仿真結(jié)果進(jìn)制計(jì)數(shù)器時(shí)序波形仿真結(jié)果西安電子科技大學(xué)VARIABLE cqi : STD_LOGIC_VECTOR(3 DOWNTO 0) ; SIGNAL d1 : STD_LOGIC_VECTOR(4 DOWNTO 0); VARIABLE a1 : STD_LOGIC_VE
46、CTOR(15 DOWNTO 0); . d1 0); a1 := (OTHERS=0) ; 西安電子科技大學(xué)3.3 不同任務(wù)方式的時(shí)序電路設(shè)計(jì)不同任務(wù)方式的時(shí)序電路設(shè)計(jì) library ieee;use ieee.std_logic_1164.all;ENTITY shifter IS-實(shí)體聲明實(shí)體聲明 PORT( clk, load : IN std_logic; din : IN std_logic_vector(7 downto 0); qb : OUT std_logic);END ENTITY shifter;ARCHITECTURE behave OF shifter IS -構(gòu)
47、造體描畫構(gòu)造體描畫BEGIN PROCESS (clk,load) VARIABLE reg8 : std_logic_vector(7 downto 0); BEGIN IF clkEVENT AND clk = 1 THEN IF load=1 THEN reg8 :=din; -由由LOAD=1裝載新數(shù)據(jù)裝載新數(shù)據(jù) ELSE - load=0, 移位操作移位操作 reg8(6 downto 0) :=reg8 (7 downto 1); END IF; END IF; qb = reg8(0) ; - 串行輸出最低位串行輸出最低位 END PROCESS; END ARCHITECTUR
48、E behave;移位存放器時(shí)序波形仿真結(jié)果移位存放器時(shí)序波形仿真結(jié)果西安電子科技大學(xué)3.4 1位二進(jìn)制全加器的位二進(jìn)制全加器的VHDL描畫描畫 1位二進(jìn)制全加器引腳圖位二進(jìn)制全加器引腳圖1位二進(jìn)制全加器實(shí)現(xiàn)原理圖位二進(jìn)制全加器實(shí)現(xiàn)原理圖1位二進(jìn)制位二進(jìn)制半加器半加器西安電子科技大學(xué)3.4.1 半加器的半加器的VHDL描畫描畫 1001010110001100cosoba半加器真值表半加器真值表 coasobnotxnor2and2半加器電路圖半加器電路圖3.4 1位二進(jìn)制全加器的位二進(jìn)制全加器的VHDL描畫描畫 so=?co=?-半加器描畫半加器描畫(1):布爾方程描畫方法:布爾方程描畫方法
49、LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS -實(shí)體聲明實(shí)體聲明 PORT (a, b : IN STD_LOGIC; co, so : OUT STD_LOGIC); END ENTITY h_adder; ARCHITECTURE fh1 OF h_adder is BEGIN so = NOT (a XOR (NOT b) ; co = a AND b ; END ARCHITECTURE fh1; 3.4.1 半加器的半加器的VHDL描畫描畫 -半加器描畫半加器描畫(2):真值表描畫方法:真值表描畫方法1 -這
50、里省略庫和實(shí)體聲明部分這里省略庫和實(shí)體聲明部分ARCHITECTURE fh1 OF h_adder is SIGNAL abc : STD_LOGIC_VECTOR(1 DOWNTO 0) ; BEGIN abc so=0; co so=1; co so=1; co so=0; co NULL ; END CASE; END PROCESS; END ARCHITECTURE fh1 ; VHDL描畫中的根本構(gòu)造與語法:描畫中的根本構(gòu)造與語法:VHDL運(yùn)算符運(yùn)算符 &:銜接運(yùn)算符:銜接運(yùn)算符 &銜接,將兩個(gè)對(duì)象或矢量銜接成維數(shù)更大銜接,將兩個(gè)對(duì)象或矢量銜接成維數(shù)更大的矢量的矢
51、量, 它可給代碼書寫帶來方便。它可給代碼書寫帶來方便。 例如,為表達(dá)例如,為表達(dá)a=1 and b=0 and c=1概念,可定義一個(gè)變量:概念,可定義一個(gè)變量: vabc=a & b & c;那么可用;那么可用 vabc=“101表達(dá)上述內(nèi)容。表達(dá)上述內(nèi)容。-半加器描畫半加器描畫(3):真值表描畫方法:真值表描畫方法2 -這里省略庫和實(shí)體聲明部分這里省略庫和實(shí)體聲明部分ARCHITECTURE fh1 OF h_adder IS SIGNAL abc, cso : std_logic_vector(1 downto 0) ;BEGIN abc = a & b; co
52、= cso(1) ; so cso cso cso cso null ; -或或“00 END CASE; END PROCESS;END fh1;西安電子科技大學(xué)-“或門邏輯描畫或門邏輯描畫LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL; -庫、函數(shù)包調(diào)庫、函數(shù)包調(diào)用用ENTITY or2a IS -實(shí)體聲明實(shí)體聲明 PORT (a, b : IN STD_LOGIC; c : OUT STD_LOGIC );END ENTITY or2a;ARCHITECTURE one OF or2a IS -構(gòu)造體描畫構(gòu)造體描畫 BEGIN c = a OR b
53、;END ARCHITECTURE one ; 3.4.2 “或門邏輯的或門邏輯的VHDL描畫描畫 3.4.3 1位二進(jìn)制全加器的位二進(jìn)制全加器的VHDL描畫描畫 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_adder IS -實(shí)體實(shí)體f_adder描畫描畫 PORT (ain,bin,cin: IN STD_LOGIC; cout,sum:OUT STD_LOGIC); END f_adder;ARCHITECTURE fd1 OF f_adder IS -構(gòu)造體描畫構(gòu)造體描畫 COMPONENT h_adder -半加器元件調(diào)用聲明半
54、加器元件調(diào)用聲明 PORT (a,b: IN STD_LOGIC; co,so: OUT STD_LOGIC); END COMPONENT;VHDL描畫中的根本構(gòu)造與語法:描畫中的根本構(gòu)造與語法:STD_LOGIC_VECTOR STD_LOGIC 在運(yùn)用在運(yùn)用STD_LOGIC_VECTOR中,必需注明其數(shù)組寬度,即位寬,如:中,必需注明其數(shù)組寬度,即位寬,如: B : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) ; SIGNAL A :STD_LOGIC_VECTOR (1 TO 4) ; B = 01100011 ; - B(7)為為 0 B(4 DOWNTO
55、1) = “0001 ; - B(4)為為 0 B(7 DOWNTO 4) = A ; - B(6)等于等于 A(2) SIGNAL a : STD_LOGIC_VECTOR (3 DOWNTO 0) ;SIGNAL d : STD_LOGIC_VECTOR (1 DOWNTO 0) ;. a 銜接端口名,銜接端口名,.); U1:h_adder PORT MAP(a=ain, b=bin, co=d, so=e);西安電子科技大學(xué)1、形狀機(jī)分類:、形狀機(jī)分類:按輸出按輸出方式分方式分Mealy型型Moore型型輸出僅為當(dāng)前形狀的函輸出僅為當(dāng)前形狀的函數(shù)數(shù)輸出是當(dāng)前形狀和輸入輸出是當(dāng)前形狀和輸
56、入的函數(shù)的函數(shù)按構(gòu)按構(gòu)造分造分單單 進(jìn)進(jìn) 程程多多 進(jìn)進(jìn) 程程主進(jìn)程和輔進(jìn)程合一主進(jìn)程和輔進(jìn)程合一分時(shí)序、組合主進(jìn)程,分時(shí)序、組合主進(jìn)程,輔助進(jìn)程輔助進(jìn)程4 有限形狀機(jī)設(shè)計(jì)有限形狀機(jī)設(shè)計(jì) 4.1 普通有限形狀機(jī)的設(shè)計(jì)普通有限形狀機(jī)的設(shè)計(jì) 時(shí)序電路可以稱為有限形狀機(jī)時(shí)序電路可以稱為有限形狀機(jī)(Finite State Machine, FSM),以此命名的緣由是可以運(yùn)用有,以此命名的緣由是可以運(yùn)用有限數(shù)量的形狀表示時(shí)序電路的功能行為。限數(shù)量的形狀表示時(shí)序電路的功能行為。西安電子科技大學(xué)按形狀按形狀表達(dá)分表達(dá)分符號(hào)形狀機(jī)符號(hào)形狀機(jī)確定編碼形狀機(jī)確定編碼形狀機(jī)S0,S1,S2,000,001,010
57、, 按編碼按編碼方式分方式分順序編碼順序編碼一位熱碼一位熱碼二進(jìn)制順序編碼等二進(jìn)制順序編碼等00001,00010,00100, 其它編碼其它編碼格雷碼,循環(huán)碼,等格雷碼,循環(huán)碼,等4 有限形狀機(jī)設(shè)計(jì)有限形狀機(jī)設(shè)計(jì)西安電子科技大學(xué)2、用戶自定義數(shù)據(jù)類型、用戶自定義數(shù)據(jù)類型4 有限形狀機(jī)設(shè)計(jì)有限形狀機(jī)設(shè)計(jì)4.1 普通有限形狀機(jī)的設(shè)計(jì)普通有限形狀機(jī)的設(shè)計(jì)TYPE 數(shù)據(jù)類型名數(shù)據(jù)類型名 IS 數(shù)據(jù)類型定義;數(shù)據(jù)類型定義;例如:例如:TYPE m_state IS (st0,st1,st2,st3,st4,st5);SIGNAL present_state,next_state : m_state;西
58、安電子科技大學(xué)3、普通形狀機(jī)的設(shè)計(jì)、普通形狀機(jī)的設(shè)計(jì)a、闡明部分、闡明部分例如:例如: SIGNAL current_state,next_state : m_state; ARCHITECTURE beh OF s_machine IS TYPE m_state IS (st0,st1,st2,st3,st4,st5);4 有限形狀機(jī)設(shè)計(jì)有限形狀機(jī)設(shè)計(jì)4.1 普通有限形狀機(jī)的設(shè)計(jì)普通有限形狀機(jī)的設(shè)計(jì)b、主控時(shí)序進(jìn)程、主控時(shí)序進(jìn)程 該部分是在CLK控制下,進(jìn)展形狀轉(zhuǎn)換: current_state = next_state ;c、主控組合進(jìn)程、主控組合進(jìn)程 該部分是確定該部分是確定curren
59、t_state,next_state的取值,的取值,為時(shí)序進(jìn)程提供參數(shù);進(jìn)展形狀轉(zhuǎn)換條件的斷定;進(jìn)為時(shí)序進(jìn)程提供參數(shù);進(jìn)展形狀轉(zhuǎn)換條件的斷定;進(jìn)展輸出斷定。展輸出斷定。d、輔助進(jìn)程、輔助進(jìn)程 該部分是配合主控時(shí)序進(jìn)程或主控組合進(jìn)程,完該部分是配合主控時(shí)序進(jìn)程或主控組合進(jìn)程,完成某種算法、輸出數(shù)據(jù)鎖存等。成某種算法、輸出數(shù)據(jù)鎖存等。西安電子科技大學(xué)RSTS0/5S2/12S3/14S1/80000elseelseelse1111else State_inputsState/outputclkresetState inputs24Comb_outputs形狀機(jī)4 有限形狀機(jī)設(shè)計(jì)有限形狀機(jī)設(shè)計(jì)4.2
60、 雙進(jìn)程雙進(jìn)程Moore型有限形狀機(jī)的設(shè)計(jì)型有限形狀機(jī)的設(shè)計(jì)Library ieee; Use ieee.std_logic_1164.all;Entity s_machine is Port ( clk, reset : in std_logic; State_inputs : in std_logic_vector(0 to 1); comb_outputs : out integer range 0 to 15); End s_machine; Architecture behv of s_machine is type fsm_st is (s0,s1,s2,s3); clkresetState inputs24Comb
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 吉林藝術(shù)學(xué)院《影視照明技術(shù)》2021-2022學(xué)年第一學(xué)期期末試卷
- 吉林藝術(shù)學(xué)院《書法實(shí)訓(xùn)I》2021-2022學(xué)年第一學(xué)期期末試卷
- 吉林藝術(shù)學(xué)院《剪輯基礎(chǔ)》2021-2022學(xué)年第一學(xué)期期末試卷
- 2024年供熱管網(wǎng)互聯(lián)互通協(xié)議書模板
- 吉林師范大學(xué)《中國東北史》2021-2022學(xué)年第一學(xué)期期末試卷
- 2024年大型綠植售賣合同范本
- 2024年大廠員工合同范本
- 娛樂場營銷合同協(xié)議書范文范本
- (浙教2024版)科學(xué)七年級(jí)上冊(cè)3.2 太陽系的組成與結(jié)構(gòu) 課件(共2課時(shí))
- 吉林師范大學(xué)《外國古代教育史》2021-2022學(xué)年第一學(xué)期期末試卷
- JGJ48-2014 商店建筑設(shè)計(jì)規(guī)范
- 病原微生物實(shí)驗(yàn)室生物安全管理培訓(xùn)考核試題
- 健康宣教的方法與技巧課件
- 當(dāng)代社會(huì)政策分析 課件 第七章 老年社會(huì)政策
- 2024年湖北聯(lián)投集團(tuán)有限公司校園招聘考試試題各版本
- 《無人機(jī)駕駛航空試驗(yàn)基地(試驗(yàn)區(qū))基礎(chǔ)設(shè)施建設(shè)規(guī)范(征求意見稿)》
- 人教版三年級(jí)英語上冊(cè)期中模擬考試【帶答案】
- MOOC 藥物代謝動(dòng)力學(xué)-中國藥科大學(xué) 中國大學(xué)慕課答案
- 供應(yīng)鏈協(xié)同規(guī)劃:整合供應(yīng)鏈資源、提高供應(yīng)鏈效率
- 水利工程運(yùn)維水利工程運(yùn)行和日常維修養(yǎng)護(hù)方案
- 2024上海市標(biāo)準(zhǔn)房屋租賃合同官方版
評(píng)論
0/150
提交評(píng)論