You are on page 1of 27

THIẾT KẾ HỆ THỐNG SỐ

Chương 13:

Trạng thái máy hữu hạn


Nội dung

• Mạch tuần tự - Trạng thái máy hữu hạn


• Phân loại trạng thái máy hữu hạn
• Các bước thiết kế
• Lập trình trạng thái máy hữu hạn
• Thảo luận

2
Mạch tuần tự -
Trạng thái máy hữu hạn

• Mạch tuần tự (Sequential circuit)


– Là một hệ thống số có bộ nhớ; giá trị ngõ ra
của nó đối với giá trị ngõ vào phụ thuộc vào
trạng thái hiện tại của nó.
• Trạng thái máy hữu hạn (Finite State
Machine, FSM)
– Vì các mạch tuần tự có số trạng thái hữu
hạn, chúng còn được gọi là trạng thái máy
hữu hạn.
3
Phân loại FSM

• Máy Moore (Moore machine)


– Các giá trị của ngõ ra chỉ phụ thuộc trạng
thái hiện tại.
• Máy Mealy (Mealy machine)
– Các giá trị của ngõ ra phụ thuộc trạng thái
hiện tại và giá trị của ngõ vào.

4
Máy Moore

• Giá trị của các ngõ ra chỉ phụ thuộc vào trạng thái hiện tại.
• Khi các giá trị ngõ vào thay đổi thì các giá trị của các ngõ ra chỉ có thể thay đổi
ở xung đồng hồ kế tiếp (luôn trễ hơn 1 xung đồng hồ)
5
Máy Mealy

• Các ngõ ra có giá trị phụ thuộc vào trạng thái hiện tại và các giá trị ngõ vào.
• Khi giá trị của các ngõ vào thay đổi thì giá trị của các ngõ ra có thể thay đổi
trong cùng chu kỳ xung đồng hồ.
6
Thiết kế máy Moore

• Gồm 8 bước:
1. Mô tả vấn đề
2. Sơ đồ trạng thái
3. Bảng trạng thái
4. Gán trạng thái
5. Bảng chuyển dịch
6. Bảng tác động
7. Thực hiện phần mạch tổ hợp
8. Hoàn chỉnh thiết kế

7
Thiết kế máy Moore (tt)

 Mô tả vấn đề:

 Mạch phát hiện chuỗi bit mẫu 1011 trong một


chuỗi bit.
• Mạch gồm một ngõ vào x, là ngõ vào của chuỗi bit cần
kiểm tra và một ngõ ra w. Ngõ ra này có giá trị “1” sau
một chu kỳ xung đồng hồ, chỉ khi chuỗi bit mẫu được
phát hiện trong chuỗi bit ngõ vào.
• Quá trình tìm kiếm chuỗi bit mẫu trong chuỗi bit ngõ vào
diễn ra liên tục.
8
Thiết kế máy Moore (tt)

 Sơ đồ trạng thái
Bit ngõ vào

Ngõ ra

• Vì chuỗi bit mẫu gồm 4 bit  máy Moore sẽ có 5 trạng thái được
ký hiệu bằng 5 chữ cái: A, B, C, D, E.
• Bởi vì ngõ vào x là 1 bit  chỉ có 2 cung: x =0 và x=1 cho mỗi
trạng thái.
9
Thiết kế máy Moore (tt)

Trạng thái Ngõ vào


 Bảng trạng thái hiện tại

- Để thiết kế các mạch số thì


dữ liệu và hành vi của mạch
cần phải được biểu diễn
dưới dạng bảng.

Trạng thái Ngõ ra


kế tiếp

10
Thiết kế máy Moore (tt)

 Gán trạng thái


- Để thực hiện phần cứng tất
cả trạng thái của mạch điện
đều phải được biểu điễn
dưới dạng nhị phân.
- Mục đich của bước này là
gán giá trị nhị phân duy nhất
cho mỗi trạng thái.

11
Thiết kế máy Moore (tt)

 Bảng chuyển dịch


- Viết lại bảng trạng thái trong đó tất cả các trạng thái
đều được biểu diễn dưới dạng nhị phân.
Trạng thái
hiện tại

Trạng thái
kế tiếp
12
Thiết kế máy Moore (tt)

 Bảng tác động


- Một thiết kế bao gồm: phần mạch tổ hợp và phần thanh ghi.
- Mục đích của bước này là thiết kế phần thanh ghi sử dụng các flip-
flop D.

1 0 1
1 1 0
1 1 1

13
Thiết kế máy Moore (tt)

 Thực hiện phần mạch tổ hợp

14
Thiết kế máy Moore (tt)

 Thực hiện phần mạch tổ hợp

15
Thiết kế máy Moore (tt)

 Hoàn chỉnh thiết kế


D2

D1
Combinational Register part
part

D0

16
Thiết kế máy Mealy
 Thiết kế tương tự máy Moore, gồm 8 bước:
1. Mô tả vấn đề.
2. Sơ đồ trạng thái.
3. Bảng trạng thái.
4. Gán trạng thái.
5. Bảng chuyển dịch.
6. Các bảng tác động.
7. Thực hiện phần mạch tổ hợp.
8. Hoàn chỉnh thiết kế.
 Một số điểm khác biệt:
• Giá trị ngõ vào thay đổi  Giá trị ngõ ra thay đổi trong cùng chu kỳ đồng hồ.
• Ở một trạng thái xác định giá trị của bit ngõ vào x quyết định giá trị ngõ ra
(được biểu diễn trên các cung)
 Số trạng thái ít hơn 1 trạng thái so với máy Moore.
• Ở bước thiết kế phần mạch tổ hợp, hàm w (hàm ngõ ra) là hàm theo các
biến ngõ ra của các flip-flop (y2y1y0) và ngõ vào x.
17
Thiết kế máy Mealy (tt)

 Sơ đồ trạng thái

Ngõ vào Ngõ ra

18
Thiết kế máy Mealy (tt)

 Bảng trạng thái

19
Thiết kế máy Mealy (tt)

 Gán trạng thái

 Bảng chuyển dịch

20
Thiết kế máy Mealy (tt)

 Bảng tác động

21
Thiết kế máy Mealy (tt)

 Thực hiện phần mạch tổ hợp

1
D x0
y xyy
1 0

w  xy1y0

D0  x 22
Thiết kế máy Mealy (tt)

 Hoàn chỉnh thiết kế


Present state
(p_state)

23
So sánh máy Moore và máy Mealy

• Các máy Mealy ít số trạng thái hơn.


– Ở máy Mealy các giá trị ngõ ra nằm trên các cung
(arcs), n^2, thay vì ở các trạng thái (states) ở máy
Moore, n.
• Các máy Moore an toàn hơn khi sử dụng.
– Các ngõ ra thay đổi ở cạnh của xung đồng hồ và
luôn luôn trễ hơn 1 chu kỳ, khi giá trị các ngõ vào
thay đổi.
– Ở máy Mealy, ngõ vào thay đổi có thể làm cho ngõ
ra thay đổi ngay khi các mạch tổ hợp thực hiện
xong. Điều này gây ra khó khăn trong trường hợp
nhiều máy kết nối với nhau.

24
So sánh máy Moore và máy Mealy (tt)

• Các máy Mealy cho đáp ứng nhanh hơn


khi các ngõ vào thay đổi.
– Đáp ứng trong cùng chu kỳ - không cần phải
chờ xung đồng hồ.
– Trong các máy Moore, mạch tổ hợp để xác
định giá trị ngõ ra phức tạp hơn do vậy sẽ
tạo ra độ trễ gây nên bởi các cổng sẽ lớn
hơn.

25
Lập trình trạng thái máy hữu hạn

• Ngôn ngữ:
– Verilog HDL
• Phần mềm:
– ModelSim Student Edition
• Chương trình mẫu:
– Mạch phát hiện chuỗi bit 1011.

26
Hết Chương 13

You might also like