大學(xué)數(shù)字電子技術(shù)基礎(chǔ)第三章 組合邏輯電路_第1頁(yè)
大學(xué)數(shù)字電子技術(shù)基礎(chǔ)第三章 組合邏輯電路_第2頁(yè)
大學(xué)數(shù)字電子技術(shù)基礎(chǔ)第三章 組合邏輯電路_第3頁(yè)
大學(xué)數(shù)字電子技術(shù)基礎(chǔ)第三章 組合邏輯電路_第4頁(yè)
大學(xué)數(shù)字電子技術(shù)基礎(chǔ)第三章 組合邏輯電路_第5頁(yè)
已閱讀5頁(yè),還剩100頁(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)介

第三章組合邏輯電路第一節(jié)組合電路的分析和設(shè)計(jì)第二節(jié)組合邏輯電路中的競(jìng)爭(zhēng)與冒險(xiǎn)第三節(jié)超高速集成電路硬件描述語(yǔ)言VHDL第四節(jié)組合邏輯電路模塊及其應(yīng)用小結(jié)相關(guān)知識(shí)回顧:邏輯運(yùn)算邏輯門與或非異或同或非門與門或門與非門或非門異或門同或門本章任務(wù):1.組合邏輯電路的分析與設(shè)計(jì)2.常用組合邏輯模塊的使用由邏輯門組成第三章組合邏輯電路(2)學(xué)習(xí)常用中規(guī)模集成模塊(3)了解電路中的競(jìng)爭(zhēng)和冒險(xiǎn)現(xiàn)象本章重點(diǎn)(1)掌握分析和設(shè)計(jì)組合電路的基本方法加法器比較器譯碼器編碼器選擇器分配器本章基本內(nèi)容(1)電路分析與設(shè)計(jì)經(jīng)典的方法(2)常用組合邏輯模塊的靈活應(yīng)用組合電路的分析組合電路的設(shè)計(jì)第一節(jié)組合電路的分析和設(shè)計(jì)組合電路一、組合電路輸入:邏輯關(guān)系:Fi=fi(X1、X2、…、Xn)i=(1、2、…、m)特點(diǎn):電路由邏輯門構(gòu)成;不含記憶元件;輸出無(wú)反饋到輸入的回路;輸出與電路原來(lái)狀態(tài)無(wú)關(guān)。輸出:X1、X2、…、XnF1、F2、…、FmX1X2Xn…組合網(wǎng)絡(luò)組合電路方框圖F1F2Fm…二、組合電路的分析分析已知邏輯電路功能步驟:輸出函數(shù)表達(dá)式描述電路功能已知組合電路簡(jiǎn)化函數(shù)真值表ABCF00000010010001111000101111011111真值表因此該電路為少數(shù)服從多數(shù)電路,稱表決電路。解:(1)由電路圖得邏輯表達(dá)式(2)由邏輯表達(dá)式得真值表(3)功能分析:多數(shù)輸入變量為1,輸出F為1;多數(shù)輸入變量為0,輸出F為0。例1:試分析右圖所示邏輯電路的功能。&&&&ABCF解:(1)由電路圖得表達(dá)式例2:試分析下圖所示邏輯電路的功能。=1G2B2=1G1B1=1G0B0G3B3自然二進(jìn)制碼格雷碼B3B2B1B0

G3G2G1G00000 0000000100010010001100110010010001100101011101100101011101001000110010011101101011111011111011001010110110111110100111111000(2)列出真值表本電路是自然二進(jìn)制碼至格雷碼的轉(zhuǎn)換電路。(3)分析功能注意:利用此式時(shí)對(duì)碼位序號(hào)大于(n-1)的位應(yīng)按0處理,如本例碼位的最大序號(hào)i=3,故B4應(yīng)為0,才能得到正確的結(jié)果。推廣到一般,將n位自然二進(jìn)制碼轉(zhuǎn)換成n位格雷碼:Gi=Bi⊕Bi+1

(i=0、1、2、…、n-1)自然二進(jìn)制碼至格雷碼的轉(zhuǎn)換三、組合電路的設(shè)計(jì)步驟:根據(jù)要求設(shè)計(jì)出實(shí)際邏輯電路形式變換根據(jù)設(shè)計(jì)所用芯片要求選擇所需門電路根據(jù)設(shè)計(jì)要求分析題意,將設(shè)計(jì)要求轉(zhuǎn)化為邏輯關(guān)系,這一步為設(shè)計(jì)組合邏輯電路的關(guān)鍵確定輸入、輸出、列出真值表寫出表達(dá)式并簡(jiǎn)化畫邏輯電路圖例3:半加器的設(shè)計(jì)(1)半加器真值表(2)輸出函數(shù)(3)邏輯圖輸入輸出被加數(shù)A

加數(shù)B

和S

進(jìn)位C0000011010101101(4)邏輯符號(hào)&ABC=1S∑COSCAB半加器邏輯符號(hào)由表達(dá)式知,若無(wú)特別要求,用一個(gè)異或門和一個(gè)與門即可實(shí)現(xiàn)半加器電路。電路圖為:分析:半加器是將兩個(gè)一位二進(jìn)制數(shù)相加求和及向高位進(jìn)位的電路。因此,有兩個(gè)輸入(加數(shù)與被加數(shù))及兩個(gè)輸出(和與進(jìn)位)。設(shè)被加數(shù)和加數(shù)分別為A和B,和與進(jìn)位分別為S、C,真值表為:將用“異或”門實(shí)現(xiàn)的半加器改為用“與非”門實(shí)現(xiàn)函數(shù)表達(dá)式變換形式:用“與非”門實(shí)現(xiàn)半加器邏輯圖如圖所示:&ABC&S&&&全加器是實(shí)現(xiàn)例4:全加器的設(shè)計(jì)。學(xué)生自己完成邏輯電路全加器邏輯符號(hào)全加器真值表輸入輸出

Ai

Bi

Ci

Si

Ci+10000000110010100110110010101011100111111一位二進(jìn)制數(shù)一位二進(jìn)制數(shù)低位來(lái)的進(jìn)位相加和高位進(jìn)位∑COSiCi+1CiBiCIAi例5:試將8421BCD碼轉(zhuǎn)換成余三BCD碼。

8421碼余三碼

B3

B2

B1

B0

E3

E2

E1

E0000000011100010100200100101300110110401000111501011000601101001701111010810001011910011100101010?

?

?

?111011?

?

?

?121100?

?

?

?131101?

?

?

?141110?

?

?

?151111?

?

?

?(2)卡諾圖(1)真值表B3B2B1B000011110000111100011??1?01??00?1E3B3B2B1B000011110000111100000??0?11??11?1E0B3B2B1B000011110000111100101??0?00??11?1E1B3B2B1B000011110000111101100??1?10??01?0E2(3)表達(dá)式(2)卡諾圖B3B2B1B000011110000111100011??1?01??00?1E3B3B2B1B000011110000111100000??0?11??11?1E0B3B2B1B000011110000111100101??0?00??11?1E1B3B2B1B000011110000111101100??1?10??01?0E2(4)電路圖(3)表達(dá)式8421BCD碼B3B2B1B08421BCD碼轉(zhuǎn)換成余3BCD碼的邏輯電路余3碼E1E0E2E3&&111&&&&&1&&&第二節(jié)組合電路中的競(jìng)爭(zhēng)與冒險(xiǎn)競(jìng)爭(zhēng)與冒險(xiǎn)的判斷冒險(xiǎn)現(xiàn)象的消除冒險(xiǎn)與競(jìng)爭(zhēng)≥1AFf1f2&&B&CC(a)邏輯圖(b)波形圖ABCCttttttttpgtpdf1f2F一、冒險(xiǎn)與競(jìng)爭(zhēng)競(jìng)爭(zhēng):冒險(xiǎn):在組合電路中,信號(hào)經(jīng)由不同的途徑達(dá)到某一會(huì)合點(diǎn)的時(shí)間有先有后。由于競(jìng)爭(zhēng)而引起電路輸出發(fā)生瞬間錯(cuò)誤現(xiàn)象。表現(xiàn)為輸出端出現(xiàn)了原設(shè)計(jì)中沒有的窄脈沖,常稱其為毛刺。二、競(jìng)爭(zhēng)與冒險(xiǎn)的判斷代數(shù)法:或的形式時(shí),A變量的變化可能引起險(xiǎn)象??ㄖZ圖法:如函數(shù)卡諾圖上為簡(jiǎn)化作的圈相切,且相切處又無(wú)其他圈包含,則可能有險(xiǎn)象。如圖所示電路的卡諾圖兩圈相切,故有險(xiǎn)象?!?AFf1f2&&B&CCABC000111100100111100兩圈相切有險(xiǎn)象三、冒險(xiǎn)現(xiàn)象的消除1.增加冗余項(xiàng)如圖所示卡諾圖,只要在兩圈相切處增加一個(gè)圈(冗余),就能消除冒險(xiǎn)。增加冗余項(xiàng)可以解決每次只有單個(gè)輸入信號(hào)發(fā)生變化時(shí)電路的冒險(xiǎn)問題,卻不能解決多個(gè)輸入信號(hào)同時(shí)發(fā)生變化時(shí)的冒險(xiǎn)現(xiàn)象,適用范圍有限。ABC000111100100111100增加冗余圈克服險(xiǎn)象ABC000111100100111100兩圈相切有險(xiǎn)象三、冒險(xiǎn)現(xiàn)象的消除2.增加選通信號(hào)在可能產(chǎn)生冒險(xiǎn)的門電路的輸入端增加一個(gè)選通脈沖。當(dāng)輸入信號(hào)變換完成,進(jìn)入穩(wěn)態(tài)后,才啟動(dòng)選通脈沖,將門打開。這樣,輸出就不會(huì)出現(xiàn)冒險(xiǎn)脈沖。1.增加冗余項(xiàng)增加選通信號(hào)的方法比較簡(jiǎn)單,一般無(wú)需增加電路元件,但選通信號(hào)必須與輸入信號(hào)維持嚴(yán)格的時(shí)間關(guān)系,因此選通信號(hào)的產(chǎn)生并不容易。3.輸出接濾波電容1.增加冗余項(xiàng)2.增加選通信號(hào)由于競(jìng)爭(zhēng)冒險(xiǎn)產(chǎn)生的干擾脈沖的寬度一般都很窄,在可能產(chǎn)生冒險(xiǎn)的門電路輸出端并接一個(gè)濾波電容(一般為4~20pF),使輸出波形上升沿和下降沿都變得比較緩慢,從而起到消除冒險(xiǎn)現(xiàn)象的作用。三、冒險(xiǎn)現(xiàn)象的消除輸出端接濾波電容方便易行,但會(huì)使輸出電壓波形變壞,僅適合對(duì)信號(hào)波形要求不高的場(chǎng)合。

第三節(jié)超高速集成電路硬件描述語(yǔ)言VHDL概述

VHDL語(yǔ)言的基本組成

VHDL數(shù)據(jù)類型和屬性

VHDL的行為描述

VHDL的結(jié)構(gòu)描述VHDL概述★

設(shè)計(jì)方法

傳統(tǒng)的電路系統(tǒng)設(shè)計(jì)方法:純硬件邏輯設(shè)計(jì)(試湊法)存在的問題:

當(dāng)系統(tǒng)規(guī)模增大,設(shè)計(jì)工作量大,設(shè)計(jì)周期長(zhǎng);設(shè)計(jì)電路的體積大、功耗大、可靠性較低;交流性較差。

現(xiàn)代電路的設(shè)計(jì)方法:硬件設(shè)計(jì)+軟件設(shè)計(jì)從上至下的設(shè)計(jì)方法出現(xiàn)HardwareDescriptionLanguage,HDL★

硬件描述語(yǔ)言

ABEL◆

AHDL

VerilogHDL◆

VHDL美國(guó)國(guó)防部在80年代初提出了VHSIC(VeryHighSpeedIntegratedCircuit)計(jì)劃,其目標(biāo)之一是為下一代集成電路的生產(chǎn),實(shí)現(xiàn)階段性的工藝極限以及完成10萬(wàn)門級(jí)以上的設(shè)計(jì),建立一項(xiàng)新的描述方法。1981年提出了一種新的HDL,稱之為VHSICHardwareDescriptionLanguage,簡(jiǎn)稱為VHDL。VHDL概述IEEE標(biāo)準(zhǔn)★

VHDL語(yǔ)言的主要優(yōu)點(diǎn)

◆是一種多層次的硬件描述語(yǔ)言,覆蓋面廣,描述能力強(qiáng)。即設(shè)計(jì)的原始描述可以是非常簡(jiǎn)練的描述,經(jīng)過層層細(xì)化求精,最終成為可直接付諸生產(chǎn)的電路級(jí)或版圖參數(shù)描述,整個(gè)過程都可以在VHDL的環(huán)境下進(jìn)行。

VHDL有良好的可讀性,即可以被計(jì)算機(jī)接受,也容易被理解用VHDL書寫的原文件,即是程序,又是文檔,即是技術(shù)人員之間交換信息的文件,又可作為合同簽約者之間的文件。

VHDL概述◆

VHDL本身的生命期長(zhǎng)。因?yàn)閂HDL的硬件描述與工藝技術(shù)無(wú)關(guān),不會(huì)因工藝變化而使描述過時(shí)。與工藝技術(shù)有關(guān)的參數(shù)可通過VHDL提供的屬性加以描述,工藝改變時(shí),只需修改相應(yīng)程序中的屬性參數(shù)即可?!?/p>

支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用。一個(gè)大規(guī)模設(shè)計(jì)不可能一個(gè)人獨(dú)立完成,它將由多人、多項(xiàng)目組來(lái)共同完成。VHDL為設(shè)計(jì)的分解和設(shè)計(jì)的再利用提供了有力的支持。

VHDL已成為IEEE承認(rèn)的一個(gè)工業(yè)標(biāo)準(zhǔn),事實(shí)上已成為通用硬件描述語(yǔ)言。

VHDL概述★

VHDL語(yǔ)言的主要優(yōu)點(diǎn)一、VHDL的基本組成VHDL語(yǔ)言參數(shù)部分——程序包接口部分—設(shè)計(jì)實(shí)體描述部分—結(jié)構(gòu)體LIBRARY

ieee;USE

ieee.std_logic_1164.all;(一)參數(shù)部分——程序包程序包IEEE標(biāo)準(zhǔn)的標(biāo)準(zhǔn)程序包設(shè)計(jì)者自身設(shè)計(jì)的程序包

設(shè)計(jì)中的子程序和公用數(shù)據(jù)類型的集合。調(diào)用數(shù)據(jù)類型標(biāo)準(zhǔn)程序包的VHDL語(yǔ)言描述放在VHDL程序的最前面,表示以后在實(shí)體或結(jié)構(gòu)體中要用到數(shù)據(jù)類型包中的數(shù)據(jù)類型。調(diào)用程序包語(yǔ)句標(biāo)準(zhǔn)程序包定義程序包(二)接口部分—設(shè)計(jì)實(shí)體kxora1b1c1設(shè)計(jì)實(shí)體提供設(shè)計(jì)模塊的公共信息,是VHDL設(shè)計(jì)電路的最基本部分。VHDL實(shí)體的描述方法:ENTITY

kxor

ISPORT(a1,b1:INstd_logic;c1:OUTstd_logic);END

kxor;

一個(gè)模塊中僅有一個(gè)設(shè)計(jì)實(shí)體。調(diào)用程序包語(yǔ)句標(biāo)準(zhǔn)程序包定義程序包實(shí)體及實(shí)體聲明語(yǔ)句ENTITY

kxor

ISPORT(a1,b1:INstd_logic;END

kxor;c1:OUTstd_logic);ENTITY、IS、PORT、IN、OUT和END為關(guān)鍵字;ENTITY...END之間表示實(shí)體內(nèi)容;kxor表示實(shí)體的名稱,即電路的符號(hào)名;PORT——端口(引腳)信息關(guān)鍵字,描述了信號(hào)的流向;IN——輸入模式;OUT——輸出模式;std_logic表示信號(hào)取值的類型為標(biāo)準(zhǔn)邏輯。(二)接口部分—設(shè)計(jì)實(shí)體ENTITY

sel

IS

PORT(d0,d1,d2,d3:INBIT;

s:ININTEGERRANGE0TO3;

out1:OUTBIT);END

sel;d0d1d2d3sout1sel再例:(二)接口部分—設(shè)計(jì)實(shí)體(三)描述部分—結(jié)構(gòu)體結(jié)構(gòu)體描述實(shí)體硬件的互連關(guān)系、數(shù)據(jù)的傳輸和變換以及動(dòng)態(tài)行為。一個(gè)實(shí)體可以對(duì)應(yīng)多個(gè)結(jié)構(gòu)體,每個(gè)結(jié)構(gòu)體可以代表該硬件的某一方面特性,例如行為特性、結(jié)構(gòu)特性。ARCHITECTURE

kxor_arc

OF

kxor

ISBEGINc1<=(NOTa1ANDb1)OR(a1AND

NOTb1);END

kxor_arc;調(diào)用程序包語(yǔ)句標(biāo)準(zhǔn)程序包定義程序包實(shí)體及實(shí)體聲明語(yǔ)句結(jié)構(gòu)體1結(jié)構(gòu)體2結(jié)構(gòu)體nkxora1b1c1a1b1c1kxora1b1c1a1b1c1a1b1c1a1b1c1a1b1c1a1b1c1a1b1c1a1b1c1a1b1c1a1b1c1a1b1c1a1b1c1a1b1c1a1b1c1a1b1c1a1b1c1a1b1c1a1b1c1a1b1c1a1b1c1a1b1c1a1b1c1a1b1c1a1b1c1二、VHDL數(shù)據(jù)類型和屬性

VHDL硬件描述語(yǔ)言中涉及了許多信號(hào)、變量和常量,它們用來(lái)保持?jǐn)?shù)據(jù)。在VHDL中,保持?jǐn)?shù)據(jù)的信號(hào)、變量和常量稱為目標(biāo)。

VHDL是一種非常嚴(yán)格的數(shù)據(jù)類型化語(yǔ)言,規(guī)定每個(gè)信號(hào)、常量或變量和每個(gè)表達(dá)式有一個(gè)惟一的確定數(shù)據(jù)類型,每個(gè)目標(biāo)和表達(dá)式的數(shù)據(jù)類型靜態(tài)地被確定。每一個(gè)目標(biāo)都有一個(gè)數(shù)據(jù)類型來(lái)確定目標(biāo)保持的那一類數(shù)據(jù)。在表達(dá)式中分配數(shù)值給目標(biāo)時(shí)的數(shù)據(jù)類型不可以被混用。在VHDL中目標(biāo)有三種:信號(hào)、變量和常量。

信號(hào)和變量可以賦予一系列的值,而常量一次僅被分配一個(gè)值。信號(hào)和變量又有不同,賦予信號(hào)的數(shù)值要到未來(lái)的某個(gè)時(shí)刻,信號(hào)才接受當(dāng)前的數(shù)值;而賦予變量的數(shù)值,變量立即接收當(dāng)前的數(shù)值。目標(biāo)的一般形式如下:<目標(biāo)種類><目標(biāo)<,目標(biāo)...>>:<目標(biāo)類型>:=<表達(dá)式>;二、VHDL數(shù)據(jù)類型和屬性目標(biāo):是一個(gè)或多個(gè)代表著目標(biāo)種類的字符串,多個(gè)目

標(biāo)時(shí)用“,”號(hào)分開。<目標(biāo)種類><目標(biāo)<,目標(biāo)...>>:<目標(biāo)類型>:=<表達(dá)式>;目標(biāo)種類:信號(hào)(SIGNAL)、變量(VARIABLE)和常量

(CONSTANT)。信號(hào):它表示把元件的端口連接在一起的互連線。

變量:用于對(duì)暫時(shí)數(shù)據(jù)的局部存儲(chǔ),變量只在進(jìn)程和子

程序內(nèi)部定義。

常量:對(duì)某些特定類型數(shù)據(jù)賦予的一次性數(shù)值。表達(dá)式:表達(dá)式是為了規(guī)定目標(biāo)的初始值,這是缺省部分。目標(biāo)類型:為了規(guī)定目標(biāo)的特征,VHDL含有很寬范圍的數(shù)據(jù)類型。VHDL除了有基本的數(shù)據(jù)類型之外,設(shè)計(jì)者還可以建立自己的數(shù)據(jù)類型,類型說(shuō)明部分規(guī)定類型名和類型范圍,它的一般形式是:VARIABLEa1:INTEGER:=3;TYPE<類型名>IS<類型范圍>;標(biāo)量類型、復(fù)合類型、子類型、文件類型和尋址類型。標(biāo)量類型包括所有的簡(jiǎn)單類型:如整數(shù)、實(shí)數(shù)等;復(fù)合類型包括數(shù)組和記錄;尋址類型在一般編輯語(yǔ)言中等價(jià)為指針;文件類型是設(shè)計(jì)者定義的文件類型為設(shè)計(jì)者提供說(shuō)明的文件對(duì)象;子類型主要是對(duì)現(xiàn)有類型加以限制。VHDL可用數(shù)據(jù)類型有五類:1.標(biāo)量數(shù)據(jù)類型

標(biāo)量數(shù)據(jù)類型是基本的數(shù)據(jù)類型,它包括整數(shù)類型、實(shí)數(shù)類型、物理類型和枚舉類型。

物理類型要提供一個(gè)基本單位,然后在這個(gè)基本單位上定義多個(gè)或零個(gè)次級(jí)單位,每個(gè)次級(jí)單位都是基本單位的整數(shù)倍。

枚舉類型在形式上是定義括弧括起來(lái)的字符串文字表,一個(gè)字符串文字在枚舉類型定義中只能出現(xiàn)一次,但允許同樣一個(gè)字符串文字出現(xiàn)在不同的枚舉類型的字符串文字表中,枚舉類型的字符串文字表中的文字是由設(shè)計(jì)者定義的,這些字母可以是單個(gè)字母,也可以是一個(gè)字符串,例如BREAKFAST,Lunch,a等。

下面舉一個(gè)VHDL程序加深理解枚舉類型的使用。一個(gè)目標(biāo)的數(shù)值有可能經(jīng)常更換或者說(shuō)是包含多個(gè)值,但一個(gè)目標(biāo)一次只能被一種類型說(shuō)明。PACKAGEmeals_pkgIS

TYPEmealIS(breakfast,lunch,dinner);

ENDmeals_pkg;例1:USEwork.meals_pkg.all;ARCHITECTUREmeals_arcOFmealsIS

BEGIN

WITHprevious_mealSELECT

next_meal<=breakfastWHENdinner,

lunchWHENbreakfast,

dinnerWHENlunch;

ENDmeals_arc;自定義程序包的名字枚舉數(shù)據(jù)類型的名字三個(gè)枚舉數(shù)據(jù)ENTITYmealsIS

PORT(previous_meal:INmeal;

next_meal:OUTmeal);

ENDmeals;調(diào)用自定義程序包mealsnextprevious枚舉型數(shù)據(jù)2.復(fù)合數(shù)據(jù)類型

復(fù)合類型是由數(shù)組類型和記錄類型組成,它們的元素是標(biāo)量類型的元素。數(shù)組類型是由相同的標(biāo)量元素組成,即同構(gòu)復(fù)合類型,數(shù)組可以是一維、二維或多維。例如:TYPEmatrixIS

ARRAY(row,column)OFstd_logic;

TYPEr_maISARRAY(1TO10,1TO40)OFstd_logic;TYPEwordISARRAY(15DOWNTO0)OFBIT;TYPEcolumnISRANGE1TO40;TYPErowISRANGE1TO10;CONSTANTROM:BIT_VECTOR(0TO15);

Word(15)…word(0)共16個(gè)同數(shù)據(jù)類型的元素VHDL的屬性

VHDL中的屬性使得VHDL程序更加簡(jiǎn)明扼要,更加容易理解,VHDL的屬性在時(shí)序程序中幾乎處處可見,如值類屬性的左邊界、右邊界、上下邊界以及值類屬性的長(zhǎng)度,還可以檢測(cè)信號(hào)上升沿和下降沿以及前一次發(fā)生的事件等等。TYPEbit1ISARRAY(63DOWNTO32)OFBIT;

VARIABLE

left_range,right_range,uprange,lowrange:INTEGER;

BEGIN

left_range:=bit1’LEFT;--returns63

right_range:=bit1’RIGHT;--returns32

uprange:=bit1’HIGH;--returns63

lowrange:=bit1’LOW;

--returns32

值類屬性:值類屬性用于返回?cái)?shù)組的邊界或長(zhǎng)度,首先舉一例數(shù)組邊界的例子說(shuō)明值類屬性。例2:TYPEbit1ISARRAY(0TO7)OFBIT;

TYPEbit2ISARRAY(8TO31)OFBIT;

VARIABLElen1,len2:INTEGER;

BEGIN

len1:=bit1’LENGTH;--return8

len2:=bit2’LENGTH;--return24下面再舉一個(gè)值類數(shù)組屬性的例子,讓其返回?cái)?shù)組范圍的總長(zhǎng)度。例:它可用來(lái)檢查一個(gè)信號(hào)的變化,并且變化剛剛發(fā)生,即推斷出在信號(hào)上發(fā)生了一個(gè)跳變。

函數(shù)信號(hào)屬性:函數(shù)信號(hào)屬性用來(lái)返回有關(guān)信號(hào)行為功能的信息,它反映一個(gè)信號(hào)是否正好有值的變化或事件的發(fā)生,如clk’EVENT,這個(gè)屬性為“EVENT”,對(duì)檢查時(shí)鐘邊沿觸發(fā)是很有效的。下面舉一個(gè)例子,說(shuō)明函數(shù)信號(hào)屬性的用法。IF

clk=‘1’AND

clk’EVENT

THEN

q<=d;

ENDIF;上述語(yǔ)句中用到了函數(shù)信號(hào)屬性clk’EVENT,說(shuō)明如果時(shí)鐘信號(hào)clk為高電平,并且事件剛剛發(fā)生,也就是說(shuō)是時(shí)鐘上升沿有效,此時(shí)q得到d的信號(hào)。(三)VHDL的行為描述在VHDL硬件描述語(yǔ)言中,描述電路邏輯的程序稱為行為描述,行為描述有并行描述、進(jìn)程描述和順序描述。三個(gè)行為既可以是相互獨(dú)立,成為單一的行為描述體,又可以相互聯(lián)系,成為混合描述體,如進(jìn)程行為描述行為之間是并行行為,進(jìn)程行為體的內(nèi)部是順序行為。1.VHDL的并行行為在典型的編程語(yǔ)言如C或Pascal中,每個(gè)賦值語(yǔ)句按規(guī)定的次序,一個(gè)接在另一個(gè)之后順序執(zhí)行,執(zhí)行的次序由源文件決定。在VHDL中,結(jié)構(gòu)體的內(nèi)部沒有規(guī)定語(yǔ)句的次序,執(zhí)行的次序僅由對(duì)語(yǔ)句中的敏感信號(hào)發(fā)生的事件決定,且語(yǔ)句是同時(shí)執(zhí)行。結(jié)構(gòu)體中并行賦值語(yǔ)句的一般格式如下:<對(duì)象><=<表達(dá)式>;讀作對(duì)象得到表達(dá)式的值,作用是將表達(dá)式的信號(hào)值分配給對(duì)象,即每當(dāng)表達(dá)式的信號(hào)值變化時(shí)執(zhí)行該語(yǔ)句。每個(gè)表達(dá)式都至少有一個(gè)敏感信號(hào),每當(dāng)敏感信號(hào)改變其值時(shí),就執(zhí)行這個(gè)信號(hào)賦值語(yǔ)句。在所有的并行語(yǔ)句中,兩個(gè)以上的并行賦值語(yǔ)句在字面上的順序并不表明它們的執(zhí)行順序。例如下面的兩個(gè)結(jié)構(gòu)體在功能上是等價(jià)的。ENTITYexeIS

PORT(a1,a2:INBIT;

b1,b2:OUTBIT);

ENDexe;ARCHITECTUREexe_arc1OFexeIS

BEGIN

b1<=a1ANDb2;

b2<=NOTa1ORa2;

ENDexe_arc1;ARCHITECTUREexe_arc2OFexeIS

BEGIN

b2<=NOTa1ORa2;

b1<=a1ANDb2;

ENDexe_arc2;另一種并行信號(hào)賦值語(yǔ)句是選擇信號(hào)賦值語(yǔ)句,它們的每一個(gè)賦值語(yǔ)句都需要給出一個(gè)表達(dá)式,同時(shí)給出與該表達(dá)式的每個(gè)可能值相關(guān)聯(lián)的信號(hào)。選擇信號(hào)賦值語(yǔ)句的一般形式如下:

WITH<表達(dá)式>SELECT

<對(duì)象><=<信號(hào)1>WHEN<分支1>,

<信號(hào)2>WHEN<分支2>,

<信號(hào)n>WHEN<分支n>;ARCHITECTURE

sels_arc

OF

sels

ISBEGIN

WITHsSELECT

out1<=d0WHEN0,

d1WHEN1,

d2WHEN2,

d3WHEN3;

END

sels_arc;一個(gè)典型的四路數(shù)據(jù)選擇器VHDL程序說(shuō)明WITH一般形式的用法。ENTITY

sels

IS

PORT(d0,d1,d2,d3:INBIT;

s:ININTEGERRANGE0TO3;

out1:OUTBIT);

END

sels;d0d1d2d3sout1sels仍以四路數(shù)據(jù)選擇器為例,討論另一個(gè)較為復(fù)雜的并行信號(hào)賦值語(yǔ)句的例子,以便更詳細(xì)地說(shuō)明并行概念,下面是四輸入數(shù)據(jù)選擇器的第二個(gè)VHDL程序。

例:LIBRARY

ieee;

USEieee.std_logic_1164.all;

ENTITYmux4IS

PORT(I0,I1,I2,I3,A,B:INstd_logic;

Q:OUTstd_logic);

ENDmux4;ARCHITECTUREmux4_arcOFmux4IS

SIGNAL

sel:INTEGER;

BEGIN

Q<=I0AFTER10nsWHEN

sel=0ELSE

I1AFTER10nsWHEN

sel=1ELSE

I2AFTER10nsWHEN

sel=2ELSE

I3AFTER10ns;

sel<=0WHENA=‘0’ANDB=‘0’ELSE

1WHENA=‘1’ANDB=‘0’ELSE

2WHENA=‘0’ANDB=‘1’ELSE

3;ENDmux4_arc;2.VHDL的進(jìn)程行為

VHDL除了并行行為之外,還有順序行為。順序行為執(zhí)行的順序是一個(gè)接在另一個(gè)之后嚴(yán)格執(zhí)行。順序行為的語(yǔ)句存在于VHDL程序中的進(jìn)程行為之中。而進(jìn)程行為之間是并行行為語(yǔ)句。進(jìn)程行為語(yǔ)句的一般形式如下:<進(jìn)程標(biāo)號(hào)>:PROCESS<敏感信號(hào)表><進(jìn)程說(shuō)明區(qū)>

BEGIN

<語(yǔ)句部分>

WAITON<敏感信號(hào)表>;

WAITUNTIL<條件表達(dá)式>;

WAITFOR<時(shí)間表達(dá)式>;

ENDPROCESS;整個(gè)實(shí)體模塊中的每個(gè)進(jìn)程行為語(yǔ)句,可以在任何時(shí)候被激活,所有被激活的進(jìn)程是并行執(zhí)行的。下面舉一個(gè)3線-8線通用譯碼器程序的例子,說(shuō)明進(jìn)程語(yǔ)句如何工作。LIBRARY

ieee;

USEieee.std_logic_1164.all;

USE

ieee.std_logic_arith.all;

ENTITYdecoderIS

PORT(sel:INUNSIGNED(2DOWNTO0);

dout:OUTUNSIGNED(7DOWNTO0));ENDdecoder;ARCHITECTUREdecoder_arcOFdecoderIS

SIGNALsel1:INTEGER;

BEGIN

PROCESS(sel)

BEGINsel1<=CONV_INTEGER(sel);

CASEsel1IS

WHEN0=>dout<=(‘0’,’0’,’0’,’0’,’0’,’0’,’0’,’1’)AFTER5ns;

WHEN1=>dout<=(‘0’,’0’,’0’,’0’,’0’,’0’,’1’,’0’)AFTER5ns;

WHEN2=>dout<=(‘0’,’0’,’0’,’0’,’0’,’1’,’0’,’0’)AFTER5ns;

WHEN3=>dout<=(‘0’,’0’,’0’,’0’,’1’,’0’,’0’,’0’)AFTER5ns;

WHEN4=>dout<=(‘0’,’0’,’0’,’1’,’0’,’0’,’0’,’0’)AFTER5ns;

WHEN5=>dout<=(‘0’,’0’,’1’,’0’,’0’,’0’,’0’,’0’)AFTER5ns;

WHEN6=>dout<=(‘0’,’1’,’0’,’0’,’0’,’0’,’0’,’0’)AFTER5ns;

WHENOTHERS=>dout<=(‘1’,’0’,’0’,’0’,’0’,’0’,’0’,’0’)AFTER5ns;

ENDCASE;

ENDPROCESS;

ENDdecoder_arc;此例只要sel的值一發(fā)生改變就激活進(jìn)程,從第一句執(zhí)行直到滿足條件后再被掛起。PROCESS(sel)下例是另一種激活進(jìn)程的方式:ENTITY

reg

IS

PORT(d,clk:INBIT;

q1,q2:OUTBIT);

END

reg;

ARCHITECTURE

reg_arc

OF

reg

IS

BEGIN

PROCESS

BEGIN

WAITUNTIL

clk=‘1’;

q1<=d;

ENDPROCESS;

PROCESS

BEGIN

WAITUNTIL

clk=‘0’;q2<=d;

ENDPROCESS;END

reg_arc;進(jìn)程行為語(yǔ)句之間是并行關(guān)系,進(jìn)程行為語(yǔ)句內(nèi)部是順序關(guān)系。

VHDL的每個(gè)結(jié)構(gòu)體中可以有多個(gè)進(jìn)程行為語(yǔ)句。它的關(guān)鍵之處是:3.VHDL的順序行為順序行為語(yǔ)句可分為兩大類:條件控制類,循環(huán)控制類。在這兩類中選出六種IF、CASE、FOR、WHILE..LOOP、EXIT和ASSERT進(jìn)行討論

IF<條件>THEN

<語(yǔ)句>;

ELSIF<條件>THEN

<語(yǔ)句>;

ELSIF<條件>THEN

<語(yǔ)句>;

ELSE

<語(yǔ)句>;

ENDIF;(1)IF語(yǔ)句IF語(yǔ)句的一般形式為:ARCHITECTUREalarm_arcOFalarmIS

BEGIN下面舉例說(shuō)明IF條件語(yǔ)句的用法。例:用VHDL設(shè)計(jì)一家用報(bào)警系統(tǒng)的控制邏輯,它有來(lái)自傳感器的三個(gè)輸入信號(hào)smoke、door、water和準(zhǔn)備傳輸?shù)礁婢O(shè)備的三個(gè)輸出觸發(fā)信號(hào)fire_alarm、burg_alarm、water_alarm以及使能信號(hào)en和alarm_en。VHDL程序描述如下:LIBRARY

ieee;

USEieee.std_logic_1164.all;

ENTITYalarmIS

PORT(smoke,door,water:INstd_logic;

en,alarm_en:INstd_logic;

fire_alarm,burg_alarm,water_alarm:OUTstd_logic);

ENDalarm;PROCESS(smoke,door,water,en,alarm_en)

BEGIN

IF((smoke=‘1’)AND(en=‘0’))THEN

fire_alarm<=‘1’;

ELSE

fire_alarm<=‘0’;

ENDIF;IF((door=‘1’)AND((en=‘0’)AND(alarm_en=‘0’)))THEN

burg_alarm<=‘1’;

ELSE

burg_alarm<=‘0’;

ENDIF;IF((water=‘1’)AND(en=‘0’))THEN

water_alarm<=‘1’;

ELSE

water_alarm<=‘0’;

ENDIF;ENDPROCESS;

ENDalarm_arc;(2)CASE

語(yǔ)句CASE語(yǔ)句的一般形式:CASE<表達(dá)式>IS

WHEN<值>=><語(yǔ)句>;

WHEN<值>|<值>=><語(yǔ)句>;

WHEN<離散范圍>=><語(yǔ)句>;

WHENOTHERS

=><語(yǔ)句>;

ENDCASE;

CASE語(yǔ)句是VHDL提供的另一種形式的控制語(yǔ)句,每當(dāng)單個(gè)表達(dá)式的值在多個(gè)起作用的項(xiàng)中選擇時(shí),用此語(yǔ)句是較合適的,它根據(jù)所給表達(dá)式的值或域,選擇“=>”后面的執(zhí)行語(yǔ)句。用CASE語(yǔ)句應(yīng)該注意三個(gè)問題:

A)關(guān)鍵字WHEN的數(shù)量不作限制,但不容許兩個(gè)語(yǔ)句用一個(gè)值;

B)所有WHEN后面的值在CASE語(yǔ)句中合起來(lái)的值是值域中的全部;C)WHEN語(yǔ)句的次序可以任意排定。下面舉例說(shuō)明ASSERT語(yǔ)句的用法。例:由兩個(gè)或非門構(gòu)成的RS觸發(fā)器。ENTITYRSFFISPORT(R,S:INBIT;

Q:OUTBIT);ENDRSFF;ARCFITECTURERSFF_ARCOFRSFFISBEGIN

PROCESS(R,S)

VARIABLELAST_STATE:BIT:=‘0’;

BEGIN

ASSERTNOT(R=‘1’ANDS=‘1’)

REPORT“BOTHRANDSEQUALTO‘1’”

SEVERITYERROR;

IFR=‘0’ANDS=‘0’THENLAST_STATE:=LAST_STATE;

ELSIFR=‘1’ANDS=‘0’THEN

為真時(shí),執(zhí)行IF語(yǔ)句。

LAST_STATE:=‘0’;

ELSE

LAST_STATE:=‘1’;

ENDIF;Q<=LAST_STATE;ENDPROCESS;ENDRSFF_ARC;信號(hào)可被看作兩個(gè)元件之間數(shù)據(jù)傳輸?shù)耐贰?四)VHDL的結(jié)構(gòu)描述實(shí)體主要描述元件、端口與信號(hào)。元件是硬件的描述,即門、芯片或者電路板。端口是元件與外界的連接點(diǎn),數(shù)據(jù)通過端口進(jìn)入或流出元件。而信號(hào)則是作為硬件連線的一種抽象描述,它既能保持變化的數(shù)據(jù),又可以連接各個(gè)子元件。下面舉例說(shuō)明“調(diào)用元件語(yǔ)句”的用法。對(duì)一個(gè)硬件的結(jié)構(gòu)進(jìn)行描述,就是要描述它由哪些子元件組成,以及各個(gè)子元件之間的互連關(guān)系。結(jié)構(gòu)描述比行為描述更加具體化,即結(jié)構(gòu)描述與硬件之間的關(guān)系要比行為描述與硬件之間的關(guān)系更明顯。前面討論,行為描述的基本單元是進(jìn)程語(yǔ)句。結(jié)構(gòu)描述的基本單元?jiǎng)t是“調(diào)用元件語(yǔ)句”。例:用VHDL結(jié)構(gòu)描述設(shè)計(jì)一全減器,全減器可由兩個(gè)半減器和一個(gè)或門組成。首先用VHDL的行為描述設(shè)計(jì)半減器:ENTITY

halfsub

IS

PORT(A,B:INBIT;

T,C:OUTBIT);

END

halfsub;

PROCESS(A,B)

BEGIN

T<=AXORBAFTER10ns;

C<=(NOTA)ANDBAFTER10ns;ENDPROCESS;ARCHITECTURE

halfsub_arc

OF

halfsub

IS

BEGINEND

halfsub_arc;一定記住輸入、輸出端口的順序。下面再將或門的VHDL程序描述如下:ARCHITECTURE

orgate_arc

OF

orgate

IS

BEGINO1<=A1ORB1;END

orgate_arc;下面將兩個(gè)半減器,一個(gè)或門的端口,通過定義一些中間信號(hào)將其連接起來(lái)形成VHDL的結(jié)構(gòu)描述。ENTITY

orgate

IS

PORT(A1,B1:INBIT;O1:OUTBIT);END

orgate;一定記住輸入、輸出端口的順序。在下面舉的全減器例子里可以看到定義了中間信號(hào)

temp_T,temp_c1和temp_c2ENTITY

fullsub

ISPORT(I1,I2,C_IN:INBIT;FT,C_OUT:OUTBIT);END

fullsub;ARCHITECTURE

fullsub_arc

OF

fullsub

ISSIGNAL

temp_T,temp_c1,temp_c2:BIT;COMPONENT

halfsub

PORT(A,B:INBIT;T,C:OUTBIT);ENDCOMPONENT;COMPONENT

orgate

PORT(A1,B1:INBIT;O1:OUTBIT);ENDCOMPONENT;在說(shuō)明區(qū)定義中間變量。在說(shuō)明區(qū)說(shuō)明調(diào)用的半加器。一定記住順序。三個(gè)輸入,兩個(gè)輸出。圖中虛線框各元件之間的連線命名。temp_T將第一個(gè)半減器的差位輸出連到第二個(gè)半減器的輸入端。信號(hào)temp_c1將第一個(gè)半減器的借位輸出連至“或”門的一個(gè)輸入端,信號(hào)temp_c2將第二個(gè)半減器的借位輸出連至“或”門的另一個(gè)輸入端。用三個(gè)元件調(diào)用語(yǔ)句定義這三個(gè)連接關(guān)系。BEGINU0:halfsubPORTMAP(I1,I2,temp_T,temp_c1);U1:halfsubPORTMAP(temp_T,C_IN,FT,temp_c2);U2:orgatePORTMAP(temp_c1,temp_c2,C_OUT);END

fullsub_arc;

U0halfsubI1I2temp_Ttemp_c1

U1halfsubC_INFTtemp_c2U2C_OUT減數(shù)、被減數(shù)。低位借位與和位。fullsub第四節(jié)組合邏輯電路模塊及其應(yīng)用編碼器譯碼器數(shù)據(jù)選擇器數(shù)值比較器加法器一、編碼器優(yōu)先編碼功能:輸入m位代碼;輸出n位二進(jìn)制代碼(m≤2n)。

優(yōu)先編碼器允許幾個(gè)輸入端同時(shí)加上信號(hào),電路只對(duì)其中優(yōu)先級(jí)別最高的信號(hào)進(jìn)行編碼。邏輯功能:任何一個(gè)輸入端接低電平時(shí),三個(gè)輸出端有一組對(duì)應(yīng)的二進(jìn)制代碼輸出。(一)二進(jìn)制編碼器將輸入信號(hào)編成二進(jìn)制代碼的電路任何時(shí)刻只允許一個(gè)輸入端有信號(hào)輸入。8線—3線優(yōu)先編碼器74148編碼輸入I0I1I2I3I4I5I6I7使能輸入S使能輸出YS擴(kuò)展輸出YEX編碼輸出Y0Y1Y2~~:編碼輸出端。:使能輸入端;=0時(shí),編碼,=1時(shí),禁止編碼。:使能輸出端,編碼狀態(tài)下(=0),若無(wú)輸入信號(hào),=0。:擴(kuò)展輸出端,編碼狀態(tài)下(=0),若有輸入信號(hào),=0。管腳定義::輸入,低電平有效,優(yōu)先級(jí)別依次為~。二—十進(jìn)制編碼器編碼輸入I1I2I3I4I5I6I7I8I9編碼輸出Y0Y1Y2Y3

PROCESS(input)

ENDPROCESS;END

rtl;LIBRARYIEEE;USEIEEE.std_logic_1164.all;ENTITY

priorityencoder

ISPORT(input:INSTD_LOGIC_VECTURE(7DOWNTO0);y:OUTSTD_LOGIC_VECTURE(2DOWNTO0);END

priorityencoder;ARCHITECTURE

rtl

OF

priorityencoder

ISBEGIN優(yōu)先編碼器的VHDL描述

首先判斷input(7)是否為低,若為低,執(zhí)行接下來(lái)的語(yǔ)句,將結(jié)果送到輸出,然后退出進(jìn)程。否則繼續(xù)判別IF語(yǔ)句,執(zhí)行程序。

IF(input(7)='0')THENy<=''000'';

ELSIF(input(6)='0')THENy<=''001'';……

ELSIF(input(1)='0')THENy<=''110'';

ELSEy<=''111'';

ENDIF;(二)編碼器的應(yīng)用(3)第一片工作時(shí),編碼器輸出:0000-0111

第二片工作時(shí),編碼器輸出:1000-1111解:(1)編碼器輸入16線,用兩片8-3線編碼器,高位為第一片,低位為第二片。高位低位(2)實(shí)現(xiàn)優(yōu)先編碼:高位選通輸出與低位控制端連接。例:用8-3線優(yōu)先編碼器74148擴(kuò)展成16線-4線編碼器。A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15Z1Z0Z2Z3譯碼輸入譯碼輸出

a1

a0

y0

y1

y2

y30010000101001000101100012位二進(jìn)制譯碼器譯碼輸入譯碼輸出

a1

a0

y0

y1

y2

y30001110110111011011111102位二進(jìn)制譯碼器二、譯碼器(一)變量譯碼器

二進(jìn)制譯碼器輸入輸出滿足:m=2n如:2線-4譯碼器集成譯碼器741388421BCD譯碼器

譯碼輸入:n位二進(jìn)制代碼譯碼輸出m位:一位為1,其余為0或一位為0,其余為12線—4線譯碼器

1&Y3&Y2&Y1&Y0S1B1A譯碼輸入,二進(jìn)制編碼0~7依次對(duì)應(yīng)8個(gè)輸出。3線-8譯碼器(74LS138)八個(gè)輸出端,低電平有效。譯碼狀態(tài)下,相應(yīng)輸出端為0;禁止譯碼狀態(tài)下,輸出均為1?!玈1、使能輸入,與邏輯。EN=1(

EN=0,禁止譯碼,輸出均為1。),譯碼。A0

~A2Y0Y1Y2Y3Y4Y5Y6Y7A0A1A2S3S2S101234567BIN/OCT012G70&EN

3—8譯碼器的VHDL描述

LIBRARYIEEE;USEIEEE.std_logic_1164.all;ENTITYdecoder_3_to_8ISPORT(a,b,c,g1,g2a,g2b:INSTD_LOGIC;

y:OUTSTD_LOGIC_VECTOR(2DOWNTO0);ENDdecoder_3_to_8;ARCHITECTURErtlOFdecoder_3_to_8ISSIGNALindata:STD_LOGIC_VECTOR(2DOWNTO0);BEGIN

indata<=c&b&a;PROCESS(indata,g1,g2a,g2b)BEGINIF(g1='1'ANDg2a='0'ANDg2b='0')THEN選通輸入端g1=1,g2a=0,g2b=0時(shí),3-8譯碼器才進(jìn)行正常譯碼。

CASE

indataISWHEN''000''=>y<=''11111110'',WHEN''001''=>y<=''11111101'',WHEN''010''=>y<=''11111011'',WHEN''011''=>y<=''11110111'',WHEN''100''=>y<=''11101111'',WHEN''101''=>y<=''11011111'',WHEN''110''=>y<=''10111111'',WHEN''111''=>y<=''01111111'',WHENothers=>y<=''11111111'';ENDcase;ELSE

y<=''11111111'';ENDIF;ENDPROCESS;ENDrtl;

否則y0

~y7輸出均為高電平使能端的兩個(gè)作用:(1)消除譯碼器輸出尖峰干擾EN端正電平的出現(xiàn)在A0~A2穩(wěn)定之后;EN端正電平的撤除在A0~A2再次改變之前。

(2)邏輯功能擴(kuò)展例:用3線-8譯碼器構(gòu)成4線-16譯碼器。避免A0~A2在變化過程中引起輸出端產(chǎn)生瞬時(shí)負(fù)脈沖。例:用3線-8線譯碼器構(gòu)成4線-16線譯碼器。X0~X3:譯碼輸入E:譯碼控制E=0,譯碼E=1,禁止譯碼X3~X0:0000~0111,第一片工作X3~X0:1000~1111第二片工作000~111

譯碼輸入001000000~111

譯碼輸入101001例:試用74138和與非門構(gòu)成一位全加器。解:全加器的最小項(xiàng)表達(dá)式應(yīng)為(三)譯碼器的應(yīng)用Si=Ci+1=&SiY0Y1Y2Y3Y4Y5Y6Y7A0A1A2S3S2S101234567BIN/OCT012G70&ENCiBiAi1

&Ci+18421BCD譯碼器

輸入端輸入端Y0Y1Y2Y3Y4Y5Y6Y7Y8Y9A0A1A2A30123456789BIN/DEC0123G90&ENS3S2S1利用譯碼器實(shí)現(xiàn)組合邏輯電路

例:用譯碼器和門電路實(shí)現(xiàn)邏輯函數(shù)

=CBAY0Y1Y2Y3Y4Y5Y6Y7A0A1A2S3S2S101234567BIN/OCT012G70&EN1F&輸入數(shù)據(jù)用譯碼器構(gòu)成數(shù)據(jù)分配器地址選擇碼多路數(shù)據(jù)輸出D0D1D2D3D4D5D6D7A0A1A2S3S2S101234567BIN/OCT012G70&END1(二)數(shù)字顯示譯碼器1.七段數(shù)碼管2.七段顯示譯碼器共陰極共陽(yáng)極:高電平亮:低電平亮每一段由一個(gè)發(fā)光二極管組成。輸入:二—十進(jìn)制代碼輸出:譯碼結(jié)果,可驅(qū)動(dòng)相應(yīng)的七段數(shù)碼管顯示正確的數(shù)字。顯示譯碼器動(dòng)畫七段譯碼器7448BCD碼輸入信號(hào)譯碼輸出,低電平有效本信號(hào)為低電平時(shí),熄滅。當(dāng)LT為低電平時(shí),BI/RBI為高電平時(shí),試燈。

當(dāng)LT為高電平,RBI為低電平時(shí),滅零。在多個(gè)通道中選擇其中的某一路,或多個(gè)信息中選擇其中的某一個(gè)信息傳送或加以處理。數(shù)據(jù)選擇器多輸入一輸出選擇三、數(shù)據(jù)選擇器(一)分類:2選1、4選1、8選1、16選1。雙四選一數(shù)據(jù)選擇器74153三、數(shù)據(jù)選擇器(一)分類:二選一、四選一、八選一、十六選一。雙四選一數(shù)據(jù)選擇器74153使能端輸出端數(shù)據(jù)輸入公用控制輸入F2F2D8D9D10D11D12D13D14D15A0A1A201234567MUX012G70ENS1(1)(2)F1F1D0D1D2D3D4D5D6D7A0A1A201234567MUX012G70ENS8選1數(shù)據(jù)選擇器74LS151八選一需3位地址碼(二)數(shù)據(jù)選擇器的通道擴(kuò)展

例:試用最少數(shù)量的4選1選擇器擴(kuò)展成16選1選擇器。將地址連接在一起將兩片的輸出原端用或門連載一起,和非端用與門連接在一

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論