Tải bản đầy đủ (.pdf) (45 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.08 MB, 45 trang )

dce

2009

Thiết kế mạch số dùng HDL
Chương 2: Thiết kế mạch luận lý tổ hợp


Computer Engineering 2009

Nội dung chính







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ý

Advanced Digital Design with the Verilog HDL –
chapter 2

©2009, Pham Quoc Cuong

2




Computer Engineering 2009

Nội dung chính







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ý

Advanced Digital Design with the Verilog HDL –
chapter 2

©2009, Pham Quoc Cuong

3


Computer Engineering 2009

Mạch tổ hợp – mạch tuần tự

• Combinational circuit
 Trạng thái ngõ ra của
mạ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

a
b
c
d

y1
Combinational

y2

Logic

y3

• Sequential circuit
 Trạng thái ngõ ra phụ
thuộc vào “lịch sử” ngõ
ra và ngõ vào hiện tại

Advanced Digital Design with the Verilog HDL –
chapter 2

a
b

c

y1

Sequential

y2

Circuit

y3

©2009, Pham Quoc Cuong

4


Computer Engineering 2009

Điện áp nguồn
• GND = 0V
• Năm 1980 VDD = 5V
• VDD ngày càng giảm trong các bộ xử lý hiện
đại
 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,…

Advanced Digital Design with the Verilog HDL –

chapter 2

©2009, Pham Quoc Cuong

5


Computer Engineering 2009

Transistor
• nMos

• pMos

Advanced Digital Design with the Verilog HDL –
chapter 2

©2009, Pham Quoc Cuong

6


Computer Engineering 2009

Cơng nghệ CMOS
• Complementary metaloxide semiconductor
• Output của các cổng
CMOS luôn là 0 hoặc 1

Invert gate


pMos
Pull-up
network

Input
Output
nMos
Pull-down
network

NAND gate
NOR gate

Advanced Digital Design with the Verilog HDL –
chapter 2

©2009, Pham Quoc Cuong

7


Computer Engineering 2009

Example: O3AI
• Y ( A  B  C)  D
A
B
C


D
Y
D

A

B

Advanced Digital Design with the Verilog HDL –
chapter 2

C

©2009, Pham Quoc Cuong

8


Computer Engineering 2009

Đại số Boole – Định nghĩa (1)
• Đại số Boole gồm một tập
giá trị B = {0, 1} và hai phép
tốn “+” và “”
• 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 Bn
• Mỗi điểm trong khơng gian
Bn được gọi là đỉnh và được
biểu diễn bởi một vector nhị
phân n chiều
Advanced Digital Design with the Verilog HDL –
chapter 2

©2009, Pham Quoc Cuong

9


Computer Engineering 2009

Đại số Boole – Định nghĩa (2)
• 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 (abc’, a + b’c…)
• Một tích của các biến được gọi là 1 cube (abc’,
a’b…)
• Một cube chứa một hay nhiều đỉnh
• Một hàm Boole đầy đủ n ngõ nhập là một ánh xạ
f : Bn 
 B m

• Một hàm Boole khơng đầy đủ là ánh xạ
f : Bn 

{0,1,*}
Advanced Digital Design with the Verilog HDL –
chapter 2

* don’t-care
©2009, Pham Quoc Cuong

10


Computer Engineering 2009

Đại số Boole – Định nghĩa (3)
• On_Set của một hàm Boole là tập hợp các
đỉnh mà tại đó hàm khẳng định (đúng)
On_Set = {x:x Bn and f(x) = 1}
• Off_Set của một hàm Boole là tập hợp các
đỉnh mà tại đó hàm khơng khẳng định (sai)
Off_Set = {x:x Bn and f(x) = 0}
• Don’t_care_Set là tập hợp các đỉnh mà tại đó
khơng quan tâm đến giá trị hàm

Advanced Digital Design with the Verilog HDL –
chapter 2

©2009, Pham Quoc Cuong

11



Computer Engineering 2009

Đại số Boole – Tính chất
Tính chất

Tổng các tích

Tích các tổng

a+0=a

a1 = a

a+1=1

a0 = 0

a+b=b+a

ab = ba

Kết hợp với 0, 1
Giao hoán
Kết hợp
Phân phối

a+b+c = (a+b)+c
abc = (ab)c =
= a+(b+c)
a(bc)

a(b+c) = ab+ac a+bc = (a+b)(a+c)

a+a=a

aa = a

(a’)’ = a
Advanced Digital Design with the Verilog HDL –
chapter 2

a + a’ = 1

aa’ = 0
©2009, Pham Quoc Cuong

12


Computer Engineering 2009

Định lý De-Morgan
a’

b’

a’

b’

a’.b’


(a.b)’
a+b
(a+b)’

a’+b’

(a+b+c+…)’ = a’b’c’… Phủ định của một tổng bằng tích các phủ định

(abc…)’ = a’+b’+c’+… Phủ định của một tích bằng tổng các phủ định
Advanced Digital Design with the Verilog HDL –
chapter 2

©2009, Pham Quoc Cuong

13


Computer Engineering 2009

Nội dung chính







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ý

Advanced Digital Design with the Verilog HDL –
chapter 2

©2009, Pham Quoc Cuong

14


Computer Engineering 2009

Các qui tắc tối giản đại số Boole
Tổng các tích
ab+ab’ = a
a+ab = a
ab’+b = a+b
a+a’b = a+b
(a+b)(a’+c) = ac + a’b
ab+bc+a’c = ab+a’c

Advanced Digital Design with the Verilog HDL –
chapter 2

Tích các tổng
(a+b)(a+b’) = a
a(a+b) = a

(a+b’)b = ab
(a’+b)a = ab
ab+a’c = (a+c)(a’+b)
(a+b)(b+c)(a’+c) =
(a+b)(a’+c)

©2009, Pham Quoc Cuong

15


Computer Engineering 2009

Phần phụ đại số của hàm Boole (co-factor)
• Một hàm boole f(x1, x2, x3,…,xn) có phần phụ
đại số với biến xi là
fxi = f(x1, x2, x3,…xi-1, 1, xi+1,…,xn)
• Phần phụ đại số với biến xi’ là
fxi’ = f(x1, x2, x3,…xi-1, 0, xi+1,…,xn)
• Khai triển Shannon hàm f theo phần phụ đại
số của biến xi
f = xi.fxi + xi’.fxi’ = (xi + fxi’)(xi’ + fxi)
f
• Vi phân của một hàm boole
 fx  fx '
xi

Advanced Digital Design with the Verilog HDL –
chapter 2


i

i

©2009, Pham Quoc Cuong

16


Computer Engineering 2009

Nội dung chính







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ý

Advanced Digital Design with the Verilog HDL –
chapter 2

©2009, Pham Quoc Cuong


17


Computer Engineering 2009

Biểu diễn mạch luận lý tổ hợp





Biểu diễn dưới dạng sơ đồ kết nối (schematic)
Bảng sự thật (Truth table)
Biểu thức boole
BDD (binary decision diagram)
 Sử dụng trong các phần mềm thiết kế tự động
 Hiệu quả và dễ tính tốn hơn bảng sự thật
 Hỗ trợ phát hiện hazard

Advanced Digital Design with the Verilog HDL –
chapter 2

©2009, Pham Quoc Cuong

18


Computer Engineering 2009


Các thuật ngữ (1)
• Implicant của một hàm boole một số hạng trong
biểu thức boole ở dạng tổng các tích (SOP)
• Minterm là một cube trong đó tất cả các biến đều
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 mi, ví dụ m7 = a’bcd

• Một hàm boole ở dạng SOP được gọi là chuẩn tắc
(canonical) nếu mọi cube có biểu diễn duy nhất mà
trong đó các biến ở dạng khẳng định hay phủ định
 abcd + a’bcd là một canonical
Advanced Digital Design with the Verilog HDL –
chapter 2

©2009, Pham Quoc Cuong

19


Computer Engineering 2009

Các thuật ngữ (2)
• Một hàm boole ở dạng POS được gọi là chuẩn tắc
(canonical) nếu mọi thừa số có biểu diễn duy nhất
mà trong đó các biến ở dạng khẳng định hay phủ
định
 (a+b+c)(a+b’+c) là một canonical


• Maxterm là một tổng các biến mà trong đó mỗi biến
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)
Advanced Digital Design with the Verilog HDL –
chapter 2

©2009, Pham Quoc Cuong

20


Computer Engineering 2009

Các thuật ngữ (3)
• Prime implicant
 Là implicant không thể suy ra từ implicant khác
 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
 Là prime implicant mà khơng bị bao phủ (covered)
bởi bất kỳ tập hợp các implicant nào

Advanced Digital Design with the Verilog HDL –
chapter 2


©2009, Pham Quoc Cuong

21


Computer Engineering 2009

Ví dụ
• Cube ab là redundant
trong biểu thức
f(a,b,c) = ab + ac’ + bc
• Prime implicant
• Essential prime
implicant
 ac’, bc

Essential PI

Advanced Digital Design with the Verilog HDL –
chapter 2

©2009, Pham Quoc Cuong

22


Computer Engineering 2009

Nội dung chính








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ý

Advanced Digital Design with the Verilog HDL –
chapter 2

©2009, Pham Quoc Cuong

23


Computer Engineering 2009

Đơn giản hóa biểu thức Boole
• f1(a, b, c) = abc + a’bc +
abc’ + a’b’c + ab’c’ +
a’b’c’
• f2(a, b, c) = bc + ab +
a’b’ + b’c’

• f1 = f 2
• f1: canonical
• f2: minimal

Advanced Digital Design with the Verilog HDL –
chapter 2

• Một hàm boole SOP
được gọi là tối giản
(mininal) nếu và chỉ
nếu nó chứa số lượng
các tích số và các biến
í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…)
©2009, Pham Quoc Cuong

24


Computer Engineering 2009

Bìa Karnaugh (K-map)
• Dùng tối giản các mạch lên đến 5 hoặc 6 biến

• Sum of product
• Product of sum
CD
AB
00 01 11 10
00 0 0 x 1

01
11
10

0

0

1

1

1

1

1

0

0

0


0

1

CD
AB
00 01 11 10
00 0 0 x 1

01
11
10

0

0

1

1

1

1

1

0


0

0

0

1

bcd và abd là prime implicant nhưng
không là essential implicant
Advanced Digital Design with the Verilog HDL –
chapter 2

©2009, Pham Quoc Cuong

25


×