Bài giảng Thiết kế mạch số dùng HDL - Chương 2: Thiết kế mạch luận lý tổ hợp có nội dung trình bày về luận lý tổ hợp và đại số Boole; qui tắc tối giản đại số Boole; biểu diễn mạch luận lý tổ hợp; đơn giản hóa biểu thức Boole; Glitch và Hazard; các khối cơ bản cho thiết kế luận lý;... Mời các bạn cùng tham khảo!
Trang 2• Luận lý tổ hợp và đại số Boole
• Qui tắc tối giản đại số Boole
• Biểu diễn mạch luận lý tổ hợp
• Đơn giản hóa biểu thức Boole
• Glitch và Hazard
• Các khối cơ bản cho thiết kế luận lý
Trang 3• Luận lý tổ hợp và đại số Boole
• Qui tắc tối giản đại số Boole
• Biểu diễn mạch luận lý tổ hợp
• Đơn giản hóa biểu thức Boole
• Glitch và Hazard
• Các khối cơ bản cho thiết kế luận lý
Trang 4mạch tại thời điểm t chỉ
phụ thuộc vào trạng thái
ngõ vào tại thời điểm t
c d
a
y2 y3
Sequential Circuit
y1 b
c
a
y2 y3
Trang 5 VDD cao làm hư các Transistor
VDD thấp tiết kiệm năng lượng
• VDD = 3.3, 2.5, 1.8, 1.5, 1.2, 1.0,…
Trang 7nMos Pull-down network
Output Input
Trang 8BA
D C
B A
Trang 9• Mỗi biến Boole nhận một
trong hai giá trị 0 hoặc 1
• Mỗi biến Boole a có phần
bù kí hiệu a’
• Một không gian nhiều chiều
được bao phủ bởi một tập
hợp n biến Boole được biểu
diễn bằng B n
• Mỗi điểm trong không gian
B n được gọi là đỉnh và được
biểu diễn bởi một vector nhị
Trang 10• Một biến Boole được biểu diễn bằng một ký tự (a, b,
c’…)
• Một biểu thức Boole được biểu diễn bằng một chuỗi
các biến và các phép toán Boole (abc’, a + b’c…)
• Một tích của các biến được gọi là 1 cube (abc’,
Trang 11đỉnh mà tại đó hàm khẳng định (đúng)
On_Set = {x:x Bn and f(x) = 1}
đỉnh mà tại đó hàm không khẳng định (sai)
Trang 14• Luận lý tổ hợp và đại số Boole
• Qui tắc tối giản đại số Boole
• Biểu diễn mạch luận lý tổ hợp
• Đơn giản hóa biểu thức Boole
• Glitch và Hazard
• Các khối cơ bản cho thiết kế luận lý
Trang 15(a+b)(a+b’) = aa(a+b) = a(a+b’)b = ab(a’+b)a = abab+a’c = (a+c)(a’+b)(a+b)(b+c)(a’+c) =
(a+b)(a’+c)
Trang 16fxi’ = f(x1, x2, x3,…xi-1, 0, xi+1,…,xn)
• Khai triển Shannon hàm f theo phần phụ đại
Trang 17• Luận lý tổ hợp và đại số Boole
• Qui tắc tối giản đại số Boole
• Biểu diễn mạch luận lý tổ hợp
• Đơn giản hóa biểu thức Boole
• Glitch và Hazard
• Các khối cơ bản cho thiết kế luận lý
Trang 18• Biểu diễn dưới dạng sơ đồ kết nối (schematic)
Trang 19biểu thức boole ở dạng tổng các tích (SOP)
xuất hiện
abcd là một minterm của hàm f(a, b, c, d)
a’bd không là một minterm của hàm f(a, b, c, d)
Minterm được biểu diễn bằng m i , ví dụ m 7 = a’bcd
• Một hàm boole ở dạng SOP được gọi là chuẩn tắc
trong đó các biến ở dạng khẳng định hay phủ định
abcd + a’bcd là một canonical
Trang 20• Một hàm boole ở dạng POS được gọi là chuẩn tắc
mà trong đó các biến ở dạng khẳng định hay phủ
định
(a+b+c)(a+b’+c) là một canonical
xuất hiện một lần ở dạng khẳng định hoặc phủ định
• Một cube được gọi là dư thừa (redundant) nếu tập hợp các đỉnh mà nó biểu diễn là con của tập hợp các đỉnh được biểu diễn bởi một cube khác
• Một biểu thức boole không dư thừa (irredundant)
nếu không có cube nào chứa cube khác (không có
cube dư thừa)
Trang 21 Là một cube mà tất cả các đỉnh của nó không nằm trong cube khác
• Essential prime implicant
bởi bất kỳ tập hợp các implicant nào
Trang 23• Luận lý tổ hợp và đại số Boole
• Qui tắc tối giản đại số Boole
• Biểu diễn mạch luận lý tổ hợp
• Đơn giản hóa biểu thức Boole
• Glitch và Hazard
• Các khối cơ bản cho thiết kế luận lý
Trang 24• f 1 (a, b, c) = abc + a’bc +
abc’ + a’b’c + ab’c’ +
ít nhất
• Các phương pháp tối giản
Bìa Karnaugh
Quine-McClusky
Dùng các tính chất đại số Boole
Dùng các công cụ (Espresso-II, mis-II…)
Trang 25• Dùng tối giản các mạch lên đến 5 hoặc 6 biến
Trang 26• Với mỗi bước sử dụng một bảng 2 chiều để
thực hiện giải thuật
• Ví dụ
(4,5,6,8,9,10,13) (0,7,15))
,,,
F
Trang 28thuộc hai nhóm N bit 1 và
N+1 bit 1, nếu 2 tổ hợp này
khác nhau 1 biến thì thay
biến này bằng dấu “_” và
thêm vào cột tiếp theo
• Đánh dấu ghi nhận các tổ
hợp đã được kết hợp
• Tiếp tục thực hiện kết hợp
trên các cột tiếp theo cho
đến khi không thể sinh ra
010- 01-0 100- * 10-0 *
01-1 -101 011- 1-01 -111
01 *
-1-1 *
Trang 31C A D
B A
F
Trang 32• Luận lý tổ hợp và đại số Boole
• Qui tắc tối giản đại số Boole
• Biểu diễn mạch luận lý tổ hợp
• Đơn giản hóa biểu thức Boole
• Glitch và Hazard
• Các khối cơ bản cho thiết kế luận lý
Trang 33mong muốn ở ngõ ra của một mạch kết hợp
trong điều kiện ngõ vào không làm thay đổi
ngõ ra
• Một mạch có thể xảy ra glitches khi đưa tín
hiệu ngõ vào xác định được gọi là có hazard
• Không ảnh hưởng nhiều trên mạch đồng bộ
• Là vấn đề cần giải quyết trên mạch bất đồng bộ
Trang 34• Ngõ ra thay đổi trên thực tế trong khi theo lý thuyết
là không thay đổi
• Xảy ra do sự trể lan truyền
• Hazard có xảy ra hay không tùy thuộc vào các mẫu tín hiệu ngõ vào
Trang 35• Thêm vào các cube dư
thừa (hazard cover
cube)
• Giả sử tín hiệu ngõ vào
chỉ thay đổi 1 bit
0 1
1 1
0 0
1 1
0 0
AB C 00 01 11
0 1
Trang 36• Theo lý thuyết sự thay đổi trên ngõ vào chỉ gây ra một thay
đổi ngõ ra, nhưng thực tế có hai hay nhiều sự thay đổi ngõ ra trước khi đạt đến giá trị mong muốn
• Là kết quả của nhiều hazard tĩnh trên mạch đa mức
(multilevel circuit)
• Khó để loại bỏ
• Nếu mạch không có hazard tĩnh thì không có hazard động
Trang 371 1
1
0 0 0
AB C 00 01 11 10
0 1 0
1
1 1
1
0 0 0
Trang 39• Luận lý tổ hợp và đại số Boole
• Qui tắc tối giản đại số Boole
• Biểu diễn mạch luận lý tổ hợp
• Đơn giản hóa biểu thức Boole
• Glitch và Hazard
• Các khối cơ bản cho thiết kế luận lý
Trang 40• Trong kỹ thuật CMOS, cổng AND và OR
không được hiện thực hiệu quả bằng NAND, NOR
• Chuyển mạch dạng SOP về NAND và Invert
Thay các cổng AND bằng NAND
Đặt các invert trước các ngõ vào cổng OR
Thay cổng OR có các invert ở ngõ vào bằng
NAND
• Chuyển mạch dạng POS về NOR và Invert
Tương tự như trên
Trang 41puter
Trang 42.
Data_out = Data_in[address[k]]
Trang 43• Ngược lại với multiplexer
• Multiplexer và demultiplexer không làm biến đổi dữ liệu
address[m-1:0]
m
Demultiplexer
Trang 44• Biến đổi dữ liệu ngõ vào và đưa ra ngõ ra
• Ánh xạ 1-1 giữa dữ liệu ngõ vào và dữ liệu ngõ ra
• Kích thước dữ liệu nhập lớn hơn kích thước dữ liệu xuất
• Thông thường chỉ một bit ở ngõ nhập “khẳng định” ở một thời điểm
• Priority encoder cho phép nhiều bit ở ngõ nhập đồng thời “khẳng
Data in[n-1]
Trang 45Data out[n-1]