第6章 邏輯代數基礎_第1頁
第6章 邏輯代數基礎_第2頁
第6章 邏輯代數基礎_第3頁
第6章 邏輯代數基礎_第4頁
第6章 邏輯代數基礎_第5頁
已閱讀5頁,還剩56頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第6章邏輯代數基礎

6.1數字電路中使用的數制簡介

6.2碼制和常用代碼

6.3邏輯代數

6.4邏輯函數的表示方法及其相互轉換

6.5邏輯代數的基本公式、定律和規則

6.6邏輯函數的化簡

本章小結習題六6.1數字電路中使用的數制簡介數制即計數體制,它是按照一定規則表示數值大小的計數方法。日常生活中最常用的計數體制是十進制,數字電路中常用的是二進制,有時也采用八進制和十六進制。對于任何一個數,可以用不同的進制來表示。6.1.1二進制數在數字電路中,應用最廣的是二進制。二進制數中只有0、1兩個數字符號,所以運算規則是“逢二進一,借一當二”,各位的權為2i,ki為第i位的系數,設某二進制數N2有n位整數,m位小數,則可表示為

N2=(6.1)利用式(1.1)可以將任何一個二進制數轉換為十進制數。例6.1將二進制數101.11轉換為十進制數。

解:(101.11)2=1×22+0×21+1×20+1×2-1+1×2-2=(5.75)10計算機內采用的是二進制表示,采用二進制具有以下優點:(1)二進制只有0和1兩個代碼,因此,在數字系統中,可用電子器件的兩種不同狀態來表示這兩個代碼,實現起來非常方便。例如,用晶體管的導通和截止來表示0和1,或用低電平和高電平來表示0和1等。所以,二進制數的物理實現簡單、易行、可靠,并且存儲和傳送也方便。(2)二進制運算規則簡單,有利于簡化計算機的內部結構,提高運算速度。二進制數的缺點是書寫位數太多,不便記憶。為此數字系統通常用八進制和十六進制。6.1.2二進制數與其他進制數的轉換1.二進制數轉換成十進制數將二進制數轉換成十進制數時,只要將該數寫成按權展開式,然后將各項相加求出最終結果即可,如例6.1。2.二進制數轉換成八進制數由于1位八進制數有0~7八個數碼,3位二進制數正好有000~111八種組合,它們之間有以下簡單的對應關系八進制數01234567二進制數000001010011100101110111利用這種對應關系,可以很方便地在八進制數與二進制數之間進行轉換。將二進制數轉換為八進制數的方法是:以小數點為界,將二進制數的整數部分從低位開始,小數部分從高位開始,每3位分成一組,頭尾不足3位的補0,然后將每組3位二進制數轉換為1位八進制數。例6.2將(10111010011.01011)2轉換成八進制。解:

010

111

010

011

.010

1102723.24所以,(10101010011.01011)2=(2723.24)8將八進制轉換為二進制,只要將每1位八進制用3位二進制數表示即可。3.二進制數轉換成十六進制數由于1位十六進制數有16個代碼,它們是:0,1,2,3,4,5,6,7,8,9,A(對應于十進制數中的10),B(11),C(12),D(13),E(14),F(15)。而4位二進制數正好有0000~11111十六種組合,它們之間也存在簡單的對于關系。利用這種對于關系,可以很方便地在十六進制數與二進制數之間進行轉換。轉換方法與二、八進制數的轉換類似,只是將二進制數中3位一組改為4位一組。例6.3將二進制數(11010111010.011101)2轉換成十六進制數。解:

0110

1011

1010.0111

0100

6BA.74所以,(11010111010.011101)2=(6BA.74)16例6.4將十六進制數(94E.B0C)16轉換成二進制數。解:

9

4

E.B

0

C

100101001110.101100001100所以,(94E.B0C)16=(100101001110.101100001100)26.1.3二進制正、負數的表示法

在十進制數中,可以在數字前面加上“+”、“-”號來表示正、負數,顯然數字電路不能直接識別“+”、“-”號。因此,在數字電路中把一個數的最高位作為符號位,并用0表示“+”號,用1表示“-”號,像這樣符號也數碼化的二進制數稱為機器數。原來帶有“+”、“-”號的數稱為真值。例如:十進制數+67-67

二進制數(真值)+1000011-1000011

計算機內(機器數)01000011

11000011通常,二進制正、負數(機器數)有3種表示方法:原碼、反碼和補碼。1.原碼用首位表示數的符號,0表示正,1表示負,其它位則為數的真值的絕對值,這樣表示的數就是數的原碼。例6.5求(+105)10和(-105)10的原碼。解:

[(+105)10]原=[(+1101001)2]原=(01101001)2[(-105)10]原=[(-1101001)2]原=(11101001)20的原碼有兩種,即

[+0]原=(00000000)2[-0]原=(10000000)2原碼簡單易懂,與真值轉換起來很方便。但若是兩個異號的數相加或兩個同號的數相減就要做減法,做減法就必須判別這兩個數哪一個絕對值大,用絕對值大的數減去絕對值小的數,運算結果的符號就是絕對值大的那個數的符號,這樣操作比較麻煩,運算的邏輯電路也較難實現。于是,為了將加法和減法運算統一成只做加法運算,就引入了反碼和補碼表示。2.反碼反碼用得較少,它只是求補碼的一種過渡。正數的反碼與其原碼相同,負數的反碼是這樣求的:先求出該負數的原碼,然后原碼的符號位不變,其余各位按位取反,即0變1,1變0。例6.6求(+65)10和(-65)10的反碼。解:[(+65)10]原=(01000001)2

[(-65)10]原=(11000001)2則[(+65)10]反=(01000001)2[(-65)10]反=(10111110)2很容易驗證:一個數反碼的反碼就是這個數本身。

3.補碼正數的補碼與其原碼相同,負數的補碼是它的反碼加1。例6.7求(+63)10和(-63)10的補碼。解:[(+63)10]原=(00111111)2[(+63)10]反=(00111111)2則[(+63)10]補=(00111111)2[(-63)10]原=(10111111)2[(-63)10]反=(11000000)2則[(-63)10]補=(11000001)2同樣可以驗證:一個數的補碼的補碼就是其原碼。引入了補碼以后,兩個數的加減法運算就可以統一用加法運算來實現,此時兩數的符號位也當成數值直接參加運算,并且有這樣一個結論:兩數和的補碼等于兩數補碼的和。所以在數字系統中一般用補碼來表示帶符號的數。例6.8用機器數的表示方式,求13-17的差。解:第一步:求補碼

[(+13)10]原=(00001101)2[(+13)10]補=(00001101)2[(-17)10]原=(10010001)2[(-17)10]補=(11101111)2第二步:求補碼之和

[(+13)10]補+[(-17)10]補=(11111100)2第三步:求和的補碼

[(11111100)2]補=(10000100)2,即-4。6.2碼制和常用代碼在數字設備中,任何數據和信息都要用二進制代碼表示。二進制中只有兩個符號:0和1。如有n位二進制數,它有2n種不同的組合,即可以代表2n種不同的信息。指定用某一二進制代碼組合去代表某一信息的過程叫編碼。由于這種指定是任意的,所以存在多種多樣的編碼方案。本節介紹幾種常用的編碼。6.2.1二—十進制編碼(BCD碼)二—十進制編碼是一種用4位二進制代碼表示1位十進制數的編碼,簡稱BCD(BinaryCodedDecimal)碼。1位十進制數有0~9十個數碼,而4位二進制數有16種組態,指定其中的任意10種組態來表示十進制的10個數,因此BCD編碼方案有很多,常用的有8421碼、余3碼、2421碼、5421碼等,如表6.1所列。表6.1所列各種BCD碼中,8421碼、2421碼和5421碼都屬于有權碼,而余3碼屬于無權碼。1.8421BCD碼8421BCD碼是最常用的一種BCD碼,它和自然二進制碼的組成相似,4位的權值從高到低依次是8,4,2,1。但不同的是,它只選取了4位自然二進制碼16個組合中的前10個組合,即0000~1001,分別用來表示0~9十個十進制數,稱為有效碼,剩下的6個組合1010~1111沒有采用,稱為無效碼。8421BCD碼與十進制數之間的轉換只要直接按位轉換即可。例如:(509.37)10=(010100001001.00110111)8421BCD

(011101001000.00010110)=(748.16)102.余3碼余3碼由8421碼加3(0011)得到。或者說是選取了4位自然二進制碼16個組合中的中間10個,而舍棄頭、尾3個組合而形成。余3碼也常用于BCD碼的運算電路中。若將兩個余3碼相加,其和將比所表示的十進制數及所對應的二進制數多6,當和為10時,正好等于二進制數的16,于是便從高位自動產生進位信號。一個十進制數用余3碼表示時,只要按位表示成余3碼即可。例如:(85.93)10=(10111000.11000110)余3BCD3.2421BCD碼和5421BCD碼2421BCD碼和5421BCD碼都是有權碼,從高位到低位的權值依次為:2,4,2,1和5,4,2,1,這兩種碼的編碼方案都不是唯一的,表1.2中給出的是其中一種方案。2421BCD碼在進行運算時,也具有和余3碼類似的特點。5421BCD碼較明顯的一個特點是:最高位連續5個0后又連續五個1。若計數器采用該種代碼進行編碼,在最高位可產生對稱方波輸出。6.2.2可靠性編碼代碼在產生和傳輸過程中,難免發生錯誤,為減少錯誤發生,或者在發生錯誤時能迅速地發現和糾正,在工程應用中普遍采用了可靠性編碼。利用該技術編出的代碼叫可靠性代碼,格雷碼和奇偶校驗碼是其中最常用的兩種。1.格雷碼格雷碼有多種編碼形式,但所有格雷碼都有兩個顯著的特點:一是相鄰性,二是循環性。相鄰性是指任意兩個相鄰的代碼間僅有1位的狀態不同;循環性是指首尾的兩個代碼也具有相鄰性。因此,格雷碼也稱循環碼。表6.2列出了典型的格雷碼與十進制碼及二進制碼的對應關系。由于格雷碼具有以上特點,因此時序電路中采用格雷碼編碼時,能防止波形出現“毛刺”,并可提高工作速度。這是因為,其它編碼方法表示的數碼,在遞增或遞減過程中可能發生多位數碼的變化。例如,8421BCD碼表示的十進制數,從7(0111)遞增到8(1000)時,4位數碼均發生了變化。但事實上數字電路(如計數器)的各位輸出不可能完全同時變化,這樣在變化過程中就可能出現其他代碼,造成嚴重錯誤。如第1位先變為1,然后再其他位變為0,就會出現從0111變到1111的錯誤。而格雷碼由于其任何兩個代碼(包括首尾兩個)之間僅有1位狀態不同,所以用格雷碼表示的數在遞增或遞減過程中不易產生差錯。2.奇偶校驗碼數碼在傳輸、處理過程中,難免發生一些錯誤,即有的1錯成0,有的0錯成1。奇偶校驗碼是一種能夠檢驗出這種差錯的可靠性編碼。奇偶校驗碼由信息位和校驗位兩部分組成,信息位是要傳輸的原始信息,校驗位是根據規定算法求得并添加在信息位后的冗余位。奇偶校驗碼分奇校驗和偶校驗兩種。以奇校驗為例,校驗位產生的規則是:若信息位中有奇數個1,校驗位為0,若信息位中有偶數個1,校驗位為1。偶校驗正好相反。也就是說,通過調節校驗位的0或1使傳輸出去的代碼中1的個數恒為奇數或偶數。接收方對收到的加有校驗位的代碼進行校驗。信息位和校驗位中1的個數的奇偶性符合約定的規則,則認為信息沒有發生差錯,否則可以確定信息已經出錯。表6.3所列為8421BCD碼的奇校驗碼和偶校驗碼。這種奇偶校驗只能發現錯誤,但不能確定是哪一位出錯,而且只能發現代碼的1位出錯,不能發現2位或更多位出錯。但由于其實現起來容易,信息傳送效率也高,而且由于2位或2位以上出錯的幾率相當小,所以奇偶校驗碼用來檢測代碼在傳送過程中的出錯是相當有效的,被廣泛應用于數字系統中。奇偶校驗碼只能發現1位出錯,但不能定位錯誤,因而也就不能糾錯。漢明校驗碼就是一種既能發現又能定位錯誤的可靠性編碼,漢明校驗的基礎是奇偶校驗,可以看成是多重的奇偶校驗碼。6.2.3字符碼字符碼是對字母、符號等編碼的代碼。目前使用比較廣泛的是ASCII碼,它是美國信息交換標準碼(AmericanStandardCodeforInformationInterchange)的簡稱。ASCII碼用7位二進制數編碼,可以表示27(128個)字符,其中95個可打印字符,33個不可打印和顯示的控制字符。如表6.4所列。由表可以看出,數字和英文字母都是按順序排列的,只要知道其中一個數字或字母的ASCII碼,就可以求出其它數字或字母的ASCII碼。具體特點為:數字0~9的ASCII碼表示成十六進制數為30H~39H,即任一數字字符的ASCII碼等于該數字值加上+30H;字母的ASCII瑪中,小寫字母a~z的ASCII碼表示成十六進制數為61H~7AH,而大寫字母A~Z的ASCII碼表示成十六進制數為41H~5AH,同一字母的大小寫其ASCII碼不同,且小寫字母的ASCII碼比大寫字母的ASCII碼大20H。為了使用更多的字符,大部分系統采用擴充的ASCII碼。擴充ASCII碼用8位二進制數編碼。共可表示256(28=256)個符號。其中編碼范圍在00000000~01111111之間編碼所對應的符號與標準ASCII碼相同,而10000000~11111111之間的編碼定義了另外128個圖形符號。6.3邏輯代數6.3.1邏輯變量與邏輯函數1849年,英國數學家喬治?布爾(GeorgeBoole)首先提出了描述客觀事物邏輯關系的數學方法——布爾代數。因為布爾代數廣泛地用于解決開關電路及數字邏輯電路的分析設計上,故又把布爾代數稱為開關代數或邏輯代數。值得注意的是,邏輯代數與數學中的普通代數是不同的,盡管有些運算在形式上是一樣的,但其含義不同,在學習過程中,一定要加以區別。邏輯代數中,也用字母來表示變量,這種變量叫做邏輯變量。邏輯變量的取值只有0和1兩個,這里的0和1不再表示數量的大小,只表示兩種不同的邏輯狀態,如是和非、開和關、高和低等。在研究事件的因果關系時,決定事件變化的因素稱為邏輯自變量,對應事件的結果稱為邏輯因變量,也叫邏輯結果,以某種形式表示邏輯自變量與邏輯結果之間的函數關系稱為邏輯函數。例如,當邏輯自變量A,B,C,D,……的取值確定后,邏輯因變量F的取值也就惟一確定了,則稱F是A,B,C,D,……的邏輯函數。記作:

F=f(A,B,C,D,……)邏輯代數中有3種基本的邏輯關系,即與邏輯關系、或邏輯關系和非邏輯關系。與之相對應,有三種基本的邏輯運算,分別是與、或、非邏輯運算。1.與運算實際生活中與邏輯關系的例子很多。例如,在圖6.1(a)所示電路中,電源Us通過開關A和B給燈泡Y供電,只有當開關A和B全部閉合時,燈泡Y才會亮,若有一個或兩個開關斷開,燈泡Y都不會亮。從這個電路可以總結出這樣的邏輯關系:“只有當一件事(燈亮)的幾個條件(開關A與B都接通)全部具備時,這件事才發生”,這種關系稱為與邏輯。這一關系可以用表6.5所示的功能來表示。若用二值邏輯0和1來表示圖6.1(a)所示電路的邏輯關系,把開關和燈分別用字母A、B和Y表示,并用0表示開關斷開和燈滅,用1表示開關閉合和燈亮,這種用字母表示開關和燈的過程稱為設定變量,用二進制代碼0和1表示開關和燈有關狀態的過程稱為狀態賦值。經過狀態賦值得到的反映開關狀態和電燈亮滅之間邏輯關系的表格稱為真值表,如表6.6所列。若用邏輯表達式來描述上面的關系,則可寫為Y=A·B

(6.2)式中“·”表示A和B的與運算,讀作“與”,也叫作邏輯乘。在不致引起混淆的前提下,“·”可省略。圖6.1(b)所示是與運算的邏輯符號。2.或運算實際生活中或邏輯關系的例子也很多,在圖6.2(a)所示電路中,當開關A和B中至少有一個閉合時,燈泡Y就會亮。由此可總結出另一種邏輯關系:“當一件事情的幾個條件中只要有一個條件得到滿足,這件事就會發生”,這種邏輯關系稱為或邏輯。在同上的狀態賦值條件下,或運算的表達式和真值表分別如式(6.3)和表6.7所列。

Y=A+B

(6.3)式中符號“+”表示A和B的或運算,讀作或,也叫做邏輯加。圖6.2(b)所示是或運算的邏輯符號。3.非運算在圖6.3(a)所示的開關電路中,當開關A閉合時,燈泡Y不亮;只有當開關A斷開時,燈泡Y才會亮。由此可總結出第三種邏輯關系,即“一件事情的發生是以其相反的條件為依據”。這種邏輯關系稱為非邏輯。非就是相反,就是否定。非運算的表達式和真值表分別如式(6.4)和表6.8所列。 (6.4)上式中,字母上方的“—”表示非運算,讀作非或反。圖6.3(b)所示是非運算邏輯符號。6.3.3復合邏輯運算與、或、非是邏輯代數中的3種基本運算,實際的邏輯問題往往比與、或、非復雜得多,不過這些復雜的邏輯運算都可以通過3種基本的邏輯運算組合而成。最常見的復合邏輯運算有:與非運算、或非運算、異或運算、同或運算以及與或非運算,其邏輯表達式、邏輯符號、真值表如表6.9、6.10所列。6.3.4幾個概念1.高、低電平的概念前面已多次提到高、低電平的概念,今后還要經常用到。這里“電平”就是“電位”,電位是伏特(V)。在數字電路中,人們習慣于用高、低電平來描述電位的高低。高電平(VH)、低電平(VL)是兩種不同的狀態,它們表示的都是一定的電壓范圍,而不是一個固定不變的數值。例如,在TTL電路中,常規定高電平的額定值為3V,低電平的額定值為0.2V,而從0V~0.8V都算作低電平,從1.8V~5V都算作高電平。如果超出規定的范圍,(VH低于下限值和VL高于上限值時),則不僅會破壞電路的邏輯功能,而且還可能造成器件性能下降甚至損壞。2.正、負邏輯的概念數字電路是以輸入、輸出電平的高、低來表示邏輯值0或1的。若規定以高電平表示邏輯1,低電平表示邏輯0,這種規定稱為正邏輯。反之,若規定以高電平表示邏輯0,低電平表示邏輯1,這種規定稱為負邏輯。前面討論各種邏輯門電路的邏輯功能時,都采用的是正邏輯。值得注意的是,同一門電路,可以采用正邏輯,也可以采用負邏輯。正邏輯與負邏輯的規定不涉及邏輯電路本身的結構與性能好壞,但不同的規定可使同一電路具有不同的邏輯功能。例如,假定某邏輯門電路的輸入、輸出電平關系如表6.11所列。按正邏輯規定可得到表6.12所列真值表,由真值表可知,該電路是一個與門。按負邏輯規定可得到表6.13所列真值表,由真值表可知,該電路是一個或門。

由此可知,正邏輯與門等價于負邏輯或門。同理,正邏輯的或門等價于副邏輯的與門;正邏輯的與非門等價于負邏輯的或非門;正邏輯的或非門等價于負邏輯的與非門。但是對于非門電路來說,不管是正邏輯還是負邏輯,其邏輯功能不變。本書所涉及的邏輯電路,如無特別說明,采用的都是正邏輯。6.4邏輯函數的表示方法及其相互轉換一個邏輯函數可以采用真值表、邏輯表達式、邏輯圖、波形圖和卡諾圖5種表示形式。雖然各種表示形式具有不同的特點,但它們都能表示出輸出變量與輸入變量之間的邏輯關系,并且可以相互轉換。下面分別介紹。6.4.1真值表

真值表也叫邏輯真值表,它是將輸入、輸出變量之間各種取值的邏輯關系經過狀態賦值后用0、1兩個數字符號列成的表格。在圖6.4所示的電燈控制電路中,若設開關A、B接到S1用1表示、接到S0用0表示,電燈亮用1表示、不亮用0表示,可以得到反映開關A、B和電燈Y狀態關系的真值表,如表6.14所列。真值表的優點是:能夠直觀明了地反映出輸入變量與輸出變量之間的取值對應關系,而且當把一個實際問題抽象為邏輯問題時,使用真值表最為方便,所以在數字電路的邏輯設計中,首先就是根據要求列出真值表。真值表的主要缺點是:不能進行運算,而且當變量比較多時,真值表就會變得比較復雜。一個確定的邏輯函數,只有一個真值表,因此真值表具有唯一性。6.4.2邏輯表達式邏輯表達式是用與、或、非3種基本運算組合而成的表示邏輯關系的一種數學表示形式。1.由真值表求邏輯表達式的方法(1)標準與或式由真值表可以方便地寫出邏輯表達式,其方法如下:在真值表中,找出那些使函數值為1的變量取值組合,在變量取值組合中,變量值為1的寫成原變量(字母上無非號的變量),為0寫成反變量(字母上帶非號的變量),這樣對應于使函數值為1的每一種變量取值組合,都可寫出唯一的乘積項(也叫與項)。只要將這些乘積項加(或)起來,即可得到函數的邏輯表達式。顯然從表6.14不難得到⊙B

將輸入變量A、B的4種取值組合分別代入這個表達式進行計算,然后與真值表進行比較,即可驗證該表達式的正確性。這樣得到的表達式即為邏輯函數的標準與或式。之所以叫做標準與或式,是因為表達式中的乘積項具有標準的形式。這種標準的乘積項,我們稱之為邏輯函數的最小項。因此,標準與或式又可稱做最小項之和表達式。(2)最小項①最小項的定義最小項是邏輯代數中一個重要的概念。在圖1.4所示的電燈控制電路的例子中。變量Y是變量A、B的函數,它是一個兩變量函數。對于兩變量函數共有4種取值組合:00、01、10、11。相應的乘積項也有4,和。這些乘積項就是最小項。同樣,對于三變量邏輯函數,共有8種取值組合:000、001、010、011、100、101、110、111。與之對應的8個最小項是:……。以三變量邏輯函數為例,可以看出最小項的組成有以下特點:

1)每個最小項都由三個因子組成;

2)最小項中,每一個變量都以原變量或反變量的形式作為一個因子出現且僅出現一次。很顯然,一個n變量的邏輯函數,共有2n種取值組合,也就有2n個最小項。②最小項的性質

當輸入變量取某一種組合時:

1)僅有1個最小項的值為1;

2)全體最小項之和恒為1;

3)任意兩個最小項的乘積為0。通常,對于兩個最小項,若它們只有1個因子不同,則稱其為邏輯相鄰的最小項,簡稱邏輯相鄰項。如B和AB是邏輯相鄰項,BC和ABC也是邏輯相鄰項。兩個邏輯相鄰項可以合并成1項,并且消去1個因子。例如,B+AB=B。這一特性正是卡諾圖化簡邏輯函數的依據。今后,為了敘述方便,給每個最小項編上號,用mi表示。、C、…分別用m0、m1、m2……m7表示。最小項的序號就是其對應變量取值組合當成二進制數時所對應的十進制數。

例1.16寫出函數Y=的標準與或式(最小項之和形式)。

Y==AC++

=(C+)+C(A+)

=ABC+AC+C++AC+C

=C+=m7+m5+m1+m0=∑m(0,1,5,7)順便指出:(1)如果把真值表中使函數值為0的那些變量取值組合所對應的最小項加起來,則可得到邏輯函數的反函數的標準與或式。(2)由真值表求出反函數的標準與或式后,再用反演律(詳見1.6.2節)求一次反,即可得函數的標準或與式。例如,已知一個函數Y的反函數的標準與或式為:再對求反,即可得到函數Y的標準或與式為2.邏輯表達式的特點(1)優點:書寫方便,形式簡潔,不會因為變量數目的增多而變得復雜;便于運算和演變,也便于用相應的邏輯符號來實現。(2)缺點:在反映輸入變量與輸出變量的取值對應關系時不夠直觀。6.4.3邏輯圖

邏輯圖是用邏輯符號表示邏輯關系的圖形表示方法。與表達式Y=+AB對應的邏輯圖如圖6.5所示。邏輯圖的優點比較突出。邏輯圖中的邏輯符號和實際使用的電路器件有著明顯的對應關系,所以它比較接近于工程實際。在工作中,要了解某個數字系統或者數控裝置的邏輯功能時,都要用到邏輯圖,因為它可以把許多繁雜的實際電路的邏輯功能層次分明地表示出來。在制作數字設備時,首先也要通過邏輯設計畫出邏輯圖,再把邏輯圖變成實際電路。6.4.4波形圖波形圖也叫時序圖,它是由輸入變量的所有可能取值組合的高、低電平及其對應的輸出變量的高、低電平所構成的圖形。它是用變量隨時間變化的波形來反映輸入、輸出間對應關系的一種圖形表示法。畫波形圖時要特別注意,橫坐標是時間軸,縱坐標是變量取值(高、低電平或二進制代碼1和0),由于時間軸相同,變量取值又十分簡單,所以在波形圖中可略去坐標軸。具體畫波形時,還要注意務必將輸出與輸入變量的波形在時間上對應起來,以體現輸出決定于輸入。根據表6.14和給定的A、B波形對應畫出Y的波形如圖1.6所示。此外,可以利用示波器對電路的輸入、輸出波形進行測試、觀察,以判斷電路的輸入、輸出是否滿足給定的邏輯關系。因此說,波形圖的優點是便于電路的調試和檢測,實用性強,在描述輸出與輸入變量的取值對應關系上也比較直觀。在計算機硬件課程中,通常用波形圖來分析計算機內部各部件之間的工作關系。6.4.5卡諾圖

1.邏輯函數的卡諾圖卡諾圖是一種最小項方格圖,它是由美國工程師卡諾(Karnaugh)設計的,每一個小方格對應一個最小項,n變量邏輯函數有2n個最小項,因此n變量卡諾圖中共有2n個小方格。另外,小方格在排列時,應保證幾何位置相鄰的小方格,在邏輯上也相鄰。所謂幾何相鄰,是指空間位置上的相鄰,包括緊挨著的,以及相對的(卡諾圖中某一行或某一列的兩頭)。畫卡諾圖時,根據函數中變量數目n,將圖形分成2n個方格,方格的編號和最小項的編號相同,由方格外面行變量和列變量的取值決定。圖1.7(a)、(b)、(c)分別是三變量、四變量和五變量的卡諾圖,圖中,A和B是行變量,C和D是列變量。約定:(1)寫方格編號時,以行變量為高位組,列變量為低位組(當然也可用相反的約定)。例如圖6.7(b)中,AB=10,CD=01的方格對應編號為m9(1001=9)的最小項,那么就可以在對應的方格中填上m9,或只簡單地填上序號9。(2)行、列變量取值順序一定按循環碼排列,例如圖6.7(b)中AB和CD都是按照00,01,11,10的順序排列的。這樣標注可以保證幾何相鄰的最小項必定也是邏輯相鄰的最小項。循環碼可由二進制數碼推導出來。若設B3B2B1B0是一組4位二進制數碼,則對應的4位循環碼G3G2G1G0可用公式Gi=Bi+1Bi求出。(3)用卡諾圖表示邏輯函數根據邏輯函數最小項表達式畫卡諾圖時,式中有哪些最小項,就在相應的方格中填1,而其余的方格填0(0也可以省略不填)。若不是最小項之和形式,可先化成最小項之和形式。例6.10畫出邏輯函數的卡諾圖。解:式中、已是最小項。含有與項AB的最小項有兩個:ABC和

。故在m3、m5、m6、m7相應的小方格填1,如圖1.8所示。若邏輯函數不是與或式,應先變換成與或式(不必變換成最小項表達式),然后把含有各個與項的最小項在對應小方格內填1,即得函數的卡諾圖。根據真值表畫邏輯函數的卡諾圖就更簡單了。其實,卡諾圖與真值表在表示一個邏輯函數時非常類似,只不過一個是圖,一個是表,它們都是將對應于變量的每種取值組合下的函數值一一列出來。這里不再舉例。2.卡諾圖的特點卡諾圖表示邏輯函數最突出的優點是:用幾何位置相鄰表達了構成函數的各個最小項在邏輯上的相鄰性,這也是用卡諾圖化簡邏輯函數的依據。這一點將在1.7.3節中介紹。6.5邏輯代數的基本公式、定律和規則1.6.1基本公式1.常量之間的關系

0·0=0

1+1=10·1=0

1+0=11·1=1

0+0=0=1=02.變量和常量的關系

A·1=AA+0=A

A·0=0

A+1=1

=0=1

1.6.2基本定律1.與普通代數相似的定律(1)交換律

A+B=B+A

A·B=B·A

(2)結合律(A+B)+C=A+(B+C)(A·B)·C=A·(B·C)(3)分配律

A+BC=(A+B)(A+C)

A·(B+C)=A·B+A·C

2.邏輯代數的一些特殊定律(1)同一律

A+A=A

A·A=A

(2)反演律(又稱摩根定律)(3)還原律3.常用公式(1)A+AB=A

證明:A+AB=A(1+B)=A·1=A

(2)證明:

(3)AB+A=A

證明:AB+A=A(B+)=A·1=A(4)A(A+B)=A

證明:A(A+B)=A·A+A·B=A+AB=A(1+B)=A·1=A(5)AB+C+BC=AB+C

證明:AB+C+BC=AB+C+BC(A+)=

AB+C+ABC+BC=

AB(1+C)+C(1+B)=

AB+C

利用常用公式(5),可消去表達式中的冗余項。公式(5)中,與項BC正是與項AB和C的冗余項。在進行邏輯代數的分析和運算時要注意,邏輯代數的運算順序和普通代數一樣:先括號,然后乘,最后加;邏輯乘號可以省略不寫。先或后與的運算式,或運算時要加括號。4.有關異或運算的一些公式(1)交換律AB=BA(2)結合律(AB)C=A(BC)(3)分配律

A·(BC)=A·BA·C(4)常量和變量的異或運算

A1=A0=A

AA=0A=1(5)因果互換律如果AB=C

則有AC=B

BC=A

證明:把AB=C兩邊同時異或B可得

ABB=CB

A0=BC

A=BC

同理,把AB=C兩邊同時異或A可得B=AC

。若要證明上述各等式成立,只需列出等式兩邊的真值表即可證明,讀者可以自己證明。6.5.3基本規則1.代入規則任何一個邏輯等式,若以同一邏輯函數代替等式中的某一變量,則該等式仍成立,稱此為代入規則。例如,

若用Y=BC代替式中的B,則依此類推,+…,此即多個變量的反演律。可見,代入規則可以擴大公式的使用范圍。2.反演規則對于任何一個邏輯表達式Y,若將式中的“·”和“+”互換、“0”和“1”互換、“原變量”和“反變量”互換,這樣得到的邏輯函數就是原函數的反函數,稱這一規則為反演規則。運用反演規則可以直接求得一個函數Y的反函數。注意:運用反演規則求反函數時,不是一個變量上的反號應保持不變;而且要特別注意運算符號的優先順序——先算括號,再算乘積,最后算加。例6.11求邏輯函數Y=(A·B+·的反函數。解:利用反演規則,Y的反函數為3.對偶規則在一個邏輯表達式Y中,若將式中所有的“·”和“+”互換、“0”和“1”互換、則新得到的函數表達式Y/

稱為Y的對偶式。這一規則稱為對偶規則。

例6.12已知Y=A+BC=(A+B)(A+C),求它的對偶式。解:利用對偶規則,Y的對偶式為

Y/=A·(B+C)=A·B+A·C

對偶規則的意義在于:如果兩個函數式相等,則它們的對偶式也相等。前面介紹的基本公式和定律中,左右兩列等式之間的關系即是利用了對偶規則。顯然,利用對偶規則,可以使要證明的公式數目減少一半。當證明了某兩個函數式相等之后,根據對偶規則,它們的對偶式也必然相等。運用對偶規則時,同樣要注意反演規則中提到的兩點注意事項。6.6邏輯函數的化簡通過前面的學習可以知道,邏輯函數表達式越簡單,實現這個邏輯函數的邏輯電路所需要的門電路數目就越少,這樣以來,不但降低了成本,還提高了電路的工作速度和可靠性,因此,在設計邏輯電路時,化簡邏輯函數是很必要的。1.7.1“最簡”的概念及最簡表達式的幾種形式1.“最簡”的概念所謂邏輯函數的最簡表達式,必須同時滿足以下兩個條件:(1)與項(乘積項)的個數最少,這樣可以保證所需門電路數目最少;(2)在與項個數最少的前提下,每個與項中包含的因子數最少,這樣可以保證每個門電路輸入端的個數最少。2.最簡表達式的幾種形式一個邏輯函數的最簡表達式,常按照式中變量之間運算關系的不同,分成最簡與或式、最簡與非—與非式、最簡或與式、最間或非—或非式、最簡與或非式。例如,某一邏輯函數Y,其最簡表達式可表示為:(1)與或表達式:(2)與非—與非式:(3)或與表達式:(4)或非—或非表達式:(5)與或非表達式:不同的表達式將用不同的門電路來實現,而且各種表達形式之間可以相互轉換。應當指出,最簡與或表達式是最基本的表達形式,由最簡與或表達式可以轉換成其它各種形式。例6.13已知,求其最簡與非—與非表達式。解:由與或式轉換成與非—與非式,通常采用兩次求反的方法。例6.14已知,求其最簡或與表達式。解:求最簡或與式的方法前面已經介紹過。即在反函數最簡與或表達式的基礎上取反,再用反演律去掉反號,便可得到函數的最簡與或表達式。由于Y的反函數于是可得例6.15已知,求其最簡或非-或非表達式。解:在最簡或與式的基礎上,兩次取反,再用反演律去掉下面的非號,所得到的便是函數的最簡或非-或非表達式。例6.16已知,求其最簡與或非表達式。解:在最簡或非-或非式的基礎上,利用反演律,即可得到最簡與或非表達式。從以上幾個例子不難看出,只要有了函數的最簡與或式,再用反演律進行適當變換,就可以得到其它幾種形式的最簡式。

6.6.2邏輯函數的公式化簡法

邏輯函數的公式化簡法實際上就是應用邏輯代數的公式、定律,對邏輯函數進行運算和變換,以求得邏輯函數的最簡形式。常用的方法有:1.并項法根據可以把兩項合并為一項,保留相同因子,消去互為相反的因子。例1.242.吸收法

根據A+AB=A可將AB項消去。A和B可代表任何復雜的邏輯式。例1.253.消項法

根據可將BC項消去。A、B和C可代表任何復雜的邏輯式。例1.254.消因子法根據可將中的因子消去。A和B可代表任何復雜的邏輯式。例1.26

用公式法化簡邏輯函數,需要對邏輯代數的基本公式和常用公式比較熟悉,它沒有固定的規律,適于化簡變量比較多的邏輯函數。1.7.3邏輯函數的卡諾圖化簡法1.卡諾圖化簡邏輯函數的理論依據由于卡諾圖中幾何位置相鄰的最小項也具有邏輯相鄰性,而邏輯函數化簡的實質就是合并邏輯相鄰的最小項,因此,直接在卡諾圖中合并幾何相鄰的最小項即可,合并的具體方法是:將所有幾何相鄰的最小項圈在一起進行合并。圖6.9、6.10、6.11中分別畫出了兩個最小項、4個最小項、8個最小項合并成一項的情況。

2.卡諾圖化簡邏輯函數的一般步驟(1)畫出邏輯函數的卡諾圖畫邏輯函數的卡諾圖就是在卡諾圖中將函數所包含的最小項方格內填1,其余方格填0(0也可不填);(2)合并幾何相鄰的最小項實際上是將幾何相鄰的填有1的方格(簡稱“1格”)圈在一起進行合并,保留相同的變量,消去不同的變量。每圈一個圈,就得到一個與項;(3)將所有的與項相加,即可得到函數的最簡與或表達式。以上三步中,第一步是基礎,第二步是難點,為了正確化簡邏輯函數,圈出幾何相鄰的“1格”最關鍵。3、圈“1格”的注意事項(1)每個圈中只能包含2n個“1格”,被合并的“1格”應該排成正方或矩形;(2)圈的個數應盡量少,圈越少,與項越少;(3)圈應盡量大,圈越大,消去的變量越多;(4)有些“1格”可以多次被圈,但每個圈中應至少有一個“1格”只被圈過一次;(5)要保證所有“1格”全部圈完,無幾何相鄰項的“1格”,獨立構成一個圈;(6)圈“1格”的方法不止一種,因此化簡的結果也就不同,但它們之間可以轉換。最后需注意一點:卡諾圖中4個角上的最小項也是幾何相鄰最小項,可以圈在一起合并。例6.22利用卡諾圖化簡函數Y=∑m(1,4,5,6,8,12,13,15)。解:①畫出Y的卡諾圖,如圖1.12所示。②合并“1格”。圖中畫了1個“四格組”的圈,4個“兩格組”的圈,但這種方案是錯誤的,因為“四格組”圈中所有“1格”都被圈過兩次。正確方案是只保留圖中4個“兩格組”的圈。③寫出最簡與或表達式

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論