1、概述
在設計邏輯電路圖時,由真值表直接得到的函數(shù)往往比較復雜。代數(shù)法和卡諾圖法等方法對于變量數(shù)目較多的邏輯函數(shù)則效果不佳,本文介紹一種可以化簡復雜邏輯函數(shù)的方法──表格法,該方法可以對變量數(shù)目較多的邏輯函數(shù)也可以進行化簡。
2、原理
在介紹化減法之前,先說明三個概念:
蘊涵項──在函數(shù)的任何積之和式中,每個乘積項稱為該函數(shù)的蘊涵項。對應于卡諾圖中的任一標1單元(最小項)以及2m個相鄰單元所形成的圈都是函數(shù)的蘊涵項。
素項──若函數(shù)的一個蘊涵項不是該函數(shù)中其它蘊涵項的一個子集,則此蘊涵項稱為素蘊涵項,簡稱素項。
實質素項──若函數(shù)的一個素項所包含的某一最小項,不包括在該函數(shù)的其它任何素項中則此素項稱為實質素蘊涵項,簡稱實質素項。
列表化簡法的基本原理是利用邏輯函數(shù)的最小項,通過對相鄰最小項的合并,消去多余變量因子,獲得邏輯函數(shù)的最簡式的。列表化簡法的思路是先找出給定函數(shù)F的全部素項,然后找出其中的實質素項;若實質素項不能覆蓋F的所有最小項,則進一步找出所需素項,以構成F的最簡素項集。
下面用列表化簡法將下列函數(shù)化簡為最簡與或表達式。
F(A,B,C,D)=Σ(0,3,4,5,6,7,8,10,11)
3、建立素項表
首先,找出給定函數(shù)的全部素項。
(1)先將每個最小項所對應的二進制數(shù)按其“1”的個數(shù)分組得表1;
表1 最小項
組號 | 項號 | 二進制數(shù) |
0 | 0 | 0000 |
1 | 4 8 | 0100 1000 |
2 | 3 5 6 10 | 0011 0101 0110 1010 |
3 | 7 11 | 0111 1011 |
(2)將表1中的相鄰兩個組之間二進制數(shù)進行比較、合并得到一次化簡結果,稱為一次乘積項,其項號記為i(j-i),其中i為最小項中的小項號,j為最小項中的大項號,得表2;
表2 一次乘積項
組號 | 項號 | 二進制數(shù) |
0 | a0(4) b0(8) | 0-00 -000 |
1 | 4(1) 4(2) c8(2) | 010- 01-0 10-0 |
2 | d3(4) e3(8) 5(2) 6(1) f10(1) | 0-11 -011 01-1 011- 101- |
(3)再將表2中的相鄰兩組內的二進制數(shù)進行比較、合并、便得到第二次化簡結果,稱為二次乘積項,其項號記為i(n,m),其中i為兩個一次乘積項中的小項號,n為原最小項的項號差,m為一次乘積項的項號差,得表3;
表3 二次乘積項
組號 | 項號 | 二進制數(shù) |
1 | g4(1,2) 4(2,1) | 01-- 01-- |
不能與其它一次乘積項合并的一次乘積項是素項,分別以a,b,c,d,e,f記之,不能合并的二次乘積項也是素項,以g記之。
4、實質素項
建立實質素項產生表,找出實質素項。
先用×標出每個素項覆蓋最小項的情況,再找出實質最小項5、6,在×上標括號以示區(qū)別,可找出對應實質素項g,在其前標*,最后一行用“V”標出實質素項覆蓋最小項的情況,可看出還有最小項0、3、8、10、11未被覆蓋。如表4所示。
表4實質素項產生式
最小項 素項 | 0 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | 11 |
a0(4) | X | X | |||||||
b0(8) | X | X | |||||||
c8(2) | X | X | |||||||
d3(4) | X | X | |||||||
e3(8) | X | X | |||||||
f10(1) | X | X | |||||||
*g4(1,2) | X | X | X | X | |||||
覆蓋情況 | V | V | V | V |
5、素項產生式
第三步:建立所需素項產生表,找出所需素項,所需素項集應覆蓋所有未被實質素項覆蓋的最小項,得表5。再用行列消去法來找,選優(yōu)勢行b0(8),e3(8),劃去劣勢行a0(4)及d3(4)得表6,再選最小項為0、3的劣勢列,劃去最小項為8,11的優(yōu)勢列,得表7。找出新的實質素項b,e,取該兩項作為所需素項后,尚有最小項10未被覆蓋,可選取c或f求得所需素項集為(b,e,c)或(b,e,f),
表5
最小項 素項 | 0 | 3 | 8 | 10 | 11 |
a0(4) | X | ||||
b0(8) | X | X | |||
c8(2) | X | X | |||
d3(4) | X | ||||
e3(8) | X | X | |||
f10(1) | X | X |
表6
最小項 素項 | 0 | 3 | 8 | 10 | 11 |
b0(8) | X | X | |||
c8(2) | X | X | |||
e3(8) | X | X | |||
f10(1) | X | X |
表7
最小項 素項 | 0 | 3 | 10 |
**b0(8) | (X) | ||
c8(2) | X | ||
**e3(8) | (X) | ||
f10(1) | X |
得F=g+b+c+e=AB+BCD+ABD+BCD
或F=g+b+e+f=AB+BCD+BCD+ABC
6、結論
通過上面介紹可以看出,邏輯化簡能否以最快的速度進行,從而得到最簡的邏輯表達式,與化簡者的經驗和對公式、方法掌握與運用的熟練程度有密切關系;而列表化簡法思路清晰、準確,有規(guī)律可循,可得到多種可能答案,但化簡過程比較繁瑣,適宜于用微機處理并實現(xiàn)。