Giản đồ này gồm các nút và các nhánh có hướng, mỗi nút biểu diển một trạng thái, nối 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
Trang 1Phầ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
Trang 2một thời gian T1 sẻ chuyển sang xanh
- Nếu đèn xanh đang sáng thì hệ thống sẽ tự động chuyển sang vàng sau khoảng thời gian T2 và sau đó sang đỏ sau khoảng thời gian T3
- Tương tự, nếu đèn đỏ đang sáng thì hệ thống sẽ tự động chuyển sang vàng sau khoảng thời gian T2 và sang xanh sau khoảng thời gian T3
2.2.2 Mô tả bằng hàm
Theo sơ đồ khối, hệ logic tuần tự có thể được mô tả bởi một bộ gồm
- Tập trạng thái trong của hệ ký hiệu là S = {Si} nếu số lượng trạng thái là hữu hạn
- Tập các dãy vào gây ra sự thay đổi trạng thái của hệ ký hiệu là X = {Xi}
- Tập các trạng thái ra Y = {Yj}
- Hàm ra theo hệ Moore Y = Fy (S) hoặc hàm ra theo Mealy Y = Fy (S, X)
- Hàm vào còn gọi là hàm chuyển S = Fs (S, X)
2.2.3 Bằng đồ thị thời gian
Là một họ đồ thị biểu diễn từng tín hiệu vào, ra và xung nhịp với cùng gốc thời gian Ví dụ đồ thị thời gian sau đây là của một bộ đếm đồng bộ mod 2
2.2.4 Bằng giản đồ trạng thái
Giản đồ trạng thái cho thấy sự chuyển từ trạng thái này sang trạng thái khác của
hệ Giản đồ này gồm các nút và các nhánh có hướng, mỗi nút biểu diển một trạng thái, nối 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,
Trang 3tê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:
Trang 42.2.5 Bằng bảng chuyển trạng thái
Là phương pháp thường được xử dụng khi thiết kế hệ tuần tự Bảng chuyển trạng thái là một bảng mô tả sự chuyển sang trạng thái mới và tạo hàm ra mới của một hệ có N trạng thái trong khi xuất phát từ một trạng thái trong và một chuỗi vào xác định
Cấu tạo bảng chuyển trạng thái của hệ Moore và Mealy không giống nhau: Với hệ
có N trạng thái trong thì bảng chuyển trạng thái có N + 1 hàng, cột đầu của mỗi hàng tính
từ hàng thứ hai là tên các trạng thái trong
Số tổ hợp vào khác nhau phụ thuộc vào độ dài của chuỗi vào gây ra sự chuyển
trạng thái trong Giả sử chuỗi vào có n ký hiệu số tổ hợp biến vào là M = 2n
Với hệ Moore bảng chuyển trạng thái sẽ có M+2 cột, cột đầu là tên trạng thái
trong, từ cột thứ hai đến cột M+1 thì hàng đầu là tổ hợp giá trị của dãy vào, ở các hàng khác tại mỗi vị trí là trạng thái trong mới được chuyển từ trạng thái trong ở cột đầu cùng hàng với nó dưới tác động của tổ hợp vào ở hàng đầu cùng cột Cột cuối cùng là giá trị của hàm ra ứng với các trạng thái trong ở cột đầu của bảng
Ví dụ với hệ Moore có giản đồ trạng thái và bảng chuyển trạng thái tương ứng ở hình sau:
Trang 5hì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
Trang 6Hì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 hiệu ra chữ L hoặc H để cho biết tín hiệu ra ở mức thấp hoặc cao Tín hiệu ra có thể được tạo ra ngay lập tức hoặc sau một thời gian trể cho đến khi có xung nhịp mới, hai trường hợp này được phân biệt bằng cách thêm tiếp đầu ngữ I vào tên tín hiệu ra
Đỉnh điều kiện:
Thực hiện việc thử một đầu vào để quyết định việc rẽ nhánh từ khối hiện tại sang các khối khác các khối điều kiện có thể nối tiếp nhau nếu cần thử nhiều đầu vào ví dụ ở hình 2.8a trạng thái A chỉ chuyển sang B khi hai điều kiện I0 và I1 đều bằng 1 còn mọi trường hợp khác sẽ chuyển đến C
Đỉnh ra:
Là đỉnh tạo tín hiệu ra khi hệ ở trạng thái trong hiện tại và phải thỏa mãn điều kiện thử đầu vào xác định, đỉnh ra phải ở sau đỉnh điều kiện và chứa danh sách các tín hiệu ra
Trang 8Hì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
Trang 10Hình 2.12 Bảng trạng thái Moore
Chuyển từ Moore sang Mealy
Quá trình chuyển từ Moore sang Mealy đơn giản hơn vì chỉ cần ghi thêm bên cạnh mỗi ô trong bảng trạng thái các tín hiệu ra tương ứng, sau đó tiến hành tối thiểu hóa trạng thái của hệ
2.5 Thiết kế hệ logic tuần tự
Quá trình thiết kế thường bao gồm các bước như saui
2.5.1 Mô tả yêu cầu thiết kế
Trong phần này nhiệm vụ thiết kế được mô tả bằng ngôn ngữ hoặc bằng lưu đồ thuật toán, nói chung là chưa được hình thức hóa
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
đó 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:
Trang 11Hì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 12Sơ đồ mạch logic
Trang 13Sơ đồ mạch bộ đếm đồng bộ mulo 5 dùng D - FF
Trang 154 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)]
Trang 16Ví dụ 2:
Thiết kế hệ tuần tự đồng bộ có ngỏ vào X, ngỏ ra Y và giản đồ trạng thái kèm theo với
các trạng thái đựoc mả hóa như sau: S0 = 00; S1 = 01; S2 = 10, mả 11 không dùng
a Dùng D - FF
b Dùng JK - FF
Trang 182.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
Trang 19Từ bảng trạng thái cho thấy S3 và S5 là 2 trạng thái tương đương và S4 và S6 cũng
là cặp trạng thái tương đương vì có tín hiệu ra và các trạng thái chuyển đến giống nhau, gộp chúng thành trạng thái chung S3 và S4 và vẻ bảng trạng thái mới
và số trạng thái trong bảng là tối giản
Từ định nghĩa cặp trạng thái tương đương như trình bày ở trên dẩn đến một giới hạn của phương pháp kiểm tra hàng Đó là trong trường hợp hai trạng thái xuất phát chuyển đổi qua lại lẩn nhau với cùng một tổ hợp biến vào
Xét mạch kiểm tra tính lẻ có một đầu vào X và một đầu ra Y, tín hiệu ra bằng 1 khi chuỗi tín hiệu vào là số lẻ
Trang 20Hì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:
2.6.2 Phương pháp bảng kéo theo (Implication chart methode)
Bảng kéo theo là một bảng cho phép tìm sự tương đương của từng cặp trạng thái trong Bảng kéo theo ban đầu của hệ có n trạng thái là một bảng có (n-1) hàng và (n-1) cột, mỗi hàng ghi tên một trạng thái trong, mỗi cột cũng đại diện một trạng thái trong, ô giao điểm của hàng Si và cột Sj sẽ chứa các cặp trạng thái chuyển đến từ cặp trạng thái
Trang 21ban đầ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:
Trang 22Hì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:
Trang 23Hì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
Trang 242.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
2.7.1 Mã hóa thủ công
Phương pháp này xử dụng một bảng liệt kê trạng thái có cấu trúc giống bảng Karnaugh, các FF được ghi trên 2 cạnh, trong mõi ô là trạng thái trong có mã tương ứng trên 2 cạnh
Ví dụ: Một hệ tuần tự có lưu đồ thuật toán như sau
Trang 25Hình 2.26 Lưu đồ thuật toán
Vì hệ có 5 trạng thái nên phải dùng mã nhị phân dài 3 bít và các giá trị của mã sẽ được lưu trữ trong 3 FF, sau đây là bảng mã hóa trạng thái của hệ
Hình 2.27 Bảng mã hóa trạng thái Trước tiên, chọn ô số liệu 00 để mã hóa S0 vì S1 và S2 là các trạng thái kế S0 nên cũng chọn các ô kế cận là 010 và 100 để mã hóa chúng, trạng thái S3 kế S1 và S2 nên chọn ô 110 là thích hợp, riêng đối với S4 vừa kế S3 vừa kế S1 nhưng trong bảng kghông
có vị trí nào đáp ứng cùng lúc 2 yêu cần này nên chỉ chọn được ô kế một trong hai trạng thái trên đó là ô 011
Phần dưới đây trình bày một số luật ưư tiên về kế cận, các luật này dựa trên cơ sở về giá trị các đầu vào và ra của hệ, quy tắc như sau:
- Ưu tiên cao nhất là các trạng thái cùng chuyển đến một trạng thái chung dưới tác động của cùng một tổ hợp biến vào
- Ưu tiên trung bình là các trạng thái mới xuất phát từ một trạng thái chung dưới tác động của các tổ hợp vào khác nhau
Trang 26Hình 2.28 Luật ưu tiên 2.7.2 Mã hóa nóng
Để bảo đảm tính kế cận khi mã hóa có thể tăng số FF, một trong các phương pháp nàylà phương pháp mã hóa nóng (one hot encoding)
Với phương pháp này một hệ có n trạng thái sẽ được mã hóa bằng n FF, trong
trường hợp này mã nhị phân dài n bít và tại một thời điểm bất kỳ chỉ có một FF bằng 1 Trong phương pháp này mạch kích các FF trở nên phức tạp và khó thực hiện bằng vi mạch rời nhưng lại thích hợp với công nghệ vi mạch số lập trình
Ví dụ một hệ tuần tự có giản đồ trạng thái như sau:
Hình 2.29 Giản đồ trạng thái và bảng liệt kê trạng thái
Nguyên tắc thành lập hàm chuyển trạng thái trong mới
Trang 27Hàm ra của hệ
Ý = S0 M1R = S0 + S2 M1L = S1
Sơ đồ mạch thực hiện