Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 33
Phần 2: Hệ logic tuần tự
2.1. Khái niệm
Hệ logic tuần tự là hệ logic có đầu ra không chỉ phụ thuộc vào trạng thái hiện tại của
đầu vào mà còn phụ thuộc vào các trạng thái lịch sử của đầu vào, để đơn giản các trạng
thái này được thể hiện bằng trạng thái trong của hệ.
Hệ tuần tự sẽ thực hiện hàm chuyển các trạng thái vào và trạng thái trong hiện tại
thành các trạng thái trong và trạng thái đầu ra mới, sau một thời gian trể trạng thái trong
mới này trở thành trạng thái trong hiện tại và lại lập lại quá trình tính trạng thái trong và
trạng thái đầu ra mới.
Nếu sự thay đổi trạng thái chỉ xảy ra khi có một tín hiệu tham khảo gọi là xung
nhịp (clock) thì hệ được gọi là hệ đồng bộ và những hệ có trạng thái thay đổi không cần
xung nhịp được gọi là hệ không đồng bộ. Sơ đồ khối của cả 2 loại này được vẽ ở hình
sau:
Trong hình vẽ cho thấy mạch tổ hợp vào dùng để tính trạng thái trong mới từ trạng
thái vào hiện tại và trạng thái trong hiện tại. Mạch nhớ trạng thái trong cho phép lưu trữ
trạng thái trong của hệ, mạch này có thể có xung nhịp hoặc không.
Mạch tổ hợp ra là mạch tính hàm ra từ trạng thái trong và trạng thái vào hiện tại,
nếu trạng thái ra của hệ chỉ được tính từ trạng thái trong thì hệ thuộc loại Moore và tùy
thuộc cả vào trạng thái vào thì là hệ loại Mealy.
2.2 Các phương pháp biểu diễn hệ tuần tự
2.2.1 Mô tả chức năng
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 34
giữa hai nút là một nhánh có hướng đại diện cho hướng chuyển trạng thái cũa hệ, nút tại
gốc của nhánh là trạng thái trong hiện tại, nút tại ngọn của nhánh là trạng thái trong mới,
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 35
tên trạng thái trong được ghi tại nút tưng ứng, trên mỗi nhánh ghi tín hiệu vào gây ra sự
chuyển trạng thái của hệ.
Trong hệ Moore tín hiệu ra chỉ phụ thuộc vào trạng thái trong nên có thể ghi chuỗi
ra tương ứng với từng trạng thái trong trên nút đại diện cho trạng thái trong. Với hệ Mealy
tín hiệu ra phụ thuộc cả vào trạng thái trong và tín hiệu vào hiện tại nên tín hiệu ra được
ghi bên cạnh dãy vào gây ra sự chuyển trạng thái tương ứng.
Ví dụ xét máy bán hàng tự động có yêu cầu như sau:
- Máy cho phép mỗi lần bỏ vào một đồng 5 xu hoặc 2 đồng 5 xu. Nếu số tiền bỏ
vào bằng hoặc lớn hơn 15 xu thì máy sẻ mở cửa đưa hàng ra: - Trong sơ đồ khối ký hiệu N là tín hiệu bỏ từng đồng 5 xu, D là tín hiệu bỏ mỗi
lần 2 đồng 5 xu và tín hiệu reset hệ thống về trạng thái ban đầu. Máy sẽ phát tín hiệu mở
cửa khi:
- 3 N (N, N, N)
- 2 N và 1 D (N, N, D)
- 1 N và 1 D (N, D)
- 1 D và 1 N (D, N)
- 2 D (D, D)
Hệ này có thể được biểu diễn bằng giản đồ Moore hoặc Mealy
hình 2.5 Bảng chuyển trạng thái hệ Moore
Với hệ Mealy số cột của bảng là 2M+1 trong đó M+1 cột đầu giống như ở hệ
Moore, Ở M cột cuối cùng tại mỗi vị trí sẽ là giá trị của hàm ra ứng với chuỗi tín hiệu vào
ghi ở hàng đầu cùng cột kết hợp với trạng thái trong ghi ở cột đầu cùng hàng với vị trí
đang xét.
Hình 2.6 Bảng chuyển trạng thái hệ Mealy
2.2.6 Bằng lưu đồ thuật toán - ASM ( algorith state machine)
Gồm các khối, mỗi khối bao gồm một đỉnh trạng thái, các đỉnh điều kiện và các
đỉnh ra, hình 2.7 trình bày một khối điển hình, khối này đại diện cho một trạng thái trong
và đường chuyển đến các trạng thái trong khác từ nó cũng như đường chuyển từ trạng thái
khác đến nó.
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 38
Hình 2.7 Một khối trong lưu đồ thuật toán
Đỉnh trạng thái:
Được xem như đỉnh phép toán tạo ra các tín hiệu ra khi hệ đang ở trạng thái trong
đại diện bởi khối đang xét. Phía trên bên trái đỉnh này là tên trạng thái trong và phía trên
bên phải là mả dùng để mã hóa tên náy, bên trong đỉnh là các tín hiệu ra được tạo ra khi
đang ở trạng thái này.
Vì hệ có thể làm việc với logic âm hoặc dương nên phải thêm vào phần đầu của tín
từ S0 và tác động cùng một dãy vào.
Hình 2.9 Giản đồ trạng thái Moore và Mealy
Với hệ Mealy do giá trị ra được tính từ trạng thái trong kết hợp với giá trị vào hiện
tại nên thường có ít trạng thái hơn. Ví dụ xét trường hợp tác động đầu vào là 2 số 1 liên
tiếp thì Moore phải cần 2 trạng thái mới có thể phân biệt được và sau đo cho kết quả ra là
1 còn Mealy chỉ cần một trạng thái và thêm một tín hiệu vào 1 nữa mới cho ra 1.
Việc giảm số trạng thái làm cho hệ có cấu trúc đơn giản hơn nên hệ Mealy thường
được xử dụng mặc dù việc tính hàm ra phức tạp hơn hệ Moore.
Đối với hệ Mealy cần phải quan tâm đến tính phức tạp thời gian cho các tín hiệu
của nó vì thời gian tạo hàm ra làm trể thời gian tạo trạng thái trong mới. Vì khi có tín hiệu
vào là trạng thái mới được tạo ra ngay nên có khi giá trị ra chưa được tính xong từ trạng
thái trong hiện tại thì trạng thái trong đã thay đổi và phát sinh nhiểu trong tín hiệu ra.
2.4 Chuyển đổ giữa 2 mô hình Moore và Mealy
Moore và Mealy là 2 mô hình toán học của cùng một hệ tuần tự, do đó luôn tồn tại
một thuật toán chuyển giữa hai mô hình này với nhau.
Chuyển từ Mealy sang Moore
Quá trình chuyển đổi gồm các bước sau:
2.4.1. Ứng với mỗi cặp :trạng thái trong - tín hiệu ra của Mealy ta thay bằng một
trạng thái trong tương ứng Q của Moore.
2.4.2 Thành lập bảng chuyển trạng thái Moore kèm theo tín hiệu ra tương ứng với
mỗi trạng thái Q .
Ví dụ: Chuyển từ mô hình Mealy sau đây sang Moore
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 41
toán, nói chung là chưa được hình thức hóa.
2.5.2 Hình thức hóa
Chuyển các yêu cầu ở trên thành một hình thức mô tả hoạt động của hệ thành bảng trạng
thái, giản đồ trạng thái.
Rút gọn các trạng thái của mạch để có được số trạng thái ít nhất, một điễm cần lưu ý là
lúc này hệ chưa được mã hóa nhị phân.
2.5.3 Mã hóa nhị phân
Mã hóa các tín hiệu vào, các trạng thái trong và tín hiệu ra.
2.5.4 Xác định hệ phương trình của mạch
Xác định hệ phương trình và tối thiểu hóa các phương trình này. Nếu hệ thiết kế có dùng
F-F thì tùy theo loại F-F xác định phương trình kích tương ứng.
2.5.5 Vẽ sơ đồ mạch
Từ hệ phương trình trên vẻ sơ đồ mạch thực hiện.
Thiết kế hệ tuần tự từ giản đồ trạng thái
Các bước thiết kế
1) Mả hóa tín hiệu vào, trạng thái trong và tín hiệu ra để tạo các tập tín hiệu vào X,
tập trạng thái trong Q và tập tín hiệu ra Y.
2) Xác định hệ phương trình tín hiệu ra Yi = Fi (X, Q), đối với hệ Mealz phương
trình này được xác định trên các cung và đối với Moore được xác định trên các đỉnh, sau
đó tiến hành tối thiểu hóa.
3) Xác định hệ phương trình kích các F-F và tối thiểu hóa các phương trình này.
Đối với một FF Qi bất kỳ, sự thay đổi trạng thái từ Qi đến Qi+ chỉ có thể có 4 khả năng
như sau:
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 43
Hình 2.13 Ký hiệu các cung biểu diển sự chuyển trạng thái từ Qi đến Qi+
Trang 45
Sơ đồ mạch bộ đếm đồng bộ mulo 5 dùng D - FF
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 46
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 47
4. Dùng RS - FF
Phương trình đầu vào S
S = Ton + Các cung loại 1
Phương trìnhy đầu vào R
R = Toff + Các cung loại 0
Suy ra:
S1 = Ton1 + [Các cung loại 1] = (3) + [0]
R1 = Toff1 + [Các cung loại 0] = (4) + [ (0), (1), (2), (3) ]
S2 = Ton2 + [Các cung loại 1] = (1) + [2]
R2 = Toff2 + [ Các cung loại 0] = (3) + [(0), (4)]
S3 = Ton3 + [Các cung loại 1] = (0) + (2) + [0]
R3 = Toff2 + [ Các cung loại 0] = (1) + (3) + [(4)]
Biên soạn Ngô Văn Bình
Trang 50
2.6 Tối thiểu hóa trạng thái
Là giãm số kượng trạng thái trong của hệ đến mức ít nhất mà vẩn không làm thay
đổi chức năng của hệ.
Việc tối thiểu hóa sẽ làm giãm trạng thái trong dẫn đến giãm độ phức tạp, giãm giá
thành và tăng độ tin cậy của hệ.
Cơ sở của phương pháp dựa trên khái niệm trạng thái tương đương. Hai trạng thái
được gọi là tương đương khi với cùng một tổ hợp biến vào đều có tín hiệu ra và các
trạng thái chuyển đến giống nhau, có hai phương pháp tối thiểu hóa đó là phương pháp
kiểm tra hàng và phương pháp bảng kéo theo.
2.6.1 Phương pháp kiễm tra hàng (Row matching methode)
Phương pháp này cho phép thực hiện thủ công trên giấy, nhưng chỉ thích hợp với các
hệ có ít trạng thái, các bước tiến hành như sau:
Từ bảng chuyển trạng thái của hệ nhóm các trạng thái có cùng giá trị tín hiệu ra với
nhau và các trạng thái chuyển đến giống nhau thành một trạng thái chung, sau đó thành
lập bảng chuyển trạng thái mới.
Lặp lại công việc trên cho đến khi không còn có thể nhóm được nữa, hệ đã được tối
thiểu hóa ở lần nhóm cuối cùng.
Ví dụ một hệ nhận dạng mã có một đầu vào X và một đầu ra Y, tín hiệu ra Y của hệ
chỉ bằng 1 khi xuất hiện dãy tín hiệu vào X = 110 hoặc X = 010. Bảng chuyển trạng thái
được trình bày như sau:
Hình 2.15 Giản đồ trạng thái
Hình 2.16 Bảng chuyển trạng thái
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
S
0
0 0
S
4
S
0
S
0
1 0
Hình 2.17 Bảng trạng thái mới
Từ bảng trạng thái cho thấy S1 và S2 là 2 trạng thái tương đương, tiếp tục gộp
thành một trạng thái chung
S/X 0 1 0 1
S
0
S
1
S
1
0 0
S
1
S
3
S
4
0 0
1
0
S
1
S
1
S
2
1
S
2
S
2
S
1
0
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 52
Hình 2.19 Giản đồ và bảng trạng thái của hệ kiểm tra lẻ
Từ bảng trạng thái cho thấy nếu nhóm S0 và S2 lại với nhau thì hoạt động của
mạch cũng không thay đổi nhưng lại giãm bớt được một trạng thái như hình dưới đây:
Biên soạn Ngô Văn Bình
Trang 53
ban đầu SiSj tại cùng một tổ hợp biến vào, lấy cùng ví dụ ở trên, ta có bảng kéo theo như
sau: Hình 2.21 Bảng kéo theo thứ nhất
Gạch bỏ các ô tương ứng với các cặp SiSj có tín hiệu ra không giống nhau (những
cặp này không tương đương)
Hình 2.22 Bảng kéo theo thứ hai
Dựa trên các cặp không tương đương đã loại bỏ, kiểm tra lại các ô, xóa các ô nào
có chứa các cặp không tương đương
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 54
Hình 2.23 Bảng kéo theo thứ ba
Tiếp tục kiểm tra cho đến khi không còn ô nào có thể xóa được nữa
Hình 2.24 Bảng kéo theo cuối cùng
Dựa vào bảng kéo theo cuối cùng, kiểm tra tính tương đương của cặp trạng thái
trong từng ô, hai trạng thái cùng tương đương với trạng thái thứ ba thì tương đương nhau,
từ kết quả trên cho thấy: S3 tương đương S5 nên có thể thay bằng S3 và S4 tương đương
S6 nên thay bằng S4. Dẫn đến S1 cũng tương đương S2 nên thay bằng S1, bảng trạng thái
tối giản nhận được như sau:
S/X 0 1 0 1
Trang 55
Hình 2.25 Bảng trạng thái tối giản
Bài tập
1/ Dùng phương pháp bảng kéo theo đơn giản bảng trạng thái sau 2/ Thiết kế hệ tuần tự đồng bộ dùng JK - FF có 1 ngỏ vào X và 1 ngỏ ra Z và bảng
trạng thái kèm theo sau đây 3/ Đơn giản trạng thái của một hệ tuần tự có 2 ngỏ vào, 1 ngỏ ra và bảng chuyển
trạng thái - ra như sau
Bài giảng Vi mạch số
Biên soạn Ngô Văn Bình
Trang 56
2.7 Mã hóa trạng thái
Mã hóa trạng thái là gán một gía trị nhị phân cho một trạng thái trong của hệ, giá trị
này được lưu trữ trong các FF, khi hệ chuyển từ trạng thái này sang trạng thái khác cũng
tương ứng với việc chuyển các mã từ giá trị nhị phân này sang giá trị nhị phân khác.
Để cho mạch kích FF được đơn giản thì khi chuyển trạng thái số FF thay đổi càng ít
càng tốt, đặc biệt là trong hệ tuần tự không đồng bộ nếu có nhiều FF cùng thay đổi nhưng
tốc độ không giống nhau sẽ có thể dẫn đến sai trạng thái rất nguy hiễm.
Để đạt được yêu cần này thì mã của các trạng thái kế tiếp nhau phải thật gần nhau,
tốt nhất là chỉ khác nhau một bít, nguyên tắc này được gọi là nguyên tắc mã hóa kế cận.
Với hệ có n trạng thái trong sẽ có n! cách mã hóa bằng n mã nhị phân. Việc chọn
cách mã hóa tốt nhất rất khó khăn vì thực ra cũng chưa có lý thuyết hoàn chỉnh cho vấn
đề này, dưới đây là một vài phương pháp thường dùng