PLD應(yīng)用VHDL3-3_第1頁(yè)
PLD應(yīng)用VHDL3-3_第2頁(yè)
PLD應(yīng)用VHDL3-3_第3頁(yè)
PLD應(yīng)用VHDL3-3_第4頁(yè)
PLD應(yīng)用VHDL3-3_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/21第三節(jié)第三節(jié) VHDLVHDL基本結(jié)構(gòu)基本結(jié)構(gòu) 3.1 塊、子程序和進(jìn)程塊、子程序和進(jìn)程 3.2 庫(kù)和程序包庫(kù)和程序包 3.3 配置配置 3.4 VHDL描述風(fēng)格描述風(fēng)格湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/22回顧:回顧: 結(jié)構(gòu)體功能描述語(yǔ)句結(jié)構(gòu)體功能描述語(yǔ)句 結(jié)構(gòu)體功能描述語(yǔ)句位于結(jié)構(gòu)體功能描述語(yǔ)句位于BEGIN和和END之間,之間,具體地描述了構(gòu)造體的行為及其連接關(guān)系。結(jié)構(gòu)具體地描述了構(gòu)造體的行為及其連接關(guān)系。結(jié)構(gòu)體的功能描述語(yǔ)句可以含有體的功能描述語(yǔ)句可以含有5種不同類型的并行種不同類型的并行語(yǔ)句,如圖所示。每一語(yǔ)句

2、結(jié)構(gòu)內(nèi)部可以使用并語(yǔ)句,如圖所示。每一語(yǔ)句結(jié)構(gòu)內(nèi)部可以使用并行語(yǔ)句,也可以是順序語(yǔ)句。行語(yǔ)句,也可以是順序語(yǔ)句。 湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/23結(jié)構(gòu)體( ARCHITECTURE)說明語(yǔ)句功能描述語(yǔ)句塊語(yǔ)句(BLOCK)進(jìn)程語(yǔ)句(PROCESS)信號(hào)賦值語(yǔ)句子程序調(diào)用語(yǔ)句元件例化語(yǔ)句結(jié)構(gòu)體構(gòu)造圖結(jié)構(gòu)體構(gòu)造圖: 湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/24圖中圖中5種功能描述語(yǔ)句的基本組成和功能分別是:種功能描述語(yǔ)句的基本組成和功能分別是:塊語(yǔ)句塊語(yǔ)句是由一系列并行語(yǔ)句構(gòu)成的組合體,它的功能是將結(jié)構(gòu)體中的并是由一系列并行語(yǔ)句構(gòu)成的組合體,它的功能是將結(jié)構(gòu)體中

3、的并行語(yǔ)句組成一個(gè)或多個(gè)子模塊。(同時(shí)執(zhí)行的語(yǔ)句行語(yǔ)句組成一個(gè)或多個(gè)子模塊。(同時(shí)執(zhí)行的語(yǔ)句)進(jìn)程語(yǔ)句進(jìn)程語(yǔ)句定義順序語(yǔ)句模塊,用以將從外部獲得的信號(hào)值或內(nèi)部運(yùn)算數(shù)定義順序語(yǔ)句模塊,用以將從外部獲得的信號(hào)值或內(nèi)部運(yùn)算數(shù)據(jù)向其他的信號(hào)進(jìn)行賦值。據(jù)向其他的信號(hào)進(jìn)行賦值。(賦值賦值)信號(hào)賦值語(yǔ)句信號(hào)賦值語(yǔ)句將設(shè)計(jì)實(shí)體內(nèi)的處理結(jié)果向定義的信號(hào)或界面端口進(jìn)行賦將設(shè)計(jì)實(shí)體內(nèi)的處理結(jié)果向定義的信號(hào)或界面端口進(jìn)行賦值。值。(賦值賦值)子程序調(diào)用語(yǔ)句子程序調(diào)用語(yǔ)句可以調(diào)用進(jìn)程或參數(shù),并將獲得的結(jié)果賦值于信號(hào)??梢哉{(diào)用進(jìn)程或參數(shù),并將獲得的結(jié)果賦值于信號(hào)。(子子程序調(diào)用程序調(diào)用) 元件例化語(yǔ)句元件例化語(yǔ)句對(duì)其他的

4、設(shè)計(jì)實(shí)體做元件調(diào)用說明,并將此元件的端口與對(duì)其他的設(shè)計(jì)實(shí)體做元件調(diào)用說明,并將此元件的端口與其他元件、信號(hào)或高層實(shí)體的界面端口進(jìn)行連接。其他元件、信號(hào)或高層實(shí)體的界面端口進(jìn)行連接。(協(xié)調(diào)協(xié)調(diào))湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/25例例: 2選選1數(shù)據(jù)選擇器數(shù)據(jù)選擇器ENTTITY mux2 ISPORT (d0,d1:IN BIT; sel:IN BIT; s:OUT BIT);); END mux2; ARCHITECTURE dataflow OF mux2 IS SIGNAL sig:BIT; BEGINSig = (d0 AND sel) OR (NOT sel AN

5、D d1);Sb) THEN tmp := a; ELSE tmp := b; END IF; RETURN tmp; END; END bpac;湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/2133.2 庫(kù)和程序包庫(kù)和程序包 庫(kù)和程序包用來描述和保留元件、類型說明函數(shù)、子程序庫(kù)和程序包用來描述和保留元件、類型說明函數(shù)、子程序等,以便在其它設(shè)計(jì)中可以隨時(shí)引用這些信息,提高設(shè)計(jì)效率。等,以便在其它設(shè)計(jì)中可以隨時(shí)引用這些信息,提高設(shè)計(jì)效率。 3.2.1 庫(kù)(庫(kù)(LIBRARY) 庫(kù)是經(jīng)編譯后的數(shù)據(jù)的集合,它存放包集合定義、實(shí)體定庫(kù)是經(jīng)編譯后的數(shù)據(jù)的集合,它存放包集合定義、實(shí)體定義、結(jié)構(gòu)定義

6、和配置定義。義、結(jié)構(gòu)定義和配置定義。 庫(kù)語(yǔ)句的格式為:庫(kù)語(yǔ)句的格式為: LIBRARY 庫(kù)名;庫(kù)名; 湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/214 USE語(yǔ)句語(yǔ)句指明庫(kù)中的程序包。一旦說明了庫(kù)和程序包,整個(gè)指明庫(kù)中的程序包。一旦說明了庫(kù)和程序包,整個(gè)設(shè)計(jì)實(shí)體都可以進(jìn)入訪問或調(diào)用,但其設(shè)計(jì)實(shí)體都可以進(jìn)入訪問或調(diào)用,但其作用范圍僅限于所說明作用范圍僅限于所說明的設(shè)計(jì)實(shí)體的設(shè)計(jì)實(shí)體。USE語(yǔ)句的使用將使所說明的程序包對(duì)本設(shè)計(jì)實(shí)語(yǔ)句的使用將使所說明的程序包對(duì)本設(shè)計(jì)實(shí)體部分或全部開放。體部分或全部開放。 USE語(yǔ)句有以下兩種常用的格式:語(yǔ)句有以下兩種常用的格式:USE 庫(kù)名庫(kù)名.程序包名程

7、序包名.項(xiàng)目名項(xiàng)目名;USE 庫(kù)名庫(kù)名.程序包名程序包名.ALL; 第一種語(yǔ)句格式的作用是向本設(shè)計(jì)實(shí)體開放指定庫(kù)中的特定第一種語(yǔ)句格式的作用是向本設(shè)計(jì)實(shí)體開放指定庫(kù)中的特定程序包內(nèi)的所選定的項(xiàng)目。程序包內(nèi)的所選定的項(xiàng)目。 第二種語(yǔ)句格式的作用是向本設(shè)計(jì)實(shí)體開放指定庫(kù)中的特第二種語(yǔ)句格式的作用是向本設(shè)計(jì)實(shí)體開放指定庫(kù)中的特定程序包內(nèi)的所有內(nèi)容。定程序包內(nèi)的所有內(nèi)容。 湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/215例如:例如: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_1164.STD_ULOGIC; 此

8、例中,第一個(gè)此例中,第一個(gè)USE語(yǔ)句表明打開語(yǔ)句表明打開IEEE庫(kù)中的庫(kù)中的STD_LOGIC_1164程序包,并使程序包中的所有公共資源對(duì)本程序包,并使程序包中的所有公共資源對(duì)本語(yǔ)句后面的語(yǔ)句后面的VHDL設(shè)計(jì)實(shí)體程序全部開放,關(guān)鍵詞設(shè)計(jì)實(shí)體程序全部開放,關(guān)鍵詞ALL代表程代表程序包中的所有資源。第二個(gè)序包中的所有資源。第二個(gè)USE語(yǔ)句開放了程序包語(yǔ)句開放了程序包STD_LOGIC_1164中的中的STD_ULOGIC數(shù)據(jù)類型。數(shù)據(jù)類型。 STD_ULOGIC :可枚舉數(shù)據(jù)類型:可枚舉數(shù)據(jù)類型湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/216 注意:注意:庫(kù)說明語(yǔ)句的作用范圍從一個(gè)實(shí)

9、體說明開始到它所屬的結(jié)構(gòu)體、庫(kù)說明語(yǔ)句的作用范圍從一個(gè)實(shí)體說明開始到它所屬的結(jié)構(gòu)體、配置為止,配置為止,當(dāng)一個(gè)源程序中當(dāng)一個(gè)源程序中出現(xiàn)兩個(gè)以上實(shí)體時(shí),兩條作為使用庫(kù)的說出現(xiàn)兩個(gè)以上實(shí)體時(shí),兩條作為使用庫(kù)的說明語(yǔ)句應(yīng)在每個(gè)設(shè)計(jì)實(shí)體說明語(yǔ)句前重復(fù)書寫。明語(yǔ)句應(yīng)在每個(gè)設(shè)計(jì)實(shí)體說明語(yǔ)句前重復(fù)書寫。 例:例:LIBRARY IEEE; -庫(kù)使用說明庫(kù)使用說明USE IEEE.STD_LOGIC_1164.ALL;ENTITY and IS END and;ARCHITECTURE dataflow OF and IS END dataflow;湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/217

10、CONFIGURATION c1 OF and IS - CONFIGURATION(配置)(配置) AND c1;LIBRARY IEEE; -庫(kù)使用說明庫(kù)使用說明 USE IEEE.STD_LOGIC_1164.ALL;ENTITY or ISCONFIGURATION c2 OF and IS AND c2;湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/2183.2.2 程序包程序包 程序包也叫包集合,主要用來存放各個(gè)設(shè)計(jì)都能共享的數(shù)據(jù)類型、子程序程序包也叫包集合,主要用來存放各個(gè)設(shè)計(jì)都能共享的數(shù)據(jù)類型、子程序說明、屬性說明和元件說明等部分。設(shè)計(jì)者使用時(shí)只要用說明、屬性說明和元件說

11、明等部分。設(shè)計(jì)者使用時(shí)只要用USE子句進(jìn)行說明子句進(jìn)行說明即可。即可。 程序包由兩部分組成:程序包首和程序包體。程序包由兩部分組成:程序包首和程序包體。 程序包的一般書寫格式如下:程序包的一般書寫格式如下:PACKAGE 程序包名程序包名 ISEND PACKAGE 程序包名;程序包名; -程序包首程序包首PACKAGE BODY 程序包名程序包名 IS -程序包體程序包體END PACKAGE BODY 程序包名程序包名; 湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/219例例:USE STD.STD_LOGIC.ALL;PACKAGE math IS TYPE tw16 IS AR

12、RAY(0 TO 15)OF STD_LOGIC; FUNCTION add (a,b:IN tw16)RETURN tw16; FUNCTION sub (a,b:IN tw16)RETURN tw16;END math;PACKAGE BODY math ISFUNCTION vect_to_int(s:tw16);); RETURN INTEGER IS VARIBLE result:INTEGER :=0; 程序包關(guān)鍵字湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/220BEGIN FOR i IN 0 TO 7 LOOP result := result*2; IF s(i)=

13、1THEN result := result+1 END IF; END LOOP;RETURN result;END vect_to_int;FUNCTION int_to_tw16(s:INTEGER); RETURN tw16 IS VARIBLE result: tw16; VARIBLE digit: INTEGER:=2*15; VARIBLE local: INTEGER; 湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/221BEGIN local := s; FOR i IN 15 DOWNTO 0 LOOP IF local/ digit=1 THEN Local :=

14、 local- digit; ELSE result (i) :=0; END IF; digit := digit/2; END LOOP;RETURN result;END int_to_tw16;FUNCTION add(a,b:IN tw16);RETURN tw16 IS VARIBLE result: INTEGER;湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/222BEGIN result := vect_to_int (a)+ vect_to_int (b); RETURN int_to_tw16(result);END add;FUNCTION sub(a,b:IN

15、tw16);RETURN tw16 IS VARIBLE result: INTEGER;BEGIN result := vect_to_int (a)+ vect_to_int (b); RETURN int_to_tw16(result);END sub;END math;程序包關(guān)鍵字湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/223 此例的程序包是由程序包首和程序包體兩部分組此例的程序包是由程序包首和程序包體兩部分組成。程序包首定義了數(shù)據(jù)類型和函數(shù)的調(diào)用說明,程成。程序包首定義了數(shù)據(jù)類型和函數(shù)的調(diào)用說明,程序包體中才具體描述實(shí)現(xiàn)該函數(shù)功能的語(yǔ)句和數(shù)據(jù)的序包體中才具體描述實(shí)現(xiàn)該函數(shù)

16、功能的語(yǔ)句和數(shù)據(jù)的賦值。這種分開描述的好處是,當(dāng)函數(shù)的功能需要做賦值。這種分開描述的好處是,當(dāng)函數(shù)的功能需要做某些調(diào)整或數(shù)據(jù)賦值需要變化時(shí),只要改變程序包體某些調(diào)整或數(shù)據(jù)賦值需要變化時(shí),只要改變程序包體的相關(guān)語(yǔ)句就可以了,而無需改變程序包首的說明,的相關(guān)語(yǔ)句就可以了,而無需改變程序包首的說明,這樣就使得需要重新編譯的單元數(shù)目盡可能的減少了。這樣就使得需要重新編譯的單元數(shù)目盡可能的減少了。 湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/2243.2.3 max ii中常用程序包軟件包軟件包庫(kù)庫(kù)內(nèi)容內(nèi)容maxplus2AlteraMAX+PLUS II 中支持中支持 VHDL的基本邏輯的基本

17、邏輯功能模塊(功能模塊(primitives), 宏功能模塊宏功能模塊(macrofunction以及部分巨功能模塊以及部分巨功能模塊(megafunctions )std_logic_1164i e e e對(duì)對(duì)VHDL數(shù)據(jù)、模型、數(shù)據(jù)、模型、STD_LOGIC和和 STD_LOGIC_VECTOR進(jìn)行說明的標(biāo)準(zhǔn)進(jìn)行說明的標(biāo)準(zhǔn)std_logic_arithieeeSIGNED 和和UNSIGNED型、使用型、使用SIGNED 和和UNSIGNED型的算術(shù)、比較功能和轉(zhuǎn)換型的算術(shù)、比較功能和轉(zhuǎn)換功能功能CONV_INTEGER, CONV_SIGNED, and CONV_UNSIGNED.st

18、d_logic_signedieee允 許允 許 M A X + P L U S I I 使 用使 用 STD_LOGIC_VECTOR 的一些有符號(hào)函數(shù)的一些有符號(hào)函數(shù)std_logic_unsignedieee允 許允 許 M A X + P L U S I I 使 用使 用 STD_LOGIC_VECTOR 的一些無符號(hào)函數(shù)的一些無符號(hào)函數(shù)湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/225 3.3 配置配置 在用在用VHDL描述硬件電路時(shí),常常采用結(jié)構(gòu)描述方式和描述硬件電路時(shí),常常采用結(jié)構(gòu)描述方式和混合描述方式。在這兩種描述方式中,常常需要將其他設(shè)計(jì)混合描述方式。在這兩種描述方式

19、中,常常需要將其他設(shè)計(jì)實(shí)體作為元件進(jìn)行引用,這時(shí)就需要將不同元件通過配置安實(shí)體作為元件進(jìn)行引用,這時(shí)就需要將不同元件通過配置安裝到不同的設(shè)計(jì)實(shí)體中。裝到不同的設(shè)計(jì)實(shí)體中。VHDL提供了配置語(yǔ)句用于描述各提供了配置語(yǔ)句用于描述各種設(shè)計(jì)實(shí)體和元件之間連接關(guān)系以及設(shè)計(jì)實(shí)體和結(jié)構(gòu)體之間種設(shè)計(jì)實(shí)體和元件之間連接關(guān)系以及設(shè)計(jì)實(shí)體和結(jié)構(gòu)體之間的連接關(guān)系。的連接關(guān)系。默認(rèn)配置(實(shí)體與結(jié)構(gòu)體之間的連接關(guān)系)默認(rèn)配置(實(shí)體與結(jié)構(gòu)體之間的連接關(guān)系)默認(rèn)配置語(yǔ)句的基本格式為:默認(rèn)配置語(yǔ)句的基本格式為:CONFIGURATION 配置名配置名 OF 實(shí)體名實(shí)體名 IS FOR 選配結(jié)構(gòu)體名選配結(jié)構(gòu)體名 END FORE

20、ND 配置名;配置名;在MAX II中,含有多個(gè)結(jié)構(gòu)體的實(shí)體將只有最后1個(gè)最為默認(rèn)配置使用,用戶無權(quán)進(jìn)行人工配置湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/2263.4 VHDL3.4 VHDL的描述風(fēng)格的描述風(fēng)格 3.4.1 行為描述方式行為描述方式 3.4.2 數(shù)據(jù)流描述方式數(shù)據(jù)流描述方式(RTL描述方式描述方式)3.4.3 結(jié)構(gòu)化描述方式結(jié)構(gòu)化描述方式3.4.4 混合描述風(fēng)格混合描述風(fēng)格 湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/227 VHDL語(yǔ)言是通過結(jié)構(gòu)體具體描述整個(gè)設(shè)計(jì)實(shí)體的邏輯功語(yǔ)言是通過結(jié)構(gòu)體具體描述整個(gè)設(shè)計(jì)實(shí)體的邏輯功能。通常結(jié)構(gòu)體有四種不同的描述方式:行

21、為描述方式能。通常結(jié)構(gòu)體有四種不同的描述方式:行為描述方式(behavior)、數(shù)據(jù)流描述方式()、數(shù)據(jù)流描述方式(dataflow)或寄存器)或寄存器RTL描描述方式、結(jié)構(gòu)化描述方式(述方式、結(jié)構(gòu)化描述方式(structural)以及混合描述方式。)以及混合描述方式。VHDL通過這四種不同的描述方式從不同的側(cè)面描述結(jié)構(gòu)體的通過這四種不同的描述方式從不同的側(cè)面描述結(jié)構(gòu)體的功能。前三種是最基本的描述方式,他們組合起來就成為混合功能。前三種是最基本的描述方式,他們組合起來就成為混合描述方式。描述方式。 下面結(jié)合一個(gè)全加器來說明這四種描述風(fēng)格,全加器的端口下面結(jié)合一個(gè)全加器來說明這四種描述風(fēng)格,全加

22、器的端口示意圖如圖所示,其輸入輸出關(guān)系如表所示。示意圖如圖所示,其輸入輸出關(guān)系如表所示。 湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/228 輸入輸入 輸出輸出c_in x y c_out sum 0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1 全加器的輸入輸出關(guān)系全加器的輸入輸出關(guān)系 FullAdderxyc_insumc_out全加器框圖全加器框圖能不能利用卡諾圖化簡(jiǎn)湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/2293.4.1 行為描述方式行為描述方式 行為描述輸入與輸出間轉(zhuǎn)換

23、的行為,不需包含任行為描述輸入與輸出間轉(zhuǎn)換的行為,不需包含任何結(jié)構(gòu)信息,它對(duì)設(shè)計(jì)實(shí)體按算法的路徑來描述。何結(jié)構(gòu)信息,它對(duì)設(shè)計(jì)實(shí)體按算法的路徑來描述。行為描述在行為描述在EDA工程中通常被稱為高層次描述,設(shè)工程中通常被稱為高層次描述,設(shè)計(jì)工程師只需要注意正確的實(shí)體行為、準(zhǔn)確的函數(shù)計(jì)工程師只需要注意正確的實(shí)體行為、準(zhǔn)確的函數(shù)模型和精確的輸出結(jié)果就可以了,無需關(guān)注實(shí)體的模型和精確的輸出結(jié)果就可以了,無需關(guān)注實(shí)體的電路組織和門級(jí)實(shí)現(xiàn)。電路組織和門級(jí)實(shí)現(xiàn)。最為關(guān)鍵的就是建立函數(shù)模型湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/230例例:基于全加器真值表采用行為描述方式設(shè)計(jì)的全加器(基于全加器真值

24、表采用行為描述方式設(shè)計(jì)的全加器(1位二進(jìn)制數(shù)全加)位二進(jìn)制數(shù)全加)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY full_adder IS PORT(x,y,c_in : IN STD_LOGIC; Sum, c_out : OUT STD_LOGIC);END full_adder;ARCHITECTURE behav OF full_adder ISBEGIN PROCESS (x, y, c_in)VARIABLE n: INTEGER;CONSTANT sum_vector: STD_LOGIC_VECTOR (0 TO 3) := “

25、0101”;CONSTANT carry_vector: STD_LOGIC_VECTOR (0 TO 3) := “0011”; 湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/231BEGIN n := 0; IF x = 1 THEN n := n+1; END IF; IF y = 1 THEN n:=n+1; END IF; IF c_in = 1 THEN n:=n+1; END IF; - (0 TO 3) sum = sum_vector (n); - - sum_vector初值為初值為“0101” c_out = carry_vector (n); - - carry_

26、vector初值為初值為“0011” END PROCESS; - (0 TO 3) END behav; 輸入輸入 輸出輸出c_in x y c_out sum 0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1 對(duì)照真值表解釋程序?qū)φ照嬷当斫忉尦绦蚝侠砉ぢ殬I(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/2323.4.2 數(shù)據(jù)流描述方式數(shù)據(jù)流描述方式 數(shù)據(jù)流描述方式表示行為,也隱含表示結(jié)構(gòu),它描述了數(shù)據(jù)流描述方式表示行為,也隱含表示結(jié)構(gòu),它描述了數(shù)據(jù)流的運(yùn)動(dòng)路線、運(yùn)動(dòng)方向和運(yùn)動(dòng)結(jié)果。數(shù)據(jù)流的運(yùn)動(dòng)路線、運(yùn)

27、動(dòng)方向和運(yùn)動(dòng)結(jié)果。 對(duì)于全加器,用布爾方程描述其邏輯功能如下:對(duì)于全加器,用布爾方程描述其邏輯功能如下: s = x XOR y sum = s XOR c_in c_out = (x AND y) OR( s AND c_in) 下面是基于上述布爾方程的數(shù)據(jù)流風(fēng)格的描述下面是基于上述布爾方程的數(shù)據(jù)流風(fēng)格的描述: 湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/233例:采用數(shù)據(jù)流描述方式的全加器例:采用數(shù)據(jù)流描述方式的全加器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; PORT(x,y,c_in : IN STD_LOGIC; Sum, c_out

28、: OUT STD_LOGIC);END full_adder;ARCHITECTURE dataflow OF full_adder ISBEGIN s = x XOR y; sum = s XOR c_in; c_out = (x AND y) OR( s AND c_in); END dataflow;湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/2343.4.3 結(jié)構(gòu)描述方式結(jié)構(gòu)描述方式結(jié)構(gòu)化描述方式就是在多層次的設(shè)計(jì)中,高層次的設(shè)計(jì)可以結(jié)構(gòu)化描述方式就是在多層次的設(shè)計(jì)中,高層次的設(shè)計(jì)可以調(diào)用低層次的設(shè)計(jì)模塊,或直接用門電路設(shè)計(jì)單元來構(gòu)成一調(diào)用低層次的設(shè)計(jì)模塊,或直接用門電路設(shè)計(jì)

29、單元來構(gòu)成一個(gè)復(fù)雜邏輯電路的方法。個(gè)復(fù)雜邏輯電路的方法。利用結(jié)構(gòu)化描述方法將已有的設(shè)計(jì)利用結(jié)構(gòu)化描述方法將已有的設(shè)計(jì)成果方便地用于新的設(shè)計(jì)中成果方便地用于新的設(shè)計(jì)中,能大大提高設(shè)計(jì)效率。在結(jié)構(gòu),能大大提高設(shè)計(jì)效率。在結(jié)構(gòu)化描述中,建模的焦點(diǎn)是端口及其互連關(guān)系?;枋鲋?,建模的焦點(diǎn)是端口及其互連關(guān)系。 結(jié)構(gòu)化描述的建模步驟如下:結(jié)構(gòu)化描述的建模步驟如下:(1)元件說明)元件說明(2)元件例化)元件例化(3)元件配置)元件配置元件說明用于描述局部接口;元件例化是要相對(duì)于其他元件來放置該元件;元件說明用于描述局部接口;元件例化是要相對(duì)于其他元件來放置該元件;元件配置用于指定元件所用的設(shè)計(jì)實(shí)體。元件配

30、置用于指定元件所用的設(shè)計(jì)實(shí)體。 湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/235HalfAdderscORGateAdderHalfscc_inxybacc_outsumU1U2U3對(duì)于上圖給出的全加器端口結(jié)構(gòu),可以認(rèn)為它是由兩個(gè)半對(duì)于上圖給出的全加器端口結(jié)構(gòu),可以認(rèn)為它是由兩個(gè)半加器和一個(gè)或門組成的加器和一個(gè)或門組成的 ?;谏蠄D所示的結(jié)構(gòu),可以寫出全加器的結(jié)構(gòu)化描述設(shè)計(jì)基于上圖所示的結(jié)構(gòu),可以寫出全加器的結(jié)構(gòu)化描述設(shè)計(jì)程序如下。程序如下。 湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/236例:全加器的結(jié)構(gòu)化描述例:全加器的結(jié)構(gòu)化描述LIBRARY IEEE;USE IEE

31、E.STD_LOGIC_1164.ALL;ENTITY half_adder IS PORT(in1, in2: IN STD_LOGIC; sum, carry: OUT STD_LOGIC);END half_adder;ARCHITECTURE behavioral OF half_adder ISBEGINPROSESS (in1, in2) 湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/237BEGIN sum = in1 XOR in2; carry = in1 AND in2;END PROCESS;END behavioral; - -半加器設(shè)計(jì)完畢半加器設(shè)計(jì)完畢LIBR

32、ARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY or_gate ISPORT(in1, in2: IN STD_LOGIC; out1: OUT STD_LOGIC);END or_gate;湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/238ARCHITECTURE structural OF or_gate ISBEGIN out1 = in1 OR in2 AFTER tpd;END structural; - - 或門設(shè)計(jì)完畢或門設(shè)計(jì)完畢 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ful

33、l_adder ISPORT(x,y,c_in: IN STD_LOGIC; Sum, c_out: OUT STD_LOGIC);END full_adder; 湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/239ARCHITECTURE structural OF full_adder IS COMPONENT half_adder PORT(in1, in2: IN STD_LOGIC; sum, carry: OUT STD_LOGIC); END COMPONENT; COMPONENT or_gate PORT(in1, in2: IN STD_LOGIC; out1: OU

34、T STD_LOGIC); END COMPONENT;SIGNAL a, b, c:STD_LOGIC;湖南理工職業(yè)技術(shù)學(xué)院PLD課件(馮鷗)2021/8/240BEGIN u1: half_adder PORT MAP (x, y, b, a); u2: half_adder PORT MAP (c_in, b, sum, c); u3: or_gate PORT MAP (c, a, c_out);END structural; 由上例可見,對(duì)于一個(gè)復(fù)雜的電子系統(tǒng),可以將其分解為若由上例可見,對(duì)于一個(gè)復(fù)雜的電子系統(tǒng),可以將其分解為若干個(gè)子系統(tǒng),每個(gè)子系統(tǒng)再分解成模塊,形成多層次設(shè)計(jì)。干個(gè)子系統(tǒng),每個(gè)子系統(tǒng)再分解成模塊,形成多層

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論