用與非門實現全減法器



在數位電子學中,**減法器**是一個組合邏輯電路,用於執行兩個二進位制數的減法。然而,二進位制數的減法可以透過採用1的補碼或2的補碼來使用加法器電路執行。但是,我們也可以實現一個專門的電路來執行兩個二進位制數的減法。

在兩個二進位制數的減法中,將被減數的每個位與其對應的被減數位相減以形成差位。在減法過程中,如果被減數位小於減數位,則從下一位借位1。根據輸入位的數量,減法器有兩種型別,即**半減法器**和**全減法器**。

什麼是半減法器?

**半減法器**接收兩個二進位制數字作為輸入,並輸出一個差位和一個借位(如果有)。另一方面,全減法器接收三個位作為輸入,即兩個輸入位和一個來自前一級的輸入借位,並輸出一個差位和一個輸出借位。

由於減法器是一個組合邏輯電路,即它是由邏輯閘組成的。我們可以使用不同型別的邏輯閘(如與門、或門、非門、與非門、或非門等)來實現全減法器電路。在本文中,我們將討論**用與非門實現全減法器**。但在那之前,讓我們先了解一下全減法器的基礎知識。

什麼是全減法器?

**全減法器**是一個組合電路,具有三個輸入A、B、bin和兩個輸出d和b。其中,A是被減數,B是減數,bin是前一級產生的借位,d是差輸出,b是借位輸出。全減法器的框圖如圖1所示。

What is a Full-Subtractor

全減法器的真值表

以下是全減法器的真值表:

輸入 輸出
A B bin d(差) b(借位)
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1

從該表中,我們可以確定差位(d)和借位輸出(b)的方程。這些方程如下:

全減法器的差(d)為:

$$\mathrm{差,d=A'B'b_{in}+AB'b'_{in}+A'Bb'_{in}+ABb_{in}=A\oplus B\oplus b_{in}}$$

全減法器的輸出借位(b)由下式給出:

$$\mathrm{借位,b=A'B+A'b_{in}+Bb_{in}}$$

現在,讓我們討論一下用與非門實現全減法器。

用與非門實現全減法器

我們可以僅使用與非門來實現全減法器電路,如圖2所示。

Realization of Full Subtractor using NAND Gates

從使用與非邏輯的全減法器的邏輯電路中,我們可以看到,用與非邏輯實現全減法器需要9個與非門。

全減法器中差位(d)和輸出借位(b)的輸出方程在與非邏輯中如下:

差位(d)

$$\mathrm{差,d=\overline{\overline{(A\oplus B)\cdot \overline{(A\oplus B)b_{in}}}\cdot \overline{b_{in}\cdot \overline{(A\oplus B)b_{in}}}}=A\oplus B\oplus b_{in}}$$

其中:

$$\mathrm{A\oplus B=\overline{\overline{A \cdot\overline{AB}}\cdot \overline{B \cdot\overline{AB}}}}$$

借位(b)

$$\mathrm{借位,b=\overline{\overline{A'B}\cdot \overline{A'b_{in}}\cdot \overline{Bb_{in}}}=A'B+A'b_{in}+Bb_{in}}$$

透過這種方式,我們可以僅使用與非門來實現全減法器。

廣告