You are on page 1of 23

MẠCH CỘNG TRỪ NHỊ PHÂN

MẠCH SO SÁNH NHỊ PHÂN

NGUYỄN TRƯỜNG DUY


UTE 4.0
Mạch cộng nhị phân

Nhớ 1 1 1 1
1 0 1 1 1
+
0 1 1 0 1
1 0 0 1 0 0

Cộng toàn phần Cộng bán phần

NGUYỄN TRƯỜNG DUY 3/18/2020 Page 2


UTE 4.0
Mạch cộng bán phần (Half Adder – HA)
 Cộng bán phần là cộng hai số nhị phân 1 bit cho ra kết quả ghi lại 1 bit và nhớ lại
1 bit. Cộng bán phần chỉ thực hiện cho cột số cuối cùng của một số nhị phân (cột
số có trọng số bằng 0).
 Bảng trạng thái
 Sơ đồ khối
Ngõ vào Ngõ ra  Mạch điện
A B S Co
0 0 0 0
0 1 1 0
Trong đó
1 0 1 0
 A, B là 2 bit ngõ vào cộng (số hạng) 1 1 0 1
 S là kết quả ghi lại  Hàm ngõ ra S  AB  A B  A  B
 Co là số nhớ Co = AB
NGUYỄN TRƯỜNG DUY 3/18/2020 Page 3
UTE 4.0
Mạch cộng toàn phần (Full Adder – FA)
 Cộng toàn phần là cộng hai số nhị phân 1 bit và cộng thêm bit nhớ của cột có
trọng số nhỏ hơn 1 đơn vị. Cộng toàn phần cho phép cộng bất kỳ ở cột số nào
của số nhị phân.
 Bảng trạng thái
 Sơ đồ khối Ngõ vào Ngõ ra
A B CI S Co
0 0 0 0 0
Trong đó 0 0 1 1 0
0 1 0 1 0
 A, B là 2 bit ngõ vào cộng (số hạng)
0 1 1 0 1
 S là kết quả ghi lại 1 0 0 1 0
 Co là số nhớ 1 0 1 0 1
1 1 0 0 1
 CI: số nhớ của cột số có trọng số thấp hơn 1 đơn vị
1 1 1 1 1
NGUYỄN TRƯỜNG DUY 3/18/2020 Page 4
UTE 4.0
Mạch cộng toàn phần (Full Adder – FA)
 Cộng toàn phần là cộng hai số nhị phân 1 bit và cộng thêm bit nhớ của cột có
trọng số nhỏ hơn 1 đơn vị. Cộng toàn phần cho phép cộng bất kỳ ở cột số nào
của số nhị phân.
 Bảng trạng thái
 Hàm ngõ ra Ngõ vào Ngõ ra

S  A.B.CI  A.B.CI  A.B.CI  A.B.CI A B CI S Co


0 0 0 0 0
S  (A.B  A.B)CI  (A.B  A.B)CI 0 0 1 1 0
0 1 0 1 0
S  (A  B)C I  (A  B)C I 0 1 1 0 1
1 0 0 1 0
S  (A  B)  CI
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
NGUYỄN TRƯỜNG DUY 3/18/2020 Page 5
UTE 4.0
Mạch cộng toàn phần (Full Adder – FA)
 Cộng toàn phần là cộng hai số nhị phân 1 bit và cộng thêm bit nhớ của cột có
trọng số nhỏ hơn 1 đơn vị. Cộng toàn phần cho phép cộng bất kỳ ở cột số nào
của số nhị phân.
 Bảng trạng thái
 Hàm ngõ ra S  (A  B)  CI Ngõ vào Ngõ ra
AB A B CI S Co
00 01 11 10 0 0 0 0 0
CI
0 0 0 1 0 0 0 1 1 0
0 1 0 1 0
1 0 1 1 1
0 1 1 0 1
Co  AB  AC I  BC I  AB  (A  B)CI 1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
NGUYỄN TRƯỜNG DUY 3/18/2020 Page 6
UTE 4.0
Mạch cộng toàn phần (Full Adder – FA)
 Cộng toàn phần là cộng hai số nhị phân 1 bit và cộng thêm bit nhớ của cột có
trọng số nhỏ hơn 1 đơn vị. Cộng toàn phần cho phép cộng bất kỳ ở cột số nào
của số nhị phân.
 Bảng trạng thái
 Hàm ngõ ra S  (A  B)  CI Ngõ vào Ngõ ra
Co = AB + (A + B)CI A B CI S Co
0 0 0 0 0
 Nếu không sử dụng bảng Karnaugh thì Co được
0 0 1 1 0
viết như sau:
0 1 0 1 0
Co  A.B.CI  A.B.CI  A.B.CI  A.B.CI
0 1 1 0 1

Co  (A.B  A.B)CI  A.B(CI  CI ) 1 0 0 1 0


1 0 1 0 1
Co  A.B  (A  B)C I 1 1 0 0 1
1 1 1 1 1
NGUYỄN TRƯỜNG DUY 3/18/2020 Page 7
UTE 4.0
Mạch cộng toàn phần (Full Adder – FA)
 Cộng toàn phần là cộng hai số nhị phân 1 bit và cộng thêm bit nhớ của cột có
trọng số nhỏ hơn 1 đơn vị. Cộng toàn phần cho phép cộng bất kỳ ở cột số nào
của số nhị phân.
 Mạch điện
 Hàm ngõ ra S  (A  B)  CI
Co = AB + A + B CI
 Nếu không sử dụng bảng Karnaugh thì Co được
viết như sau:
Co  A.B.CI  A.B.CI  A.B.CI  A.B.CI

Co  (A.B  A.B)CI  A.B(CI  CI )


Co  A.B  (A  B)C I
NGUYỄN TRƯỜNG DUY 3/18/2020 Page 8
UTE 4.0
Mạch cộng toàn phần (Full Adder – FA)
 Mạch cộng toàn phần cũng có thể được thiết kế từ các mạch cộng bán phần
 Giả sử cộng toàn phần 2 số X và Y  Mạch cộng bán phần thứ hai
X + Y + CI  Kết quả S và số nhớ Co S1 + CI  Kết quả S2 và số nhớ Co2

Với S  (X  Y)  C I S2  S1  C I  (X  Y)  C I
Và C o  XY  (X  Y )C I 𝐶𝑜2 = 𝑆1 𝐶𝐼 = (𝑋⨁𝑌)𝐶𝐼
 Mạch cộng bán phần thứ nhất Vậy S = S2 và Co = Co1 + Co2

X + Y  Kết quả S1 và số nhớ Co1


S1  X  Y
Co1 = XY
NGUYỄN TRƯỜNG DUY 3/18/2020 Page 9
UTE 4.0
Mạch cộng nhị phân nhiều bit
 Giả sử cộng 2 số nhị phân A và B 4 bit CI3 CI2 CI1 CI0
A3 A2 A1 A0
CI0 = 0 CI1 = Co0 +
B3 B2 B1 B0
CI2 = Co1 CI3 = Co2
Co3 S3 S2 S1 S0
Co2 Co1 Co0

NGUYỄN TRƯỜNG DUY 3/18/2020 Page 10


UTE 4.0
Mạch cộng BCD
 Mạch cộng nhị phân 4 bit tích hợp

NGUYỄN TRƯỜNG DUY 3/18/2020 Page 11


UTE 4.0
Mạch cộng BCD
TP Co S3 S2 S1 S0
 Cho 2 mã BCD 4 bit vào mạch cộng 0 0 0 0 0 0
0 BCD BCD 1 0 0 0 0 1
Đúng mã BCD
… … … … … …
9 0 1 0 0 1
10 0 1 0 1 0
11 0 1 0 1 1
12 0 1 1 0 0 Không đúng mã
13 0 1 1 0 1 BCD
14 0 1 1 1 0
15 0 1 1 1 1
Kết quả
16 1 0 0 0 0 Đúng mã BCD
17 1 0 0 0 1 Kết quả chưa
18 1 0 0 1 0 đúng
NGUYỄN TRƯỜNG DUY 3/18/2020 Page 12
UTE 4.0
Mạch cộng BCD
TP Co S3 S2 S1 S0
 Nếu kết quả không đúng mã BCD thì phải
0 0 0 0 0 0
hiệu chỉnh bằng cách cộng thêm 6 (0110) vào
kết quả. 1 0 0 0 0 1
Đúng mã BCD
… … … … … …
 Nếu kết quả nếu là các trạng thái từ 16 đến
18 thì cũng phải cộng thêm 6 (0110) mới cho 9 0 1 0 0 1
ra kết quả đúng. 10 0 1 0 1 0

 Phương pháp thực hiện như sau: 11 0 1 0 1 1


12 0 1 1 0 0 Không đúng mã
 Các trạng thái từ 10 đến 15 sử dụng một BCD
13 0 1 1 0 1
mạch nhận dạng để phát hiện ra các trạng
thái này. 14 0 1 1 1 0
15 0 1 1 1 1
 Còn các trạng thái 16 đến 18 thì sẽ được
nhận dạng bằng ngõ ra Co (Co = 1). 16 1 0 0 0 0 Đúng mã BCD
17 1 0 0 0 1 Kết quả chưa
18 1 0 0 1 0 đúng
NGUYỄN TRƯỜNG DUY 3/18/2020 Page 13
UTE 4.0
Mạch cộng BCD
S3 S2 S1 S0 Y1
 Thực hiện mạch nhận dạng số nhị phân
0 0 0 0 0
ngõ ra (S3, S2, S1, S0) không phải mã BCD
0 0 0 1 0
Đặt Y1 là hàm nhận dạng: Đúng mã BCD
… … … … …
 Nếu đúng BCD thì ngõ ra Y1 = 0, 1 0 0 1 0
1 0 1 0 1
 Nếu không đúng BCD thì ngõ ra Y1 = 1
1 0 1 1 1
Viết hàm Y1 và tối giản hàm ta có được: 1 1 0 0 1 Không đúng
Y1 = (S1 + S2)S3 1 1 0 1 1 mã BCD
1 1 1 0 1
Vì Y1 = 1 hoặc Co = 1 đều phải hiệu chỉnh kết
quả bằng cách cộng 610 nên phải lập hàm Y 1 1 1 1 1
tổng hợp theo bảng trạng thái

NGUYỄN TRƯỜNG DUY 3/18/2020 Page 14


UTE 4.0
Mạch cộng BCD
TP Co S3 S2 S1 S0 Y1 Y
Y1 = (S1 + S2)S3
0 0 0 0 0 0 0 0
Vì Y1 = 1 hoặc Co = 1 đều phải hiệu chỉnh kết 1 0 0 0 0 1 0 0
quả bằng cách cộng 610 nên phải lập hàm Y … … … … … … … …
tổng hợp theo bảng trạng thái
9 0 1 0 0 1 0 0
Y1 Co Y 10 0 1 0 1 0 1 1
0 0 0 11 0 1 0 1 1 1 1
0 1 1 12 0 1 1 0 0 1 1
Y = Y1 + Co
1 0 1 13 0 1 1 0 1 1 1
1 1 1 14 0 1 1 1 0 1 1

Vậy nếu ngõ ra Y = 1 thì kết quả ngõ ra được 15 0 1 1 1 1 1 1


cộng thêm 610, còn nếu ngõ ra Y = 0 thì kết 16 1 0 0 0 0 0 1
quả ngõ ra sẽ cộng thêm 0 17 1 0 0 0 1 0 1
18 1 0 0 1 0 0 1
NGUYỄN TRƯỜNG DUY 3/18/2020 Page 15
UTE 4.0
Mạch cộng BCD
Mạch thực hiện như sau
Y1 = (S1 + S2)S3
Vì Y1 = 1 hoặc Co = 1 đều phải hiệu chỉnh kết
quả bằng cách cộng 610 nên phải lập hàm Y tổng
hợp theo bảng trạng thái
Y1 Co Y
0 0 0
0 1 1
Y = Y1 + Co
1 0 1
1 1 1

Vậy nếu ngõ ra Y = 1 thì kết quả ngõ ra được


cộng thêm 610, còn nếu ngõ ra Y = 0 thì kết quả
ngõ ra sẽ cộng thêm 0

NGUYỄN TRƯỜNG DUY 3/18/2020 Page 16


UTE 4.0
Mạch trừ bán phần (Half Subtractor – HS)
 Mạch trừ nhị phân bán phần là mạch trừ hai số nhị phân 1 bit, mạch này chỉ sử
dụng để trừ cột số cuối cùng của số nhị phân (cột số có trọng số bằng 0)
 Sơ đồ khối  Bảng trạng thái  Mạch điện
Ngõ vào Ngõ ra
A B D Bo
0 0 0 0
Trong đó 0 1 1 1
 A là số bị trừ 1 0 1 0
 B là số trừ 1 1 0 0
 D là kết quả  Hàm ngõ ra D  AB  A B  A  B
 Bo là số mượn B 0  AB
NGUYỄN TRƯỜNG DUY 3/18/2020 Page 17
UTE 4.0
Mạch trừ toàn phần (Full Subtractor – FS)
 Trừ toàn phần là trừ hai số nhị phân 1 bit và trừ thêm bit mượn của cột có trọng
số nhỏ hơn 1 đơn vị. Trừ toàn phần cho phép trừ bất kỳ ở cột số nào của số nhị
phân.
 Bảng trạng thái
 Sơ đồ khối Ngõ vào Ngõ ra
A B BI D Bo
0 0 0 0 0
Trong đó 0 0 1 1 1
 A là số bị trừ, B là số trừ 0 1 0 1 1
0 1 1 0 1
 D là kết quả
1 0 0 1 0
 Bo là số mượn 1 0 1 0 0
 BI là bit mượn của cột số có trọng số 1 1 0 0 0
thấp hơn 1 đơn vị (bit trả) 1 1 1 1 1
NGUYỄN TRƯỜNG DUY 3/18/2020 Page 18
UTE 4.0
Mạch trừ toàn phần (Full Subtractor – FS)
 Trừ toàn phần là trừ hai số nhị phân 1 bit và trừ thêm bit mượn của cột có trọng
số nhỏ hơn 1 đơn vị. Trừ toàn phần cho phép trừ bất kỳ ở cột số nào của số nhị
phân.
 Bảng trạng thái
 Hàm ngõ ra Ngõ vào Ngõ ra
D  A.B.BI  A.B.BI  A.B.BI  A.B.BI A B BI D Bo
0 0 0 0 0
D  (A.B  A.B)BI  (A.B  A.B)BI 0 0 1 1 0
0 1 0 1 0
D  (A  B)BI  (A  B)BI 0 1 1 0 1

D  (A  B)  BI 1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
NGUYỄN TRƯỜNG DUY 3/18/2020 Page 19
UTE 4.0
Mạch trừ toàn phần (Full Subtractor – FS)
 Trừ toàn phần là trừ hai số nhị phân 1 bit và trừ thêm bit mượn của cột có trọng
số nhỏ hơn 1 đơn vị. Trừ toàn phần cho phép trừ bất kỳ ở cột số nào của số nhị
phân..
 Bảng trạng thái
 Hàm ngõ ra D  (A  B)  BI Ngõ vào Ngõ ra
AB A B BI D Bo
00 01 11 10 0 0 0 0 0
BI
0 0 1 0 0 0 0 1 1 0
0 1 0 1 0
1 1 1 1 0
0 1 1 0 1
1 0 0 1 0
Bo  AB  AB I  BB I  AB  (A  B)B I 1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
NGUYỄN TRƯỜNG DUY 3/18/2020 Page 20
UTE 4.0
Mạch trừ toàn phần (Full Subtractor – FS)
 Trừ toàn phần là trừ hai số nhị phân 1 bit và trừ thêm bit mượn của cột có trọng
số nhỏ hơn 1 đơn vị. Trừ toàn phần cho phép trừ bất kỳ ở cột số nào của số nhị
phân..
 Hàm ngõ ra D  (A  B)  BI  Mạch điện

AB
00 01 11 10
BI
0 0 1 0 0
1 1 1 1 0

Bo  AB  AB I  BB I  AB  (A  B)B I

NGUYỄN TRƯỜNG DUY 3/18/2020 Page 21


UTE 4.0
Mạch trừ nhị phân nhiều bit
 Thực hiện tương tự như mạch cộng nhị phân nhiều bit ta có được
mạch trừ nhị phân như sau:

NGUYỄN TRƯỜNG DUY 3/18/2020 Page 22


UTE 4.0
MẠCH SO SÁNH NHỊ PHÂN
 SO SÁNH NHỊ PHÂN 1 BIT Bảng trạng thái Mạch điện
 Mạch này có hai ngõ vào A Ngõ vào Ngõ ra
và B dùng để so sánh, kết
quả có ba trường hợp xảy ra A B YA>B YA=B YA<B
là A>B, A=B và A<B. 0 0 0 1 0
Sơ đồ khối 0 1 0 0 1
1 0 1 0 0
1 1 0 1 0

Hàm ngõ ra YA  B  A B
YA  B  A.B  AB  A  B
YA  B  AB Page 23
NGUYỄN TRƯỜNG DUY 3/18/2020

You might also like