| 數位邏輯化簡的目的,乃在求得減少輸入變數出現的數目,及利用數位電路實現時,使邏輯閘數目減至最小。化簡的工作並無特殊的原則可保證得到最後的答案,唯一可用的方法,為試探的步驟,即引用熟悉的基本定理、假說以及其它方法來運算。 一般常用數位電子之化簡方法可分為:(1)布爾代數化簡法 (2)卡諾圖化簡法(3)列表法等三項。
|
上述恆等式表示,如果某一變數,與它的補數有〝+〞的性質存在,則此變數可以省略。例如:在此例中變數C與它的補數有〝+〞的關係存在,則此變數可自方程式中完全除去。卡諾圖利用圖解技巧辨認此等變數,是一種很好的方法。 1.積之和(SOP)的化簡 在數位電子的應用上,常以積之和的形式出現,這裡先行討論。 ![]() (a)真值表 (b)卡諾圖 圖4-3 三變數真值表及其卡諾圖 用卡諾圖來表示布爾方程式和真值表很相似。圖4-3所示者為一個三變數之卡諾圖表示法。從圖中可以看出,相鄰的方格中,只有一個變數的值改變,此正好與格雷碼的性質相同。 圖4-3(a)為其真值表,圖(b)為其卡諾圖之表示。由圖(a)中看出其函數為1之情況有二: 而圖(b)為其對應之卡諾圖。 卡諾圖中任一方格內所表示變數邏輯狀態,是利用其對應的行列之標記來辨認。由圖(b)可看出,函數為1之方程式為: ![]() (a)真值表 (b)卡諾圖 圖4-4 四變數真值表及其卡諾圖 圖4-4為四變數之卡諾圖。在圖(b)中卡諾圖左上角之方格子,行之標示為00(表示C和D都為0);而列之標記也為00(表示A和B都為0),因此,表示這一方格的4個變數都為0;這就是真值表中的第一列。同理,圖中第三列與第二行交叉上的方格,表示A=1、B=1、C=0、D=1,此對應真值表中的第14列。請注意,無論哪一行,每一進行,C、D只改變一種狀態,絕不同時改變。同樣的,列也如此。畫卡諾圖,註明標示時,這是必須的方法。在圖4-4之四變數真值表中,其函數為1之情況有5種,分別表示在圖(b)卡諾圖中之對應方格中。 卡諾圖中,每一個為1的方格,都代表一組布爾方程式。因此,卡諾圖可以減少項的數目;同時也可減少項中的文字符號。文字符號的英文為Literal,意思表示為一個字或一個符號。 用卡諾圖簡化方程式時,如圖4-5∼圖4-6所示二方法,將相鄰為1的用實線連在一起而成一群,每群代表一個蘊含項,蘊含項的英文為implicant,本意為含蓄,暗示的,包含等意思。方程式中,蘊含項代表一項。把一群1化成為蘊含項的方法如下: (1).每一個蘊含項儘可能加大,可以包括8、4、2,或者只有一個方格。 (2).如圖4-6所示,蘊含項可以重疊。 (3).如圖4-7所示,最右邊的一行可看成和最左邊的一行相鄰;最上面的一列可看成和最下面的一列相鄰。 如圖4-8所示,把所有的1組成一群的方法有好幾種,可用數學的方法,選擇蘊含項數量最少的一種。 卡諾圖上的每一個蘊含項代表簡化後方程式的一項,書寫方程式時,這些項目係OR在一起。 如果在一蘊含項中,有一變數同時有真實和補數兩種型態出現,就可以在此項目中將此變數消去。如果有一變數,在蘊含項中的各方格內,都以同樣的型態出現,就必須保留下來。例如在圖4-5右邊蘊含項的兩方格,C為邏輯1、D為0,而A都為0則需得留下來;但是B是一格為0而另一格為1,因此B可消去,而代表此一蘊含項的就是 ![]() 圖4-5 卡諾圖化簡實例之一 圖4-6 卡諾圖化簡實例之二 相同的,圖4-6所表示之方程式為: 請注意,只有一格的蘊含項無法消去任何一個變數,一個兩格的蘊含項可以消去一個變數,而四格的蘊含項可以消去二個;而八格的蘊含項可以消去三個。 綜合以上所述,卡諾圖化簡的步驟為: 圖4-13三變數卡諾圖另外一種表示方式 (3).將真值表填入卡諾圖中對應位置。 步驟2:選擇四變數的卡諾圖
步驟3:將真值表填入卡諾圖中的對應位置 步驟4:圈選所有1的部份
步驟5:化簡所圈選的方塊
步驟6:合併圈選結果(用OR(+)連接)
2.和之積(POS)之化簡
當變數不超過5個或6個時,卡諾圖是一種很簡便的方法。但變數增加時,卡諾圖法就不是很好的簡化方法。 |