Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
633,41 KB
Nội dung
Chương2
THIẾT KẾMÁYTRẠNGTHÁI
BẰNG LƯUĐỒMÁYTRẠNGTHÁI
I. LƯUĐỒMÁYTRẠNG THÁI:
Người ta còn gọi hệ tuần tự là máytrạngthái thuật toán (ASM - algorithmic
state machine) hay đơn giản hơn là máytrạngthái (SM - sate machine), ở đây ta
gọi tắt là SM. Lưuđồ SM được tạo bởi các khối SM; mỗi khối SM mô tả hoạt
động trong 1 trạng thái.
- Trạngthái của hệ thống được biểu diễn bằng một Hộp trạngthái (state
box). Hộp trạngthái có thể chứa một Danh sách xuất (output list), Mã
trạng thái (state code), Tên trạngthái (state name), Hộp quyết đònh
(decision box), Điều kiện trong hộp quyết đònh là một biều thức Boole, Hộp
xuất theo điều kiện (conditional ouput box) chứa danh sách các biến xuất
theo điều kiện.
Điều kiện
Mã trạngthái
Tên trạngthái
Hộp trạngthái
Danh sách xuất
ở trạngthái này
Danh sách xuất
theo điều kiện
Hộp điều kiện
xxx
X
Hộp xuất
theo điều kiện
Đường vào khối ASM
Các đường ra đến
các khối ASMkhác
T F
- Một khối SM chứa chính xác một hộp trạngthái cùng với các hộp quyết
đònh và các hộp xuất theo điều kiện liên hệ với trạngthái đó. Một khối
SM có chính xác một đường vào và một hoặc nhiều đường ra. Một
đường dẫn đi qua khối SM từ ngõ vào đến ngõ ra được gọi là đường dẫn
liên kết (link path).
Theo hình ta có: khi vào trạngthái S
1
, các giá trò ra Z
1
và Z
2
bằng 1.
Nếu các giá trò vào X
1
và X
2
đều bằng 0, Z
3
và Z
4
cũng bằng 1, và ở cuối thời
gian trạng thái, máy đi vào trạngtháikế qua đường ra 1. Ngược lại nếu X
1
=1
và X
3
=0, giá trò ra Z
5
=1 và đi vào trạngtháikế qua đường ra 3.
- Khối SM có thể được vẽ bằng nhiều dạng khác nhau.
- Một lưuđồ SM có thể biểu diễn một hệ tổ hợp khi chỉ có một trạngthái
và không có sự thay đổi trạngthái xảy ra.
Z
1
= A + A’BC = A + BC
- Ta phải tuân theo một số qui tắc nhất đònh khi xây dựng một khối SM.
* Với mọi kết hợp các biến vào hợp lệ phải có chính xác một đường ra
được đònh nghóa. Điều này là cần thiết vì mỗi tổ hợp vào được cho phép
phải dẫn đến một trạngtháikế duy nhất.
* Không cho phép có đường hồi tiếp nội trong một khối SM.
(a) Sai (b) Đúng
- Khối SM có 2 dạng: song song và nối tiếp
Ta có thể chuyển dễ dàng giản đồtrạngthái của máy tuần tự sang lưu
đồ SM tương đương.
Ta khảo sát giản đồ đònh thì cho lưuđồ SM ở hình trên với chuỗi vào
X=1, 1, 1, 0, 0, 0. Trong thí dụ này, tất cả các thay đổi trạngthái xảy ra ngay
sau cạnh lên của xung nhòp. Vì các biến ra Moore (Za, Zb, Zc) phụ thuộc vào
trạng thái, chúng chỉ có thể thay đổi sau một thay đổi trạng thái. Các biến ra
Mealy (Z
1
, Z
2
) có thể thay đổi ngay sau một thay đổi trạngthái hoặc một thay
đổi giá trò vào. Trong bất cứ trường hợp nào, tất cả các giá trò ra sẽ có giá trò
đúng của chúng ở cạnh tích cực của xung nhòp.
S0 00
Za
X
S1 01
Zb
X
S2 11
Zc
X
Z1 Z2
0 1
0 1
0 1
S0
Za
S1
Zb
S2
Zc
1/0
0/0
0/0
1/0
0/Z1
1/Z2
II. CÀI ĐẶT LƯUĐỒMÁYTRẠNG THÁI:
Việc cài đặt (realization) lưuđồ SM là tìm được phương trình của các
biến ra và các biến trạngtháikế tiếp. Các bước thực hiện như sau:
- Thực hiện gán trạngthái cho các hộp trạng thái.
- Xác đònh phương trình của biến ra Z
i
• Tìm các trạngthái có xuất hiện biến ra (Z
i
= 1).
• Tại mỗi trạng thái, nếu là biến MOORE thì ta được tích số (AND)
của các biến trạng thái; còn nếu là biến MEALY thì ta có tích số
của các biến trạngthái và biến điều kiện vào.
• Phương trình của biến ra bằng tổng (OR) các tích số đã tìm thấy ở
các bước trên lại với nhau.
- Xác đònh phương trình các biến trạngtháikế Q
+
j
• Tìm ra tất cả các trạngthái trong đó Q
j
=1.
• Đối với mỗi trạngthái này, tìm ra tất cả các đường dẫn liên kết
(link path) mà dẫn đến trạngthái đó.
• Với mỗi đường dẫn liên kết này, tìm ra một số hạng là 1 khi đi
theo đường dẫn liên kết này. Nghóa là, với đường dẫn liên kết từ
Sa đến Sb, số hạng sẽ là 1 tích số của các biến trạngthái ở trạng
thái Sa và các biến điều kiện để có thể dẫn đến Sb.
• Biểu thức Q
+
j
được tạo thành bằng cách lấy tổng (OR) các tích số
được tìm thấy ở bước trên lại với nhau
Chú ý:
Các phương trình biến ra và biến trạngthái kết tiếp có thể được đơn giản hoá
bằng cách rút gọn bằng bìa Karnaugh với các trạngthái không sử dụng làm
điều kiện don’t care
Ví dụ: Thực hiện lưuđồ SM sau bằng cổng logic và kích cạnh lênD-FF
+ Gán trạng thái: AB = 00 cho S
0
, AB = 01 cho S
1
, và AB = 11 cho S
2
.
+ Phương trình của các biến ra:
Biến ra Moore: Za = A’B’ (chỉ có trong trạngthái S
0
)
Zb = A’B (chỉ có trong trạngthái S
1
)
Zc = A B (chỉ có trong trạngthái S
2
)
Biến ra Mealy: Z
1
= A B X’ ø (tại trạngthái S
2
và điều kiện X = 0)
Z
2
= A B X (tại trạngthái S
2
và điều kiện X = 1)
+ Phương trình các biến trạngthái kế:
Có 3 đường dẫn liên kết (link1, link2 và link3) trạngthái có B =1:
B
+
= A’B’X (link 1) + A’BX (link 2) + ABX (link 3) = (A’ + B) X
Có 2 đường dẫn liên kết dẫn tới trạngthái có A=1:
A
+
= A’BX + ABX = BX
S0 00 = AB
Za
X
S1 01
Zb
X
S2 11
Zc
X
Z1 Z2
0 1
0 1
0 1
Link 1
Link 2
Link 3
Các phương trình biến ra và trạngtháikế có thể được đơn giản hóa hơn
bằng bảng Karnaugh với trạngthái không sử dụng (AB=10) làm điều kiện
“don’t care”, khi đó:
Za = A’B’ + (AB’) = B’
Zb = A’B
Zc = AB + (AB’) = A
Z
1
= ABX’ + (AB’X’) = AX’
Z
2
= ABX + (AB’X) = AX
A
+
= BX
B
+
= A’B’X + A’BX + ABX + (AB’X) = X
D
A
Q
A
CK Q
A
X
Z
1
Clock
D
B
Q
B
CK Q
B
Z
b
Z
2
Z
c
Z
a
Ví dụ: Thực hiện hệ tuần tự có bảngtrạngthái sau bằnglưuđồ SM; sử
dụng PLA và JK-FF kích cạnh lên
Hiện tại Kế tiếp Ngõ ra (Z
1
Z
2
)
Q
1
Q
2
X
1
X
2
= 00 01 10 11 X
1
X
2
= 00 01 10 11
00 S
0
S
1
S
1
S
2
S
0
11 11 11 01
01 S
1
S
1
S
2
S
1
S
2
00 01 00 01
11 S
2
S
2
S
2
S
0
S
0
10 10 11 11
Thành lập lưuđồ SM
Ta có:
Z
1
= Q
1
Q
2
X
1
+ Q
1
Q
2
X
1
X
2
+ Q
1
Q
2
X
1
Z
2
= Q
1
Q
2
+ Q
1
Q
2
X
2
+ Q
1
Q
2
Q
1
+
= Q
1
Q
2
X
1
+ Q
1
Q
2
X
2
+ Q
1
Q
2
X
1
X
2
+ Q
1
Q
2
X
1
+ Q
1
Q
2
X
1
Q
2
+
= Q
1
Q
2
X
1
X
2
+ Q
1
Q
2
X
2
+ Q
1
Q
2
X
1
Rút gọn với trạngthái không gán làm don’t care
S
0
00 = Q
1
Q
2
Z
2
X
1
0 1
Z
1
X
2
Z
1
S
1
10
X
2
Z
2
S
2
11
Z
1
0 1
X
1
Z
2
0
1
0
1
Z
1
= Q
2
+ Q
1
X
1
+ Q
1
X
2
Z
2
= Q
1
+ Q
2
X
1
+ Q
2
X
2
J
1
= X
1
+ X
2
J
2
= Q
1
X
2
+ Q
1
X
1
X
2
K
1
= Q
2
X
1
K
2
= X
1
Q
1
Q
2
X
1
X
2
Z
1
Z
2
J
1
K
1
J
2
K
2
- 1 - - 1 0 0 0 0 0
0 - 0 - 1 0 0 0 0 0
0 - - 0 1 0 0 0 0 0
0 - - - 0 1 0 0 0 0
- 1 1 - 0 1 0 0 0 0
- 0 - 1 0 1 0 0 0 0
- - 0 - 0 0 1 0 0 0
- - - 0 0 0 1 0 0 0
- 1 1 - 0 0 0 1 0 0
1 - - 1 0 0 0 0 1 0
0 - 1 0 0 0 0 0 1 0
- - 1 - 0 0 0 0 0 1
X
1
X
2
Z
1
00 01
X
X
1 00
1
0
1
11 10
1
1
X
X
11
1 10
1
1
Q
1
Q
2
X
1
X
2
Z
2
00 01
X
X
100
1
0
1
11 10
1
X
X
111
110
11
1
Q
1
Q
2
X
1
X
2
Q
1
+
00
0
1
X
X
1 00
1 01
11 1
0
1
1
1
1
X
X
11
1 10
1
1
Q
1
Q
2
X
1
X
2
00
0
1
X
X
00
01
11 1
0
1
1
1
X
X
11
110
1
Q
1
Q
2
Q
2
+
J
1
J
1
Q
1
J
2
Q
2
J
2
Q
1
Q
2
CK
X
2
PLA
K
2
K
2
K
1
K
1
X
1
Z
2
Z
1
[...]... vào trạngthái S2 Ở trạngthái S2, nếu K=1, ta xuất ra thêm 1 tín hiệu dòch nữa và rồi đi vào trạngthái S3 Tín hiệu “dòch” cuối cùng sẽ reset bộ đếm về 0, đồng thời điều khiển “cộng-dòch” quay về trạngthái dừng Bộ đếm đếm số lần dòch và xuất K=1 vừa trước khi lần dòch cuối cùng xảy ra S0 0 00 = Q1Q2 1 St Load S1 0 11 1 M Sh Ad S2 0 Sh K 1 S3 01 1 K 0 10 Done Lưuđồ SM của bộ nhân nhò phân KTS2-C2-Tr.19... có thể là hàm của nhiều biến Với P = C’E, ta có F (A, B, D, P) = m2 + P m0 + (m6 + m7) F AB D 0 1 00 01 11 P 1 X 10 X F = B D’ + A’D’P = B D’ + A’C’D’E KTS2-C2-Tr. 12 III THÀNH LẬP LƯUĐỒMÁYTRẠNG THÁI: Ví dụ 1: Lập lưuđồ SM cho bộ chia nhò phân song song Ta xét thiết kế bộ chia song song cho các số nhò phân dương Thí dụ ta sẽ thiếtkế 1 hệ chia số bò chia (dividend) 6 bit cho số chia (divisor) 3 bit... tạo ra sẽ làm tăng bộ đếm Nếu bộ nhân có n bit, tổng số lần dòch cần là n Ta sẽ thiếtkế bộ đếm để tín hiệu hoàn tất (K) được tạo ra sau khi xảy ra (n-1) lần dòch (a) Điều khiển bộ nhân (b) Giản đồtrạngthái cộng-dòch (c) Giản đồtrạngthái cuối cùng của bộ điều khiển cộng dòch KTS2-C2-Tr.18 Ở trạngthái S1, là trạngthái có được sau khi dòch, nếu K = 0 thì hoạt động bình thường Nếu K=1, ta kiểm tra... khi dòch (Đáp số): Đường chia giữa số nhân và tích số Giản đồtrạngthái cho phần điều khiển bộ nhân KTS2-C2-Tr.17 Trong trường hợp tổng quát hơn, nếu cần nhân số bit lớn, người ta chia hệ điều khiển thành bộ đếm và điều khiển “cộng - dòch” - Phần điều khiển “cộng - dòch” có trạngthái S1 là trạng thái sau khi dòch, và trạng thái S2 là trạng thái sau khi cộng - Phần bộ đếm tạo ra tín hiệu K Tín hiệu... points) Win = 1 làm cho đèn “Win” sáng (thắng) Lose = 1 làm cho đèn “Lose” sáng (thua) Lưuđồ trò chơi xúc xắc KTS2-C2-Tr .21 S0 0 000 = ABC 1 Rb S1 001 Roll 1 Rb 0 1 S2 D711 0 010 Win 1 D23 12 S3 0 0 Reset 0 Lose Sh S4 0 011 100 0 Reset 1 Rb S5 101 Roll 1 Rb 0 1 Eq 0 D7 0 1 Lưuđồ SM của trò chơi xúc xắc KTS2-C2-Tr .22 ... được tìm như sau: F = MS0 + P1 MS1 + P2 MS2 + … + MS0 là tổng tối thiểu (Minimum Sum) có được bằng cách đặt P1 = P2 = … = 0 + MS1 là tổng tối thiểu có được bằng cách đặt P1 =1, các Pj = 0 (j ≠ 1), và thay thế tất cả các 1 trên bảngbằng các “don’t care” (X) + MS2 là tổng tối thiểu có được bằng cách đặt P2 =1, các Pj = 0 (j ≠ 2) , và thay thế tất cả các 1 trên bảngbằng các “don’t care” (X) Biểu thức này... bit tận cùng bên trái của thanh ghi “số bò chia” và đặt bit thương số (bit tận cùng bên phải trong thanh ghi “số bò chia”) lên 1 KTS2-C2-Tr.14 00 = AB 01 10 11 Lưuđồ SM của bộ chia nhò phân KTS2-C2-Tr.15 Ví du 2 : Thành lập lưuđồ SM cho phần điều khiển bộ nhân Ta sẽ thiếtkế bộ nhân song song cho các số nhò phân dương, nhân nhò phân chỉ cần các phép toán dòch và cộng Minh hoạ cho bài toán nhân nhò phân:... nút Rb, các giá trò trong 2 bộ đếm được hiển thò và trò chơi có thể tiến hành Nếu đèn “Win” (thắng) hoặc đèn “Lose” (thua) không sáng, người chơi ấn nút “roll” lần nữa KTS2-C2-Tr .20 Các tín hiệu vào hệ điều khiển được đònh nghóa như sau: D7 = 1 nếu tổng của xúc xắc là 7 D11 = 1 nếu tổng của xúc xắc là 11 D23 12 = 1 nếu tổng của xúc xắc là 2, 3, hoặc 12 Eq=1 nếu tổng của xúc xắc bằng số điểm cất trong thanh... SM của bộ nhân nhò phân KTS2-C2-Tr.19 Ví dụ 3: Thiếtkế trò chơi xúc xắc điện tử Sơ đồ khối trò chơi xúc xắc Như vậy sau khi gieo xúc xắc (roll), tổng của các giá trò trong 2 bộ đếm nằm trong dãi từ 2 đến 12 Các qui tắc chơi như sau: 1 Sau lần gieo xúc xắc (roll) lần thứ nhất, người chơi thắng nếu tổng là 7 hoặc 11 Người chơi thua nếu tổng là 2, 3, hoặc 12 Ngược lại tổng có được trong lần “roll” thứ... nhận thấy việc chia có thể thực hiện được bằng các phép toán trừ và dòch Để xây dựng bộ chia ta sẽ dùng thanh ghi số bò chia 7 bit và thanh ghi số chia 3 bit có sơ đồ khối như sau: Tín hiệu vào St (Start): St = 1 cho phép bắt đầu chạy hệ thống Nó sẽ là 1 trong thời gian 1 xung nhòp, và rồi sẽ giữ là 0 cho đến khi hệ điều khiển quay về trạng thái ban đầu KTS2-C2-Tr.13 Tín hiệu vào C: là ngõ ra của bộ . Chương 2
THIẾT KẾ MÁY TRẠNG THÁI
BẰNG LƯU ĐỒ MÁY TRẠNG THÁI
I. LƯU ĐỒ MÁY TRẠNG THÁI:
Người ta còn gọi hệ tuần tự là máy trạng thái thuật. Q
2
Q
1
+
= Q
1
Q
2
X
1
+ Q
1
Q
2
X
2
+ Q
1
Q
2
X
1
X
2
+ Q
1
Q
2
X
1
+ Q
1
Q
2
X
1
Q
2
+
= Q
1
Q
2
X
1
X
2
+ Q
1
Q
2
X
2