組合邏輯電路的VHDL描述、競爭與冒險(xiǎn)_第1頁
組合邏輯電路的VHDL描述、競爭與冒險(xiǎn)_第2頁
組合邏輯電路的VHDL描述、競爭與冒險(xiǎn)_第3頁
組合邏輯電路的VHDL描述、競爭與冒險(xiǎn)_第4頁
組合邏輯電路的VHDL描述、競爭與冒險(xiǎn)_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1,第九講 組合邏輯電路分析與設(shè)計(jì),1、VHDL語言介紹 2、組合邏輯電路VHDL描述 3、組合邏輯電路中的競爭與冒險(xiǎn),2,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),VHDL介紹,VHDL:Very High Speed Integrated Circuit Hardware Description Language,即超高速集成電路硬件描述語言。,VHDL作為IEEE標(biāo)準(zhǔn)的硬件描述語言和EDA的重要組成部分,經(jīng)過幾十年的發(fā)展、應(yīng)用和完善,以其強(qiáng)大的系統(tǒng)描述能力、規(guī)范的程序設(shè)計(jì)結(jié)構(gòu)、靈活的語言表達(dá)風(fēng)格和多層次的仿真測(cè)試手段,在電子設(shè)計(jì)領(lǐng)域受到了普遍的認(rèn)同和廣泛的接受,成為現(xiàn)代EDA領(lǐng)域的

2、首選硬件設(shè)計(jì)語言。專家認(rèn)為,在新世紀(jì)中,VHDL與Verilog語言將承擔(dān)起幾乎全部的數(shù)字系統(tǒng)設(shè)計(jì)任務(wù)。,3,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),VHDL介紹,庫(LIBRARY)存放預(yù)先設(shè)計(jì)好的程序包和數(shù)據(jù)的集合體。 程序包(PACKAGE)將已定義的數(shù)據(jù)類型、元件調(diào)用說明及子程序收集在一起,供VHDL設(shè)計(jì)實(shí)體共享和調(diào)用,若干個(gè)包則形成庫。,IEEE庫包括:STD_LOGIC_1164 STD_LOGIC_ARITH是SYNOPSYS公司加入IEEE庫程序包,包括: STD_LOGIC_SIGNED(有符號(hào)數(shù)) STD_LOGIC_UNSIGNED(無符號(hào)數(shù)),1、庫、程序包,4

3、,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),VHDL介紹,STD_LOGIC_SMALL_INT(小整型數(shù)) VHDL 87版本使用IEEE STD 1076-1987 語法標(biāo)準(zhǔn) VHDL 93版本使用IEEE STD 1076-1993 語法標(biāo)準(zhǔn),例:LIBRARY IEEE USE IEEE.STD_LOGIC_1164.ALL 描述器件的輸入、輸出端口數(shù)據(jù)類型中將要用到的IEEE的標(biāo)準(zhǔn)庫中的STD_LOGIC_1164程序包。,5,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),VHDL介紹,格式:ENTITY 實(shí)體名 IS 類屬參數(shù)說明 端口說明 END 實(shí)體名;,規(guī)則:(1)類

4、屬參數(shù)說明必須放在端口說明之前,用于指定如矢量位數(shù)、延遲時(shí)間等參數(shù)。例如GENERIC(m:TIME:=1 ns);-說明m是一個(gè)值為1ns的時(shí)間參數(shù) 則程序語句:tmp1 = d0 AND se1 AFTER m;-表示d0 AND se1經(jīng)1ns延遲后才送到tem1。,2、實(shí)體(ENTITY)說明,6,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),VHDL介紹,(2)端口說明是描述器件的外部接口信號(hào)的說明,相當(dāng)于器件的引腳說明。其格式為: PORT(端口名,端口名:方向 數(shù)據(jù)類型名; : 端口名,端口名:方向 數(shù)據(jù)類型名);,例如:PORT(a,b:IN STD_LOGIC; s:IN

5、STD_LOGIC; y:OUT STD_LOGIC);,7,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),VHDL介紹,端口方向包括: IN; -輸入, 符號(hào): OUT; -輸出, 符號(hào): INOUT;-雙向, 符號(hào): BUFFER; -具有讀功能的輸出,符號(hào):,8,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),VHDL介紹,9,例:用VHDL語言編寫的實(shí)體聲明: library ieee; use ieee.std_logic_1164.all; entity or_gate is port (a : in bit ; b : in bit ; c: out bit ); end or

6、_gate ;,上面的實(shí)體聲明描述了一個(gè)或門單元,它有三個(gè)引腳a、b、c。給出了三個(gè)引腳a、b、c的參數(shù);in和out數(shù)據(jù)類型是bit。,基本設(shè)計(jì)單元的實(shí)體,用于指明設(shè)計(jì)基本單元的行為、元件及內(nèi)部連接關(guān)系,即定義設(shè)計(jì)單元的功能。,結(jié)構(gòu)體的結(jié)構(gòu): ARCHITECTURE 結(jié)構(gòu)體名 OF 實(shí)體名 IS 說明語句;-為內(nèi)部信號(hào)、常數(shù)、數(shù)據(jù)類型、函數(shù)定義 BEGIN 功能描述語句 END ARCHITECTURE 結(jié)構(gòu)體名;,3、結(jié)構(gòu)體(ARCHITECTURE),10,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),VHDL介紹,例如:或門的結(jié)構(gòu)體 ARCHITECTURE or1 OF temp

7、1 IS SIGNAL y:STD_LOGIC; BEGIN y=a OR b; END ARCHITECTURE or1;,11,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),VHDL介紹,12,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),VHDL介紹,4、進(jìn)程(PROCESS),進(jìn)程語句屬于并行語句,它在VHDL中使用最頻繁、最能體現(xiàn)VHDL風(fēng)格。,進(jìn)程語句格式: 進(jìn)程標(biāo)號(hào):PROCESS (敏感信號(hào)參數(shù)表) IS 進(jìn)程說明部分 BEGIN 順序描述語句 END PROCESS 進(jìn)程標(biāo)號(hào);,進(jìn)程語句是并行處理語句,即各個(gè)進(jìn)程是同時(shí)處理的,在一個(gè)結(jié)構(gòu)體中多個(gè)Process語句是同時(shí)并發(fā)

8、運(yùn)行的。,Process語句的特點(diǎn): 進(jìn)程結(jié)構(gòu)內(nèi)部的所有語句都是順序執(zhí)行的。 多進(jìn)程之間,是并行執(zhí)行的,并可訪問構(gòu)造體或?qū)嶓w中所定義的信號(hào)。 進(jìn)程的啟動(dòng)是由進(jìn)程標(biāo)識(shí)符process后的信號(hào)敏感表所標(biāo)明的信號(hào)來觸發(fā)進(jìn)程的活動(dòng),也可以用WAIT語句等待一個(gè)觸發(fā)條件的成立。 各進(jìn)程之間的通信是由信號(hào)來傳遞的。,13,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),VHDL介紹,例 不含信號(hào)敏感表的進(jìn)程語句,ARCHITECTURE multiple_wait OF tests IS SIGNAL a,b:bit:=0; BEGIN P1:PROCESS BEGIN WAIT ON a; WAIT O

9、N b; WAIT FOR 0ns; WAIT; END PROCESS p1; END ACHITECTURE multiple_wait;,14,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),VHDL介紹,例含信號(hào)敏感表和WAIT語句的錯(cuò)誤程序,ARCHITECTUREsensitivity_list OF tests IS SIGNAL a,b:bit:=0; BEGIN p1:PROCESS(a) BEGIN WAIT ON b; WAIT FOR 0ns; WAIT; END PROCESS p1; END ARCHITECTURE sensitivity_list;,15,第十講

10、 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),VHDL介紹,例利用進(jìn)程語句設(shè)計(jì)的半加器,ARCHITECTUTEbehav OF half_adder IS BEGIN Padder:PROCESS(a,b) BEGIN sum=a XOR b AFTER 5ns; carry=a AND b AFTER 5ns; ENDPROCESS Padder; END behav;,16,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),VHDL介紹,進(jìn)程是一個(gè)無限循環(huán)的硬件行為的描述。當(dāng)進(jìn)程執(zhí)行完最后一個(gè)語句時(shí),在敏感信號(hào)的觸發(fā)下,又開始重復(fù)執(zhí)行,這個(gè)模塊就這樣永無修止地工作。但是如果沒有敏感信號(hào)的變化,

11、這個(gè)進(jìn)程就不會(huì)工作。,17,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),VHDL介紹,把特定的結(jié)構(gòu)體關(guān)聯(lián)(指定給)一個(gè)確定的實(shí)體,為大型系統(tǒng)的設(shè)計(jì)提供管理和工程組織。,5、配置(CONFIGURATION),18,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),VHDL介紹,configuration 配置名 of 實(shí)體名 is for 選配結(jié)構(gòu)體名 end for ; end 配置名;,配置:從某個(gè)實(shí)體的多種結(jié)構(gòu)體描述方式中選擇 特定的一個(gè)。,19,VHDL語言的基本語句,順序語句(Sequential Statements) 并行語句(Concurrent Statements),第十

12、講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),VHDL介紹,順序語句,特征: 順序語句只能出現(xiàn)在進(jìn)程或子程序、塊中 順序語句描述的系統(tǒng)行為有時(shí)序流、控制流、條件分支和迭代算法等 順序語句用于定義進(jìn)程、子程序等的算法 順序語句的功能操作有算術(shù)、邏輯運(yùn)算,信號(hào)、變量的賦值,子程序調(diào)用等,20,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),VHDL介紹,順序語句, WAIT語句; 斷言語句; 信號(hào)代入語句; 變量賦值語句; IF語句; CASE語句;, LOOP語句; NEXT語句; EXIT語句; 過程調(diào)用語句; NULL語句。,21,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),VHDL介紹,

13、并行語句,進(jìn)程語句 并發(fā)信號(hào)代入語句 條件信號(hào)代入語句 選擇信號(hào)代入語句 并發(fā)過程調(diào)用語句 塊語句 并行斷言語句 Generate 生成語句 元件例化語句,22,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),VHDL介紹,23,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),VHDL介紹,library ieee; -使用的庫 use ieee.std_logic_1164.all;-使用的包 entity and_ent is -名為and_ent的實(shí)體 port(a,b: in std_logic; -輸入信號(hào)為a,b y: out std_logic); -輸出信號(hào)為y end and

14、_ent; architecture and_str of and_ent is 實(shí)體and_ent的結(jié)構(gòu)體,該結(jié)構(gòu)體名稱為and_str begin y=a and b; - 邏輯表達(dá)式 end and_str;,例:用VHDL描述2輸入端與門電路。,LIBRARY IEEE; USE IEEE.STD LOGIC 1164.ALL ENTITY or1 IS PORT(a,b:IN STD_LOGIC; y:OUT STD LOGIC); END or1; ARCHITECTURE example1 OF or1 IS BEGIN y=a OR b; END example1;,24,第十

15、講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),用VHDL描述基本邏輯器件,【例】兩輸入端或門的描述,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY h_adder IS PORT(a,b:IN STD_LOGIC; so,co:OUT STD_LOGIC); END h_adder; ARCHITECTURE example2 OF h_adder IS BEGIN so=a XOR b; co=a AND b; END example2;,25,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),用VHDL描述基本邏輯器件,【例】半加器的描述,L

16、IBRARY IEEE; USE IEEE.STD LOGIC 1164.ALL ENTITY mux21 IS PORT(a,b:IN STD LOGIC; s:IN STD LOGIC; y:OUT STD LOGIC); END mux21; ARCHITECTURE example3 OF mux21 IS BEGIN y=a WHEN s=0 ELSE b; END ARCHITECTURE example3;,26,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),用VHDL描述基本邏輯器件,【例】2選1數(shù)據(jù)選擇器的描述,27,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),用VHD

17、L描述基本邏輯器件,例:四選一電路,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux4 IS PORT(input: IN STD_LOGIC_VECTOR (3 DOWNTO 0); sel : IN STD_LOGIC_VECTOR (1 DOWNTO 0); y: OUT STD_LOGIC); END mux4; ARCHITECTURE rtl OF mux4 IS BEGIN,PROCESS(input, sel) BEGIN IF(sel=00) THEN y=input(0); ELSIF(sel=01) THEN y=

18、input(1); ELSIF(sel=10) THEN y=input(2); ELSE y=input(3); END IF; END PROCESS; END rtl;,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),組合邏輯電路的競爭與冒險(xiǎn),競爭(Race),由于電路中各個(gè)信號(hào)通過的路徑不同,當(dāng)加到某個(gè)門電路的兩個(gè)信號(hào)同時(shí)向相反方向變化時(shí):,(1) 變化時(shí)間有微小差異。,(2) 信號(hào)邊沿變化時(shí)間存在差異。,這就是組合電路的競爭現(xiàn)象。,28,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),組合邏輯電路的競爭與冒險(xiǎn),冒險(xiǎn),29,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),組合邏輯電路的競爭與冒險(xiǎn),有競爭無冒險(xiǎn),有競爭有冒險(xiǎn),A,B,F,30,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),組合邏輯電路的競爭與冒險(xiǎn),冒險(xiǎn)的類別,因?yàn)樾盘?hào)經(jīng)不同路徑傳輸后,到達(dá)電路中某一會(huì)合點(diǎn)的時(shí)間差異產(chǎn)生的冒險(xiǎn)稱為邏輯冒險(xiǎn)。,31,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),組合邏輯電路的競爭與冒險(xiǎn),因?yàn)槎鄠€(gè)信號(hào)同時(shí)變化時(shí)因?yàn)檫^渡過程產(chǎn)生的差異而出現(xiàn)的冒險(xiǎn)稱為功能冒險(xiǎn)。,32,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn),組合邏輯電路的競爭與冒險(xiǎn),怎樣判定有無險(xiǎn)象,例:,理論上 ,下面看實(shí)際情況:,令 B=C=1,則 有險(xiǎn),33,第十講 組合邏輯電路的VHDL描述、競爭與冒險(xiǎn)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論