Professional Documents
Culture Documents
Ch3 - Bai2 - Bìa KARNAUGH
Ch3 - Bai2 - Bìa KARNAUGH
2: BÌA KARNAUGH
2
Thông qua ví dụ rút gọn biểu thức ở trên, có nhiều cách để
biểu diễn cùng một hàm Boole
Những cách này tương đương về mặt logic (logically equivalent)
Những biểu thức tương đương về mặt logic có cùng bảng sự thật
Để giảm bớt những rắc rối có thể có, những nhà thiết kế biểu
diễn hàm Boole dưới dạng chính tắc (canonical) hoặc dạng
chuẩn (standardized)
Minterms là các nhóm AND mà tất cả các biến xuất hiện ở dạng
bình thường (nếu là 1) hoặc dạng bù (complement) (nếu là 0)
Mỗi biến nhị phân có thể xuất hiện ở dạng bình thường (X) hoặc
dạng bù (X’), có 2n tích chuẩn trong trường hợp có n biến
Maxterms là các nhóm OR mà tất cả các biến xuất hiện ở dạng
bình thường (nếu là 0) hoặc dạng bù (complement) (nếu là 1)
Mỗi biến nhị phân có thể xuất hiện ở dạng bình thường (X)
hoặc dạng bù (X’), có 2n tổng chuẩn trong trường hợp có n
biến
Dạng chính tắc có thể được đơn giản hoá để thành dạng
chuẩn tương đương
Ít nhóm AND (hoặc OR) và/hoặc các nhóm này có ít biến hơn
Tổng các tích - SoP (Sum-of-Product)
Có thể chuyển SoP về dạng chính tắc bằng cách AND thêm (x+x’) và PoS về
dạng chính tắc bằng cách OR thêm xx’
Giảng viên: ThS. Phan Như Minh
Digital Logic Design – Spring Semester 2015
14 Thiết kế mạch logic
Bước 3: đơn giản biểu thức logic bằng các biến đổi
đại số X = A’BC + AB’C + ABC’ + ABC
= A’BC + ABC + AB’C + ABC + ABC’ + ABC
= BC + AC + AB
h2(a,b) = b’
Simplify
Simplify
hay
Equivalent
F = ac + a’b + d’
Simplify
Simplify
Simplify
Khi một biến xuất hiện cả dạng đảo và không đảo trong một
vòng, biến đó sẽ được đơn giản khỏi biểu thức.
Các biến chung cho mọi ô trong một vòng phải xuất hiện trong
biểu thức cuối cùng.
C C C
0 1 0 1 0 1
00 0 0 00 0 0 00 1 0
01 1 0 01 1 1 01 0 0
AB AB AB
11 1 0 11 0 0 11 0 0
10 0 0 10 0 0 10 1 0
CD CD
00 01 11 10 00 01 11 10
00 1 0 0 0 00 1 1 0 0
01 0 1 1 0 01 0 0 0 0
AB AB
11 0 0 0 0 11 1 0 0 1
10 1 0 0 0 10 0 0 0 0
C CD
0 1 00 01 11 10
00 1 0 00 0 0 0 0
01 1 0 01 1 1 1 1
AB AB
11 1 0 11 0 0 0 0
10 1 0 10 0 0 0 0
CD CD
00 01 11 10 00 01 11 10
00 0 0 0 0 00 0 0 0 0
01 1 0 0 1 01 0 1 1 0
AB AB
11 1 0 0 1 11 0 1 1 0
10 0 0 0 0 10 0 0 0 0
CD
00 01 11 10
00 1 0 0 1
01 0 0 0 0
AB
11 0 0 0 0
10 1 0 0 1
CD CD
00 01 11 10 00 01 11 10
00 1 1 1 1 00 1 0 0 1
01 0 0 0 0 01 1 0 0 1
AB AB
11 0 0 0 0 11 1 0 0 1
10 1 1 1 1 10 1 0 0 1
CD CD
00 01 11 10 00 01 11 10
00 0 1 1 0
00 1 1 1 1
01 0 1 1 0
01 1 1 1 1 AB
AB 11 0 1 1 0
11 0 0 0 0
10 0 1 1 0
10 0 0 0 0
Xây dựng bảng K-map và đặt 1 hoặc 0 trong các ô tương ứng với bảng sự thật.
Khoanh vòng các ô giá trị 1 đơn lẻ, không tiếp giáp với các ô giá trị 1 khác (vòng
đơn).
Khoanh vòng các cặp giá trị 1 không tiếp giáp với các ô giá trị 1 nào khác nữa
(vòng kép).
Khoanh vòng các ô 8 giá trị 1 (nếu có) ngay cả nếu nó chứa 1 hoặc nhiều ô đã
được khoanh vòng.
Khoanh vòng các ô 4 giá trị 1 (nếu có) chứa một hoặc nhiều ô chưa được khoanh
vòng. Phải đảm bảo số vòng là ít nhất.
Khoanh vòng các cặp giá trị 1 tương ứng với các ô giá trị 1 chưa được khoanh
vòng. Phải đảm bảo số vòng là ít nhất.
Tạo cổng OR các số hạng được tạo bởi mỗi vòng
CD
00 01 11 10
00 0 0 0 1
01 0 1 1 0
AB
11 0 1 1 0
10 0 0 1 0
CD
00 01 11 10
00 0 0 1 0
01 1 1 1 1
AB
11 1 1 0 0
10 0 0 0 0
CD
00 01 11 10
00 0 0 1 1
01 1 1 1 1
AB
11 1 1 0 0
10 0 0 0 0
CD
00 01 11 10
00 0 1 0 0
01 0 1 1 1
AB
11 1 1 1 0
10 0 1 1 0
47
Digital Logic Design – Spring Semester 2015
Trường hợp “Don’t Care”
48
A
w
x B
y
N1 N2 F
C
z
Trong trường hợp này thì chúng ta phải làm thế nào để đơn
giản N2?
A B C F
0 0 0 1 Nếu ta giả sử F(0,0,1) = 0 và
0 0 1 X0 F(1,1,0)=0, ta có biểu thức sau:
0 1 0 1
0 1 1 1
1 0 0 0 F(A,B,C) = A’B’C’ + A’BC’ + A’BC + ABC
1 0 1 0 = A’C’(B’ + B) + (A’ + A)BC
1 1 0 X0
= A’C’·1 + 1·BC
1 1 1 1
= A’C’ + BC
+
Tất cả các giá trị 1 phải được tính, nhưng X là tùy chọn và sẽ chỉ
có giá trị 1 chỉ khi chúng giúp đơn giản biểu thức.
Simplify
S2 S1 F
0 0 D0
0 1 D1
1 0 D2
1 1 D3
Bộ phân kênh (Demultiplexer)
A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0
Mạch tính toán
Ký hiệu
A Sum
HA
B Carry
➢ Mạch cộng toàn phần (Full adder)
o Cộng 3 bit đầu vào thành 1 bit đầu ra và 1 bit nhớ
o Cho phép xây dựng bộ cộng nhiều bit
HA HA
Ký hiệu
A Sum
Carry
B FA Carry
in out
➢ Mạch cộng nhiều bit
o Ghép từ nhiều bộ cộng toàn phần
FA FA FA FA
➢ Mạch cộng và trừ
o Mạch trừ: Đổi sang số bù 2 rồi cộng
o Có thể dùng chung mạch cộng để thực hiện phép trừ
• Ví dụ ALU 1 bit
F0F1 Functions
00 A AND B
01 A OR B
10
11 A +B
Điều kiện
bình thường
ENA=1
ENB=1
INVA=
0
➢ALU 8 bit
o Ví dụ tạo 1 mạch ALU 8 bit bằng cách ghép 8 bộ
ALU 1 bit ở ví dụ trước
Mạch tuần tự
➢Khái niệm
o Mạch tuần tự (sequential circuit) là mạch logic
trong đó tín hiệu ra phụ thuộc tín hiệu vào ở hiện
tại và quá khứ
o Là mạch có nhớ, được thực hiện bằng phần tử nhớ
(Latch, Flip-Flop) và có thể kết hợp với các cổng
logic cơ bản
o Ứng dụng làm bộ nhớ, thanh ghi, mạch đếm,…
trong máy tính
➢ Mạch chốt (Latch)
o Dùng 2 cổng NOR mắc hồi tiếp với nhau. S, R là ngõ vào, Q và Q
là ngõ ra.
o Đây là mạch chốt SR. Nó có thể ở 1 trong 2 trạng thái Q=1 hoặc
Q=0 khi S=R=0.
o Khi S=1 → Q=1 bất kể trạng thái truớc đó (set)
o Khi R=1 → Q=0 bất kể trạng thái truớc đó (reset)
➢ Mạch chốt SR có xung Clock
o Thêm vào mạch chốt SR 2 cổng AND nối với xung đồng hồ
để điều khiển trạng thái mạch chốt tại thời điểm xác định
o Tín hiệu vào chỉ có tác dụng khi xung clock=1 (mức cao)
➢ Mạch chốt D có xung Clock
o Mạch chốt SR sẽ ở trạng thái không xác định khi S=R=1
o Khắc phục bằng cách chỉ dùng 1 tín hiệu vào và đấu nối R
với S qua cổng NOT
o Đây chính là mạch bộ nhớ 1 bit với D là ngõ vào, Q là ngõ
ra
➢ Flip-Flop
o Trong thực tế ta muốn bộ nhớ chỉ được ghi trong 1 khoảng thời gian
nhất định → cần thiết kế mạch xung Clock tác dụng theo cạnh (lên
hoặc xuống)
➢ D Flip-Flop
o Là mạch chốt D có xung Clock điều khiển bằng Flip-flop
o Phân biệt:
• Flip-flop: edge triggered
• Latch: level triggered
➢ Ký hiệu mạch chốt và Flip-
Flop
Write:
CS=1, RD=0, OE=0
Read:
CS=1, RD=1, OE=1
➢ Mạch đệm (Buffer)
o Dùng để đọc dữ liệu đồng bộ trên nhiều đường tín hiệu bằng 1
đường điều khiển riêng.
o Sử dụng các cổng 3 trạng thái (tri-state devices)
Ghi chú:
RAS:Row Address Strobe
CAS:Column Address Strobe
CS:Chip select
WE:Write enable
OE:Output enable
D:Data
A:Address
➢ Chip bộ nhớ (tiếp)
o Mạch giải mã địa chỉ n bit có thể giải mã cho 2n ô nhớ
→cần n chân tín hiệu địa chỉ
o Có thể giảm kích thước bộ giải mã còn bằng cách tổ
chức thành ma trận các ô nhớ → sử dụng 2 bộ giải mã
cho hàng và cột riêng
o Ví dụ: bộ nhớ 16 ô cần 4 bit địa chỉ có thể tổ chức thành
ma trận 4*4 → chỉ cần giải mã 2 bit cho hàng và 2 bit
cho cột.
o Có thể ghép địa chỉ hàng và cột chung 1 chân tín hiệu →
giảm số chân kết nối bus địa chỉ
o Nhược điểm: cần gấp đôi thời gian truy cập bộ nhớ
4-to-16
Decoder 0 2-to-4
Decoder 0
A 3 23 1 A 21
2 RAM cell 3
RAM cell RAM cell RAM cell RAM cell
20 0 1 2 3
A 2 22 3
A 1
4
A 1 21 5 2 RAM cell RAM cell RAM cell RAM cell
Row 4 5 6 7
6 RAM cel l select
A 0 20 2
7
8 RAM cell RAM cell RAM cell RAM cell
8 9 10 11
9
10 3
11 RAM cell RAM cell RAM cell RAM cell
12 13 14 15
12
13 Read/Write Read/Write Read/Write Read/Write
logic logic logic logic
14
Datain Datain Datain Data in
15
Dataout Dataout Dataout Data out
RAM cell Read/ Bit Read/ Bit Read/ Bit Read/ Bit
Write select Write select Write select Write select
Data input
Read/Write
Read/Write
logic X X X X
Column select Data
Datainput Data in 0 1 2 3 output
Data
Data out output Column 2-to-4Decoder
Read/ Bit decoder with enable
Write select 21 20 Enable
Read/Write A1 A0
Chip select Chip select
➢ Chip bộ nhớ (tiếp)
o Ví dụ 2: Chip bộ nhớ 512Mbit = 4 bank 128Mbit
• Ma trận 13 bit hàng * 12 bit cột * ô nhớ 4 bit
• Ma trận 13 bit hàng * 10 bit cột * ô nhớ 16 bit
➢ Tổ chức bộ nhớ
o Bộ nhớ thường gồm nhiều chip nhớ dung lượng nhỏ ghép lại
o Dùng 1 mạch giải mã địa chỉ để chọn chip khi truy cập
o Ví dụ: Bộ nhớ 1KB gồm 4 chip 256B ghép lại
65 XOR & XNOR Gate
Exlusive OR (XOR) cho ra kết quả HIGH khi hai đầu vào khác
nhau
Output expression:
x = AB + AB
Exlusive NOR (XNOR) cho ra kết quả HIGH khi hai đầu vào giống nhau
XOR và XNOR cho ra kết quả ngược nhau
Output
x =expression
AB + AB
Ký hiệu XNOR
Cổng XOR và XNOR rất hữu dụng trong các mạch với mục đích phát hiện
và kiểm tra parity
Thiết kế mạch tổ hợp cho phép 1 tín hiệu truyền đến ngõ xuất
khi một trong 2 tín hiệu điều khiển ở mức 1 (không đồng
thời). Các trường hợp khác ngõ xuất ở mức 1 (HIGH).