使用邏輯閘實現布林函式
布林函式是一種邏輯表示式,它返回一個布林值,該值要麼為真 (TRUE),要麼為假 (FALSE)。在數位電子電路中,邏輯閘用於實現條件、邏輯或布林表示式。
邏輯閘是一種數位電路,它對一個或多個輸入變數或訊號執行特定的邏輯運算,並生成輸出訊號。邏輯閘的輸出由其邏輯函式決定,該函式基於布林代數。
在數位電子技術中,有多種型別的邏輯閘可用,例如與門、或門、非門、與非門、或非門、異或門、異或非門等。我們可以使用這些邏輯閘來實現不同型別的布林函式。
在深入研究使用邏輯閘實現布林函式之前,讓我們先了解一下不同邏輯閘的基本介紹。
什麼是或門?
或門是一種基本的邏輯閘。或門可以接受兩個或兩個以上的輸入,但只產生一個輸出。如果其任何一個輸入處於高電平 (邏輯 1) 狀態,則或門產生高電平 (邏輯 1) 輸出;否則,它產生低電平 (邏輯 0) 輸出。因此,只有當所有輸入都處於低電平 (邏輯 0) 狀態時,或門的輸出才為低電平或邏輯 0 狀態。或門的邏輯符號如圖 1 所示。
或門輸出的表示式為:
$$\mathrm{Y = A + B + C + \cdot\cdot\cdot}$$
其中,A、B、C……是輸入變數,Y 是或門的輸出變數。“+”符號表示或運算。
什麼是與門?
與門是一種基本的邏輯閘。與門可以有兩個或兩個以上的輸入,但只產生一個輸出。如果其任何一個輸入處於低電平 (邏輯 0) 狀態,則與門產生低電平 (邏輯 0) 輸出;否則,它產生高電平 (邏輯 1) 輸出。因此,只有當所有輸入都處於高電平 (邏輯 1) 狀態時,與門的輸出才為高電平或邏輯 1 狀態。與門的邏輯符號如圖 2 所示。

與門輸出的表示式為:
$$\mathrm{Y = A \cdot B \cdot C ...}$$
其中,點 (.) 符號表示與運算。
什麼是非門?
非門是一種基本的邏輯閘,只有一個輸入和一個輸出。它是一種邏輯閘,其輸出始終與其輸入互補。因此,非門也稱為反相器。
如果非門的輸入為低電平 (邏輯 0),則它產生高電平 (邏輯 1) 輸出。如果輸入為高電平 (邏輯 1),則非門產生低電平 (邏輯 0) 輸出。非門的邏輯符號如圖 3 所示。
非門輸出的表示式為:
$$\mathrm{Y = \bar{A} = A' }$$
其中,輸入變數上的橫線 (-) 表示非運算。
現在,讓我們瞭解一下使用邏輯閘實現布林函式的方法。
使用邏輯閘實現布林函式
在本節中,我們將學習如何使用邏輯閘實現任何型別的布林函式。將布林函式實現到邏輯電路的最簡單方法是從輸出開始,然後向輸入方向工作。現在,讓我們透過示例來了解互補過程。
雙變數布林函式的實現
考慮一個有兩個變數的布林函式:
$$\mathrm{F = A\bar{B} + AB}$$
我們必須使用邏輯閘來實現此布林函式。
為了實現此布林函式,從最終表示式 AB'+AB 開始。由於它是兩項的總和,因此它必須是雙輸入或門的輸出。因此,繪製一個有兩個輸入的或門,如圖 4 所示。
現在,項 AB' 是一個雙輸入與門的輸出,其輸入為 A 和 B'。其中,B' 又是一個輸入為 B 的非門的輸出。項 AB 是一個雙輸入與門的輸出,其輸入為 A 和 B。因此,邏輯電路將如圖 5 所示。
透過這種方式,我們可以使用邏輯閘實現雙變數布林函式。
三變數布林函式的實現
考慮一個三變數布林函式:
$$\mathrm{F = \overline{AB} + ABC +(\overline{B+C})}$$
我們必須使用邏輯閘來實現此布林函式。
我們將從最終表示式 $\mathrm{\overline{AB} + ABC +(\overline{B+C})}$ 開始實現。我們可以看到它有三項之和,因此它必須是三輸入或門的輸出。因此,我們將繪製一個具有三個輸入的或門,如圖 6 所示。
這裡,項 $\mathrm{(\overline{AB})}$ 必須是輸入為 AB 的非門的輸出。第二項 ABC 必須是三輸入與門的輸出,其輸入為 A、B 和 C,第三項 $\mathrm{(\overline{B+C})}$ 必須是輸入為 B + C 的非門的輸出。因此,我們在邏輯電路中引入了兩個非門和一個與門,如圖 7 所示。
現在,AB 必須是雙輸入與門的輸出,其輸入為 A 和 B。而 B + C 必須是雙輸入或門的輸出,其輸入為 B 和 C。因此,我們在邏輯電路中引入了一個與門和一個或門,如圖 8 所示。
這是使用邏輯閘實現給定布林函式的完整實現。因此,透過這種方式,我們可以使用邏輯閘實現任何數量變數的任何布林函式。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP