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

Bài giảng kỹ thuật điện tử số Nguyên lý thiết kế mạch dãy

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 (3.16 MB, 48 trang )

Nguyên lý thiết kế mạch dãy
Nguyễn Quốc Cường – 3I
Sequential logic design 2
Nội dung
• Giới thiệu
• Các phần tử hai trạng thái ổn ñịnh
• Flip-Flops
• Phân tích các máy trạng thái ñồng bộ bởi xung
nhịp
• Thiết kế các máy trạng thái ñồng bộ bởi xung
nhịp
Sequential logic design 3
Tài liệu tham khảo
• Digital Design: Principles & Practices – John F
Wakerly – Printice Hall
Sequential logic design 4
Giới thiệu
• M

ch logic dãy:
– output 2 tín hiệu input tại thời ñiểm t
n
– output 2 cả vào tín hiệu input trong quá khứ
• Ví d

: m

ch
ñ
i


u khi

n ch

n kênh TV s

d

ng nút b

m
channel–up và channel-down:
– nếu trước ñó kênh ñang chọn là 9, nếu bấm channel-up thì kênh
lựa chọn là 10
– nếu trước ñó kênh ñang chọn là 1, nếu bấm channel-up thì kênh
lựa chọn là 2

• Vi

c s

d

ng b

ng
ñể
mô t

các output ph


thu

c vào t

h

p các inputs
ñố
i v

i các m

ch dãy là KHÔNG TH

Sequential logic design 5
Trạng thái
• Trong mạch dãy sử dụng khái niệm trạng thái ñể
mô tả:
– Tr

ng thái c

a m

t m

ch dãy là t

p h


p các bi
ế
n
tr

ng thái mà giá tr

c

a nó t

i m

t th

i
ñ
i

m ch

a
ñầ
y
ñủ
các thông tin c

n thi
ế

t trong quá kh

cho phép
xác
ñị
nh các ho

t
ñộ
ng c

a m

ch trong t
ươ
ng lai
– Trong m

ch logic các bi
ế
n tr

ng thái ch

có hai giá tr

0 và 1.
– S

tr


ng thái c

a m

ch có n bi
ế
n tr

ng thái b

ng 2
n
tr

ng thái
Sequential logic design 6
Các phần tử 2 trạng thái ổn ñịnh
Mạch có hai trạng thái ổn ñịnh:
• Nếu Q = HIGH thì Q_L = LOW
• Nếu Q = LOW thì Q_L = HIGH
Sequential logic design 7
Phân tích tương tự
• Xem xét ñiện áp V
out
và V
in
Giao của 2 ñồ thị tại 3 ñiểm ñó là các ñiểm cân bằng của mạch:
• Hai ñiểm ổn ñịnh (ứng với các trạng thái Q = 0 hoặc Q = 1)
• Một ñiểm metastable: tại ñó V

out1
và V
out2
có giá trị ñiện áp nằm giữa mức 1
và 0
Sequential logic design 8
Metastable
• Thực tế thời gian mạch ở trạng thái metastable
thường ngắn, lý do, chỉ cần một tác ñộng ñủ lớn
của nhiễu sẽ kéo nó về một trong hai trạng thái
stable
Sequential logic design 9
Latch và Flip-Flops
• Latch và Flip-flops là các ph

n t

c
ơ
b

n trong m

ch
logic dãy
• Flip-Flops: dùng
ñể
ch

m


t thi
ế
t b

logic dãy có kh

n
ă
ng
l

y m

u tín hi

u
ñầ
u vào và thay
ñổ
i tín hi

u
ñầ
u ra t

i
th

i

ñ
i

m
ñượ
c xác
ñị
nh b

i tín hi

u xung nh

p
• Latch: dùng
ñể
ch

thi
ế
t b

logic dãy có kh

n
ă
ng quan
sát tín hi

u inputs m


t cách liên t

c và có th

thay
ñổ
i
ñầ
u ra c

a nó t

i b

t k

th

i
ñ
i

m nào mà không ph

thu

c vào tín hi

u xung nh


p
• Tuy nhiên th
ườ
ng 2 khái ni

m này có th

s

d

ng nh
ư
nhau
Sequential logic design 10
S-R Latch (Flip-flops)
S-R flip-flop: (set-reset)
R = 1, S = 0  Q = 0 (reset) S=1, R=0  Q = 1(set)
QN : thường là ñầu bù của Q, trong các tài liệu còn ñược ký hiệu Q_L hay
Nếu R = 0, S = 0 thì mạch giống như một phần tử bistable
Tuy nhiên trong trng hp S=R=1 thì Q = QN = 0
Sequential logic design 11
không ñoán ñược
trước giá trị của
Q và QN khi cả R
và S thay ñổi giá
trị tại cùng thời
ñiểm
Sequential logic design 12

Ký hiệu
Sequential logic design 13
Trong công nghệ CMOS và TTL các cổng NAND thường ñược sử dụng hơn là
cổng NOR
Sequential logic design 14
S – R latch với Enable
• S-R và :output thay ñổi phụ thuộc
vào R và S input
• S-R latch với Enable: output thay ñổi phụ thuộc
vào R và S chỉ với ñiều kiện tín hiệu Enable tích
cực
Sequential logic design 15
Sequential logic design 16
D latch (D flip-flops)
Sequential logic design 17
• D latch: giống S-R latch với R là ñảo của S:
– Tránh
ñượ
c tr
ườ
ng h

p S=R=1 trong S-R latch
• Với C = 1 (tích cực):
– D = 1

Q = 1, QN = 0
– D = 0

Q = 0, QN = 1

• D latch vẫn gặp phải vấn ñề về metastable khi D
và C thay ñổi ñồng thời
• Tín hiệu C (Control) còn ñược ký hiệu như là E
(Enable), Clk (Clock) hay G (Gate)
Sequential logic design 18
Nếu D thay ñổi trong khoảng thời gian t
setup
và t
hold
thì D latch có thể rơi vào
trạng thái metastable hoặc không xác ñịnh
Sequential logic design 19
D Flip-flop tác ñộng theo sườn lên
D flip-flop tác ñộng theo sườn lên : sử dụng 2 D latch:
• D latch ñầu tiên ñược gọi là master:
•CLK = 0  latch mở
•CLK = 1  latch ñóng
•D latch thứ hai ñược gọi là slave:
• mở trong suốt thời gian CLK = 1, tuy nhiên giá trị của nó chỉ thay ñổi tại
thời ñiểm bắt ñầu khi CLK thay ñổi từ 01 do master ñã ñóng và không
thay ñổi trong khoảng thời gian CLK = 1
Sequential logic design 20
Sequential logic design 21
khi CLK thay ñổi 01 nếu ñiều kiện t_{hold} và t_{setup} không thỏa mãn,
D flip-flop có thể rơi vào trạng thái không xác ñịnh hoặc metasatble.
Sequential logic design 22
D flip-flop tác ñộng theo sườn xuống
Sequential logic design 23
D flip-flop có ñầu vào không ñồng bộ
ðầu vào không ñồng bộ preset và clear

Chú ý: tuy nhiên sơ ñồ trên không ñược dùng ñể chế tạo IC vì số gate lớn
(11 gates)
Sequential logic design 24
Sơ ñồ D flip-flop sử dụng 6 gates (thay vì 11 gates như ñã giới thiệu trước)
Sequential logic design 25
D flip-flop tác ñộng theo sườn xung với ñầu
vào Enable
Sequential logic design 26
Master/Slave S-R flip-flop
Giống D flip-flop: Q thay ñổi tại thời ñiểm sườn xuống của xung Control
Khác D flip-flop: Q phụ thuộc vào các tín hiệu input trong suốt thời gian
C=1 trước khi chuyển xuống 0  flip-flop tác ñộng theo xung
Sequential logic design 27
Trong trường hợp R=S=1, nếu C chuyển 10 các outputs sẽ rơi vào trạng
thái không xác ñịnh hoặc metastable
Sequential logic design 28
Master-Slave J-K flip-flop
• J-K flip flop tránh ñược hiện tượng của R-S flip-
flop khi cả hai ñầu vào bằng 1
Sequential logic design 29
1s catching 0s catching
Sequential logic design 30
• 1s catching: tại sườn xuống của xung C:
– J =
0
, K
=
1 th
ườ
ng Q = 0 và QN = 1

– nh

ng Q = 1, QN = 0, lý do là có m

t xung J = 1 t

n
t

i khi C = 1
• 0s catching: tại sườn xuống của xung C:
– J =
1
, K
=
0 th
ườ
ng Q = 1 và QN = 0
– nh

ng Q = 0 và QN =1, lý do có m

t xung K = 1 t

n
t

i khi C = 1
• ðể J-K flip-flop hoạt ñộng ñúng yêu cầu J và K
không thay ñổi trong suốt quá trình C = 1

Sequential logic design 31
Flip-flop J-K tác ñộng theo sườn xung
• Hiện tượng 1s và 0 s catching có thể khắc phục
sử dụng Edge-Trigerred J-K flip-flop
Sequential logic design 32
Sequential logic design 33
Sequential logic design 34
T (Toggle) flip-flop
• T flip-flop: thay ñổi trạng thái tại mỗi xung ñồng
hồ
Sequential logic design 35
Sequential logic design 36
Sequential logic design 37
Máy trạng thái ñồng bộ bởi xung nhịp
• ðể hiểu phân tích máy trạng thái (state-
machine), trước tiên xem xét “cloked-
synchronous state machine”:
– state machine: máy tr

ng thái, t

ng quát cho m

ch
logic dãy
– clocked: các ph

n t
ử thay ñổ
i tr


ng thái theo tín hi

u
ñ
i

u khi

n
– synchronous: các ph

n t
ử thay ñổ
i tr

ng thái b

i cùng
m

t tín hi

u clock
Sequential logic design 38
Cấu trúc của máy trạng thái
(Mealy machine)
Sequential logic design 39
• State memory:
– chứa n flip-flop ñể lưu giữ trạng thái hiện thời của máy, có 2n

trạng thái khác nhau
– các flip-flops ñược nối chung một nguồn Clock
• Tr

ng thái ti
ế
p theo c

a máy
ñượ
c quy
ế
t
ñị
nh b

i m

ch
Next-State Logic F là m

t hàm c

a
– các biến current state
– các biến input
• Output logic G: là hàm c

a:
– các biến current state

– các biến input
• F và G là các m

ch logic t

h

p
Sequential logic design 40
• Các flip-flop có thể sử dụng:
– D flip-flop
– J-K flip-flop
– Tuy nhiên khi thi
ế
t k
ế
m

ch dãy thì D flip-flop tác
ñộ
ng
theo s
ườ
n hay
ñượ
c s

d

ng vì vi


c thi
ế
t k
ế
m

ch
logic ngày nay s

d

ng ch

y
ế
u là các IC logic l

p
trình
ñượ
c (
ñượ
c ch
ế
t

o có s

n các D flip-flop)

• Output phụ thuộc cả vào current state và input 
cấu trúc Mealy machine
Sequential logic design 41
Moore machine
Sequential logic design 42
Pipelined output
Yêu cầu: output trong một chu kỳ phụ thuộc vào giá trị state và input của chu kỳ
trước  sử dụng thêm một tầng nhớ (flip-flop) ñến Mealy machine
Nếu ghép Output pipeline memory như là một phần của state-memory  trở
thành Moore machine
Sequential logic design 43
Các biểu thức ñặc trưng
• Mô tả latch hay flip-flop có thể sử dụng các biểu
thức ñặc trưng (characteristic equation):
– Mô t

tr

ng thái ti
ế
p theo nh
ư
là hàm c

a current
state và
input
– Quy
ướ
c: Q* nh

ư
là “next value of Q”
• Biểu thức ñặc trưng không mô tả chi tiết các
hoạt ñộng theo thời gian của thiết bị (ví dụ D flip-
flop tác ñộng theo sườn lên, xuống hay mức thì
ñều có chung một biểu thức ñặc trưng)
Sequential logic design 44
Sequential logic design 45
Phân tích máy trạng thái với D flip-flop
• Gồm 3 bước:
– Xác
ñị
nh hàm F và G
– S

d

ng F và
G ñể
xây d

ng b

ng state và output

ng v

i m

i t


h

p current state và current input
– (option) V

state diagram
Sequential logic design 46
Sequential logic design 47
ví dụ phân tích
• Tại mỗi xung nhịp D FF(flip-flop) sẽ sample tín
hiệu tại D input và truyền ñến ñầu ra Q
Q
*
= D
• Có 2 D FF:
– ký hi

u output là Q
0
và Q
1
là 2 bi
ế
n tr

ng thái
– ký hi

u input là D

0
và D
1
là hai tín hi

u kích thích
(excitation)
• Biểu thức kích thích (excitation equation):
Sequential logic design 48
• Sử dụng biểu thức ñặc trưng của D FF
• Thay biểu thức kích thích:
bi

u th

c này th

hi

n giá tr

các bi
ế
n tr

ng thái ti
ế
p
theo nh
ư

là hàm c

a current state và
current input
,
ñượ
c g

i là các bi

u th

c chuy

n (transistion
equation)
Sequential logic design 49
(a): transistion table
4 trạng thái (Q1,Q0) = (0,0) (0,1) (1,0) (1,1)
1 tín hiệu input EN = 0 , 1
có 8 tổ hợp state/input
(b): state table: bằng cách gán tên cho các trạng thái
(0,0) = A, (0,1) = B, (1,0) = C và (1,1) = D ta có bảng trạng thái (b)
S ký hiệu cho current state, S
*
ký hiệu cho next state
Sequential logic design 50
• Từ sở ñồ, xây dựng hàm logic cho output
• Từ ñó xây dựng bảng (c): state/output table

×