Bài giảng Vi mạch số - Phần 2: Hệ logic tuần tự

Thiết kế lại bộ nhị phân để bất cứ lúc nào phép cộng xảy ra bit nhân(M) sẽ được đặt thành 0. Như vậy. Nếu M = 1 ở thời điểm clock cho trước và phép cộng xãy ra, M sẽ bằng 0 ở thời điểm clock kế. Như vậy ta có thể luôn luôn cộng khi M = 1 và luôn luôn dịch khi M = 0. Điều này có nghĩa là mạch điều khiển không phải đổi trạng thái khi M = 1, và số trạng thái có thể được giảm từ 8 xuống 5. Vẽ lưu đồ SM cho bộ điều khiển nhân.

pdf54 trang | Chia sẻ: nguyenlam99 | Lượt xem: 2168 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Bài giảng Vi mạch số - Phần 2: Hệ logic tuần tự, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 Một hệ logic bất kỳ có thể được xem là một hộp đen có một cổng vào và một cổng ra. Quy luật biến đổi của tín hiệu vào và ra được mô tả bằng một số mệnh đề cụ thể. Ví dụ mô tả hoạt động của mạch điều khiển đèn giao lộ ngả tư. Mạch gồm có 3 đầu ra điều khiển 3 đèn: Đỏ (Đ), xanh (X) và vàng (V) và 2 đầu vào: Một ngõ vào thời gian và một nút nhấn chuyển trạng thái. Nguyên lý làm việc được mô tả như sau: - Nút nhấn sẽ không có tác dụng khi đèn xanh đang sáng (X = 1) - Nếu nhấn nút trong khi đèn vàng hoặc đỏ đang sáng (V = 1) hoặc Đ = 1) thì sau mộ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, 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 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 36 2.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: Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 37 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 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. Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 39 Bộ kiểm tra chẳn - lẻ Hình 2.8 Ví dụ về lưu đồ thuật toán Hình 2.8b là lưư đồ thuật toán một bộ kiểm tra chẳn - lẻ gồm một đầu vào X, hai trạng thái Even và Odd được mã hóa là 0 và 1 và đầu ra Z sẽ bằng 1 khi hệ ở trạng thái Odd. 2.3 Lưu đồ mô hình Moore và Mealy Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 40 Xét giản đồ trạng thái ở hình 2.9 Hai hệ này sẽ cho cùng một dãy ra nếu xuất phát 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 Hình 2.10 a. Giản đồ Mealz b. Bảng trạng thái c. Bảng trạng thái rút gọn a. Xác định trạng thái Moore S0/0 = Q0 S1/0 = Q1 S1/1 = Q2 S2/0 = Q3 b. Thành lập bảng chuyển trạng thái Trước tiên, xác định tín hiệu ra tương ứng với các trạng thái trong, đó chính là tín hiệu ra trong cặp trạng thái / tín hiệu ra của Mealy Hình 2.11 Bảng tín hiệu ra Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 42 Hì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. 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+ Ví dụ 1: Thiết kế mạch đếm đồng bộ mod 5 giản đồ trạng thái và mã hóa trạng thái cho bên dưới đây, thực hiện mạch bằng: a. D - FF b. T - FF c. JK - FF d. RS - FF Hình 2.14 Bộ đếm mod 5 a) Giản đồ trạng thái b) Bảng mã hóa Mạch có 5 trạng thái nên được mã hóa bằng 3 biến nhị phân tương đương với 3 FF như trong bảng mã hóa hình 2.14, bước tiếp theo là xác định phương trình kích cho các FF trong trường hợp: 1. Dùng D - FF Đánh dấu các đỉnh có : Q1 = 1: đỉnh (4) Q2 = 1: đỉnh (2); (3) Q3 = 1: đỉnh (1); (3) Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 44 Sô ñoà maïch logic Bài giảng Vi mạch số Biên soạn Ngô Văn Bình 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)] Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 48 Ví 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 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 49 c. Dùng RS - FF Bài giải a/ Dùng D - FF b/ Dùng JK - FF c/ Dùng RS - FF Bài giảng Vi mạch số 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 Trang 51 Từ 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 S/X 0 1 0 1 S0 S1 S2 0 0 S1 S3 S4 0 0 S2 S3 S4 0 0 S3 S0 S0 0 0 S4 S0 S0 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 S0 S1 S1 0 0 S1 S3 S4 0 0 S3 S0 S0 0 0 S4 S0 S0 1 0 Hình 2.18 Bảng trạng thái tối giản Trong bảng trạng thái mới cho thấy không thể tìm được các trạng thái tương đương 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ẻ. S/X 0 1 Đầu ra S0 S0 S1 0 S1 S1 S2 1 S2 S2 S1 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: S/X 0 1 Đầu ra S0 S0 S1 0 S1 S1 S2 1 Từ kết quả này định nghĩa về cặp trạng thái tương đương được sữa lại như sau: Một cặp trạng thái được gọi là tương đương khi xuất phát từ chúng hệ nhận được các tín hiệu ra giống nhau và cùng chuyển đến các trạng thái giống nhau hoặc tương đương hoặc chuyển qua lại lẩn nhau dưới tác động của cùng một tổ hợp biến vào. 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 Bài giảng Vi mạch số 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 S0 S1 S2 0 0 S1 S3 S4 0 0 S3 S0 S0 0 0 S4 S0 S0 1 0 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình 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 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 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 57 Hì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. - Ưu tiên thấp nhất là các trạng thái cho cùng tổ hợp ra dưới tác động của cùng tổ hợp biến vào, hình sau đây minh họa các luật ưu tiên vừa nêu trên. Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 58 Hì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 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 59 Hàm ra của hệ Ý = S0 M1R = S0 + S2 M1L = S1 Sơ đồ mạch thực hiện Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 60 Hình 2.30 Sơ đồ mạch dùng D - FF 2.7.3 Thực hiện hệ tuần tự dùng vi mạch mật độ tích hợp cao Như đã trình bày ở các phần trên, một hệ tuần tự có thể được thực hiện bằng các FF và các vi mạch rời đó chính là các cổng logic NAND, NOR, EXOR.... Ngày nay, do công nghệ phát triển đã xuất hiện rất nhiều vi mạch có mật độ tích hợp rất cao, do đó cần thiết phải xử dụng các loại này trong việc thiết kế mạch logic nhằm giãm kích thước, giá thành và tăng độ tin cậy. Trong phần này sẽ mô tả cách xử dụng ROM, PLA, PAL và bộ đếm cũng như các vi mạch số lập trình khác để tổng hợp hệ logic tuần tự. Một hệ tuần tự có thể được thực hiện bằng các FF để lưu giữ trạng thái kết hợp với một mạch ROM hoặc PLA để thực hiện mạch tổ hợp vào và ra. 2.8 Thực hiện bằng ROM Khi dùng ROM để thực hiện hệ tổ hợp thì địa chỉ của ROM là các tín hiệu vào và các trạng thái trong từ ngõ ra của các FF. Nếu tín hiệu vào có n thành phần và hệ có m FF để biểu diễn các trạng thái trong thì số bít địa chỉ của ROM phải là n + m, để giãm số lượng tín hiệu kích FF, trong thực tế thường chọn FF – D. Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 61 Tín hiệu ra của hệ và tín hiệu kích FF là ngõ ra của ROM, nếu mạch có b tín hiệu ra thì số đầu ra của ROM phải là b + m, vì các FF ở đầu ra là loại D nên có thể dùng thanh ghi để làm FF. Hình 2.31 Sơ đồ thực hiện hệ tuần tự dùng ROM Mỗi một ô nhớ của ROM chứa thông tin về các trạng thái trong mới và tín hiệu ra của hệ tính từ trạng thái trong hiện tại và giá trị của tín hiệu vào. VD một hệ tuần tự có bảng chuyển trạng thái như sau Hình 2.32 Bảng chuyển trạng thái Bảng trạng thái được chuyển thành bảng sự thật của ROM được trình bày ở hình sau, trong đó trạng thái trong hiện tại và tín hiệu vào là địa chỉ của ROM còn tín hiệu ra và trạng thái trong mới là ngõ ra của ROM. Từ ví dụ trên cho thấy để thực hiện cần phải dùng một ROM có 16 địa chỉ và 4 ngõ ra. Đối với những hệ có nhiều trạng thái trong, một ROM có thể không đủ số chân cần thiết, trong trường hợp này có thể giải quyết bằng cách phân giải hệ thành ra nhiều hệ nhỏ để có thể tận dụng các vi mạch ROM thông dụng có sẵn trên thị trường hiện nay. Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 62 Địa chỉ ROM X Q2 Q1 Q0 Đầu ra của ROM Z D2 D1 D0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 0 0 1 0 1 X 0 0 1 1 0 1 X X 0 0 1 1 1 0 0 X 0 1 1 1 1 0 X X 0 1 0 0 0 0 0 X 1 0 0 0 1 0 X X 1 1 0 1 1 0 0 X 0 0 0 1 0 0 X X Hình 2.33 Bảng sự thật của ROM 2.9 Thực hiện bằng PLA Với PLA có thể thực hiện các hàm logic dạng AND - OR bất kỳ có số đầu vào và ra phù hợp với PLA. Trước tiên cần phải tối thiểu hóa số trạng thái và mã hóa các trạng thái của hệ, tiếp theo là tối thiểu hóa các hàm ra và hàm kích FF và lập trình PLA Đầu vào của PLA là các tín hiệu vào và các ngỏ ra của FF, đầu ra của PLA là các tín hiệu ra và tín hiệu kích FF (dùng FF - D để tiết kiệm đầu ra) Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 63 Hình 2.34 Sơ đồ thực hiện dùng PLA Trong nhiều trường hợp hàm ra hoặc hàm chuyển trạng thái có số biến vào nhiều hơn số đầu vào của PLA thì cần phải xử dụng một số đầu ra của PLA đưa trở lại các ngõ vào và hàm ra là các đầu ra còn lại. 2.10 Thực hiện bằng PAL Trong PAL có thể có các FF ghi nhớ trạng thái các đầu ra, ngõ ra của các FF này được đưa trở về làm đầu vào nội bộ bên trong PAL, đầu ra của PAL còn có thêm mạch logic 3 trạng thái, với các PAL loại này có thể xử dụng đầu ra các FF đưa ngược trở lại làm đầu vào của trạng thái hiện tại để giãm số chân đầu vào của PAL. Hình 2.35 Một cấu trúc của PAL16V8 có FF - D Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 64 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 65 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 66 Hình 2.36 Một cấu trúc của PAL20V8 có FF - D Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 67 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 68 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 69 2.11 Thực hiện bằng bộ đếm Vì bộ đếm là một hệ tuần tự có thể thay đổi trạng thái bởi xung vào và nhờ khả năng nạp lại giá trị ban đầu cho các FF nên có thể xử dụng bộ đếm để thực hiện các hệ tuần tự có số trạng thái không lớn hơn số trạng thái của bộ đếm. Giả sử trạng thái hiện tại của bộ đếm là n, trạng thái này được giữ nguyên nếu không có tín hiệu vào, nếu có tín hiệu vào đếm trạng thái sẻ tăng lên 1 thành n+1, nếu có tín hiệu reset bộ đếm sẻ trở về 0, nếu có tín hiệu nạp bộ đếm sẻ chuyển về trạng thái có mả cần nạp. Hình 2.36 Giản đồ chuyển trạng thái của bộ đếm Để tổng hợp hệ logic tuần tự bằng bộ đếm, trước tiên cũng phải tối thiểu hóa và mã hóa trạng thái trong của hệ, sau đó từ bảng chuyển trạng thái vừa tìm được thành lập bảng chuyển trạng thái cho bộ đếm, các hàm ra của bảng này là tín hiệu cho phép đếm, reset, nạp và mã cần nạp. Ví dụ một hệ tuần tự có bảng chuyển trạng thái đã tối thiểu hóa như sau: Trạng thái hiện tại Trạng thái kế tiếp X = 0 X = 1 Hàm ra X = 0 X = 1 S0(000) S1 S2 1 0 S1(001) S3 S4 1 0 S2(010) S4 S4 0 1 S3(011) S5 S5 0 1 S4(100) S5 S0 1 0 S5(101) S0 S0 0 1 S6(110) S0 1 Hình 2.37 Bảng chuyển trạng thái của hệ Trong bảng chuyển trạng thái của bộ đếm Z là hàm ra của hệ, CLR là tín hiệu xóa bộ đếm, LD là tín hiệu nạp bộ đếm, A, B, C là mã cần nạp, X là tín hiệu vào của hệ, Q0, Q1, Q2 là trạng thái trong hiện tại và Q0+, Q1+, Q2+ 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 70 Hình 2.38 Bảng chuyển trạng thái của bộ đếm Từ bảng chuyển trạng thái của bộ đếm tiến hành tối thiểu hóa hàm ra và các tín hiệu điều khiển bộ đếm sau đó thực hiện bằng các mạch logic rời, ROM hoặc PLA như đã trình bày ở phần trên Khi dùng bộ đếm để thiết kế hệ logic tuần tự thì số tín hiệu điều khiển bộ đếm thường nhiều hơn số tín hiệu kích FF - D, phương pháp này chỉ có lợi khi quá trình chuyển trạng thái của hệ giống như quá trình tăng giãm của bộ đếm vì sẻ làm giãm tín hiệu điều khiển do không cần nạp trạng thái mới. điều này có thể đạt được do sự khéo léo trong khi mã hóa 2.12 Hệ tuần tự không đồng bộ Là các hệ được điều khiển bởi các sự kiện ngẫu nhiên, linh kiện thực hiện là các cổng và các FF không đồng bộ như RS - FF hoặc D - FF, cách thiết kế hệ cũng giống như hệ đồng bộ. Tuy nhiên, trong hệ không đồng bộ cần phải lưu ý để tránh 2 hiện tượng đó là hiện tượng chu kỳ và hiện tượng chạy đua. 2.12.1 Hiện tượng chu kỳ Là hiện tượng hệ thay đổi trạng thái liên tục không dừng tại một tổ hợp biến vào nào đó có nghĩa là hệ đã hoàn toàn mất ổn định, hiện tượng này dể dàng nhận thấy nếu trong bảng trạng thái có ít nhất một cột không tồn tại một trạng thái ổn định nào cả (trạng thái được gọi là ổn định khi ứng với một tổ hợp biến trạng thái mới bằng trạng thái cũ) Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 71 Ví dụ một hệ tuần tự có bảng trạng thái sau dây, hệ được mã hóa bằng 2 biến A và B Hình 2.39 Hệ không đồng bộ có hiện tượng chu kỳ Giả sử đầu tiên hệ đang ở trạng thái S3 (AB = 10) và X = 0, sau đó X chuyển lên 1, hệ sẽ chuyển trạng thái theo chu kỳ sau: S3 -> S0 -> S1 -> S2 -> S3 -> S0... 2.12.2 Hiện tượng chạy đua Hiện tượng này xảy ra khi trong hệ có nhiều FF thay đổi cùng lúc khi hệ chuyển từ trạng thái này sang trạng thái khác và nếu tốc độ các FF không giống nhau sẽ tạo thành các đường chuyển đến trạng thái ổn định không giống nhau thậm chí sẽ chuyển đến trạng thái không mong muốn. Do đó, hiện tượng này được chia làm 2 loại: Chạy đua không nguy hiễm và chạy đua nguy hiểm. a. Chạy đua không nguy hiểm Ví dụ một mạch không đồng bộ có bảng trạng thái như sau Hiện tượng chạy đua không nguy hiểm Giả sử mạch đang ở trạng thái S0 và X = 0, mạch sẻ chuyển trạng thái theo các hướng sau đây: - Nếu A và B tốc độ bằng nhau: S0 -> S2 -> S3 và ổn định tại S3. Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 72 - Nếu A nhanh hơn B: S0 -> S3 và ổn định tại S3. - Nếu A chậm hơn B: S0 -> S1 -> S2 -> S3 và ổn định tại S3. Mặc dù quá trình chuyển trạng thái khác nhau nhưng cuối cùng hệ cũng ổn định tại S3, hiện tượng chạy đua này là khjông nguy hiểm b. Chạy đua nguy hiễm Ví dụ xem bảng chuyển, trạng thái của hệ sau: Hình 2.41 Chạy đua nguy hiểm Giả sử hệ đang ở trạng thái S0 và X chuyển từ 0 lên 1, các hướng chuyển trạng thái của hệ như sau: - Nếu tốc độ A bằng B: S0 -> S1 đây là trạng thái đúng. - Nếu A chậm hơn B: S0 -> S2, đây là trạng thái sai. - Nếu A nhanh hơn B: S0 -> S3 trạng thái S3 là trạng thái khóa vì hệ không thể thoát ra được dù có thay đổi tín hiệu vào. Trường hợp này là chạy đua nguy hiểm. 2.13 Đơn giản và mã hóa trạng thái Đối với hệ đồng bộ mục đích của quá trình đơn giản và mã hóa trạng thái là giãm số trạngthái đến số lươ65ng ít nhất có thể được, riêng trong hệ không đồng bộ còn phải lưu ý đến hiện tượng chu kỳ và chạy đua Để tránh hiện tượng chu kỳ thì phải lưu ý sao cho với mọi tổ hợp biến vào phải luôn luôn có một trạng thái ổn định Để tránh hiện tượng chạy đua phải mã hóa sao cho với mọi chuyển biến trạng thái chỉ có một biến trong từ mã thay đổi mà thôi Ví dụ xét hệ không đồng bộ có một ngỏ vào X và giản đồ trạng thái đã được mã hoá như sau Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 73 Hình 2.42 Giản đồ trạng thái có chạy đua Từ hình vẻ cho tháy khi hệ thay đổi từ trạng thái S2 sang S0, cả 2 bít của từ mã đều thay đổi và sẻ xảy ra hiện tượng chạy đua, để khắc phục cần phải đưa thêm vào một trạng thái trung gian sao cho quá trình chuyển này chỉ có 1 bít thay đổi, kết quả như sau Hình 2.43 Giản đồ có thêm trạng thái trung gian Từ hình vẻ cho tháy khi thêm trạng thái trung gian từ S2 sang S0 phải 1ua S3 và từ mã chỉ thay đổi một biến và từ trạng thái trung gian sang trạng thái khác không cần điều kiện, trong trường hợp hệ không còn đủ số trạng thái để chọn làm trung gian thì phải tăng thêm số lượng bít trong từ mã Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 74 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 75 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 76 2.14 Bài tập 1. Vẽ sơ đồ khối cho biết cách nối ROM và cách D flipflop để cài đặt bảng 1.1. xác định bảng chân trị cho ROM dùng phép gán trạng thái nhị phân trực tiếp. Bảng 1.1 bảng trạng thái với nhiều ngõ ra và ngõ vào Trạng thái hiện tại Trạng thái kế Giá trị ra hiện tại S0 S1 S2 S3 X1X2= 00 01 10 11 S3 S2 S1 S0 S0 S1 S2 S3 S3 S0 S1 S1 S2 S2 S1 S0 X1X2= 00 01 10 11 00 10 11 01 10 10 11 11 00 10 11 11 00 00 01 01 2. Bảng trạng thái 1.2 sẽ được cài đặt dùng PLA và các D flipflop Bảng 1.2 Z ABC X= 0 1 0 1 000 S0 S1 S2 0 0 110 S1 S3 S2 0 0 001 S2 S1 S4 0 0 111 S3 S5 S2 0 0 011 S4 S1 S6 0 0 101 S5 S5 S2 1 0 010 S6 S1 S6 0 1 a) Vẽ sơ đồ khối. b) Xác định nội dung của PLA theo dạng bảng dùng gán trạng thái ở bảng 1.2. c) Nếu thay PLA bằng ROM thì cần ROM kích thước bao nhiêu? 3. Cài đặt bảng trạng thái 1.2 dùng PAL 16R4. Đánh dấu các X trên bảng sau của sơ đồ 16R4 để chỉ mẫu cầu chì. 4. Làm tương tự 1.2 với bảng trạnh thái sau: PS NS Z X= 0 1 X= 0 1 A A E 0 0 B C B 0 1 C A F 0 0 D C B 0 1 E F E 0 0 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 77 F A F 0 0 Suy ra các chương trình D dùng phép gán trạng thái A= 000, B= 111, C=110, D= 101, E=100 và F= 010. 5. Thiết kế 1 hệ tuần tự để nhân 1 số BCD 8421 với 3 để cho một số nhị phân 5 bit. Ví dụ nếu vào là 0111 thì ra sẽ là 10101. Nhập và xuất của hệ là nối tiếp với LSB đi trước. Giả sử nhập là 0 ở thời điểm clock thứ 5, và reset hệ sau bit thứ 5. a) Suy ra bảng trạng thái của số trạng thái tối thiểu. b) Thiết kế hệ dùng JK flipflop và các cổng NAND và NOR. c) Thiết kế hệ dùng PLA và các D flipfop. Lập bảng PLA. d) Thiết kế hệ dùng PAL. Cho biết PAL và khuôn mẫu cầu chì. 6. Cài đặt bảng trạnh thái sau dùng PAL 16R4 a. Thực hiện gán trạng thái nhị phân và suy ra các phương trình trạng thái thiết kế cho D flipflop và các biến ra. b. Có thể cài đặt các phương trình ở a) bằng 1 PAL 16R4 được không? Nếu không, tìm một gán trạng thái mới mà có các phương trình trạng thái kế có ít số hạng hơn. Chỉ ra các phương trình cần để cài đặt bảng trạng thái bằng PAL 16R4. Bảng 1.6 PS NS XY= 00 01 10 11 Z1Z2 00 01 10 11 Trạng thái hiện tại Trạng thái kế X = 0 1 Output Z S0 S1 S3 0 S1 S2 S5 0 S2 S1 S6 1 S3 S1 S4 0 S4 S4 S4 0 S5 S2 S4 0 S6 S1 S4 0 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 78 A B C D E F G H i A b c d B c g e f i g h d d d a g c a b i f h g b g c a i h i h h i a a 0 0 1 0 1 0 0 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 7. Một bánh xe hơi có 3 đèn đuôi bên trái và 3 đèn đuôi bên pải mà nhấp nháy theo mẫu duy nhất để chỉ rẽ trái và rẽ phải. Mẫu rẽ trái (LEET) Mẫu rẽ phải (RIGHT) LC LB LA RA RB RC LC LB LA RA RB RC 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Thiết kế hệ tuần tự Mooe để điều khiển các đèn này. Hệ có 3 ngõ vào: LEEt, RIGHT và HAZ. LEET và RIGHT có từ công tắc tin hiệu rẽ các tài xế và không thể đồng thời bằng 1. Như đã chỉ ở trên, khi LEET =1 đèn nhấp nháy theo mẫu LA sáng; LA và LB sáng; LB và LC sáng; tất cả điều tắt và rồi quá trình này lặp lại. Nếu công tắc từ LEET sang RIGHT ( hoặc ngược lại) xảy ra ở giữa chuỗi nhấp nháy, hệ tức thời đi về trạng thái nghỉ IDLE (tất cả các đèn tắt) và rồi bắt đầu chuỗi mới. HAZ có công tắc “hazard”, và khi HAZ=1, tất cả 6 đèn nhấp nháy tắt và mở đồng bộ. HAZ lấy ưu tiên nếu LEET hoặc RIGHT cũng đang ON. Giả sử tín hiệu clock khả dụng bằng tốc độ nhấp nháy mong muốn. a. Vẽ giản đồ trạng thái (8 trạng thái). b. Cài đặt hệ dùng 6 D flipflop, và thực hiện phép gán trạng thái sao cho mỗi ngõ ra flipflop lái trực tiếp 1 trong 6 đèn. c. Cài đặt hệ thống 3 D flipflop, dùng cách rút gọn trạng thái. d. Chú ý đến kinh tế của nhiều flipflop hơn và nhiều cổng hơn trong (b) và (c). Đề nghị 1 PLD thích hợp ch mỗi trường hợp. e. Cài đặt bộ đếm lên/xuống BCD 4 bít (0,1,.....,9) dùng ‘XORPAL’ thích hợp. Bộ đếm có các ngõ vào điều khiển U (=1 để đếm lên), và D (=1 để đếm xuống), nhưng không có các ngõ vào nạp. Suy ra các phương trình PAL và chỉ khuôn mẫu cầu chì PAL. Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 79 f. Cài đặt bộ đếm lên nhị phân modulo 11 dùng XỎ PAL. Chuỗi đếm là 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,0 ... Viết các phương trình trạng thái kế với dạng thích hợp để sử dụng với XỎ PAL. g. Một thanh ghi dịch N- bit tương tự với 74178 sẽ được cài đặt bằng 22V10  Giá trị tối đa của N là bao nhiêu? (các) cầu chì nào nên cho cháy ở mỗi ‘output macrocell’? 7. Một hệ tuần tự có 1 ngõ vào (X) và 2 ngõ ra (Z1 và Z2). Ngõ ra Z1= 1 khi nhạn được chuỗi vào 101, ngõ ra Z2= 1 khi nhận được chuỗi vò 011. Hệ có đặc điểm là một khi đã xãy ra Z2= 1 thì Z1= 1có thể không bao giờ xãy ra và ngược lại. Hãy tìm giản đồ trạng thái Mealy và bảng trạng thái (có số trạng thái tối thiểu là 8). 8. Tương tư bài 7 nhưng Z1= 1 với chuỗi vào 010, Z2= 1 với chuỗi vào là 100. (Số trạng thái tói thiểu là 8). 9. Một hệ tuần tự có 2 ngõ vào (X1,X2) và 1 ngõ ra (Z). Ngõ ra giữ giá trị không đổi trừ khi có 1 trong các chuỗi vào sau xãy ra: a) Chuỗi vào X1 X2=00, 01 làm cho Z =0. b) Chuỗi vào X1 X2= 01, 11 làm cho Z= 1. c) Chuỗi vào X1 X2= 10, 11 làm cho Z đảo giá trị cũ ( nghĩa là trươcs đó là 0 thì bây giờ là 1 và ngược lại). Suy ra giãn đồ trạng thái Moore và bảng trạng thái. Cài đặt hệ bằng: a) ROM, b) PLA. 10. Tương tự bài 7 nhưng với: a) Chuỗi vào X1 X2= 01, 00 làm cho Z= 0. b) Chuỗi vào X1 X2= 11, 00 làm cho Z= 1. c) Chuỗi vào X1 X2=10,00 làm cho Z đảo giá trị cũ. 11. Một hệ tuần tự có ngõ vào (X) và một ngõ ra (Z). Vez giản đồ trạng thái Mealy cho các trường hợp sau: a) Ngõ ra Z= 1 nếu tổng số bit 1 nhận được chia hết cho 3 (ta xem 0, 3, 6, 9... chia hết cho 3). b) Ngõ ra Z=1 nếu tổng số bit 1 nhận được chia hết cho 3 và tổng số bit 0 nhận được một số chẳn >0 (9 trạng thái). 12. Một hệ tuần tự có 1 ngõ vào (X) và một ngõ ra (Z). Vẽ giản đồ trạng thái Mealy cho các trường hợp sau: a) Ngõ ra Z= 1 nếu tổng số bit 1 nhận được chia hết cho 4 (ta xem 0, 4, 8, 12... chia hết cho 4). b) Ngõ ra Z=1 nếu tổng số bit 1 nhận được chia hết cho 4 và tổng số bit 0 nhận được là 1 số lẽ (có 9 trạng thái). 13. Một hệ tuần tự có 2 ngõ ra. Các ngõ vào (X1,X2) biểu diễn số nhị phân 2 bit N. Nếu giá trị hiện tại của N lớn hơn giá trị trước đó thì Z1 = 1. Nếu giá trị hiện tại của N nhỏ hơn giá trị trước đó thì Z2 = 1. Các trường hợp khác thì Z1 = Z2 =0. Khi cặp giá trị vào đầu tiên nhận được thì không có giá trị trước đó của N thì ta xem như trường hợp với Z1 =Z2 = 0. a) Tìm bảng trạng thái Mealy của hệ (số trạng thái tối thiểu bao gồm trạng thái bắt đầu là 5). Cài đặt hệ bằng PLA. Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 80 b) Tìm bảng trạng thái Moore của hệ ( số trạng thái tối thiểu là 11). Cài đặt hệ bằng PLA. 14. Một hệ tuần tự có 2 ngõ vào và 2 ngõ ra. Các ngõ vào (X1,X2) biểu diển số nhị phân 2 bit N. Nếu giá trị hiện tại của N cộng với giá trị N trước đó lớn hơn 2 thì Z1= 1. Nếu giá trị hiện tại của N nhân với giá trị trước đó của N mà lớn hơn 2 thì Z2= 1. Các trường hợp khác thì Z1 =Z2 = 0. Khi nhận được cặp giá trị vào đầu tiên thì xem như giá trị trước đó của N= 0. a) Tìm giản đồ trạng thái Mealy và bảng trạng thái của hệ ( số trạng thái tối thiểu là 4). Cài đặt bằng PLA. b) Tìm bảng trạng thái Moore của hệ ( số trạng thái tối thiểu là 11 nhưng với đáp số có số trạng thái ≤ 16 chấp nhận được). 15. Một hệ tuần tự Moore có 1 ngõ vào và 1 ngõ ra. Khi chuỗi vào là 011 thì ngõ ra Z= 1 và giữ giá trị 1 cho đến khi chuỗi vào 011 xãy ra một lần nữa thì ngõ ra Z= 0. Ngõ ra Z giữ giá trị 0 cho đến khi 011 xãy ra lần thứ 3. Ví dụ chuỗi vào: X = 0 1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 1 Cho chuỗi ra Z = 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 Suy ra bảng trạng thái ( có số trạng thái tối thiểu 6). Cài đặt hệ bằng PLA. 16. Tìm giá trị vào của 1 hệ tuần tự gồm các nhóm 5 bit. Mỗi nhóm 5 bit biểu diễn BCD loại mã 2 trong 5 ( có 2 bit 1 trong nhóm 5 bit). Sau khi nhận 5 bit, hệ cho trị ra là 1 và reset nếu nhóm 5 bit là mã 2 trong 5 hợp lệ, các trường hợp khác thì ngõ ra bằng 0 và reset. Hệ có một ngõ vào và một ngõ ra. Suy ra giản đồ trạng thái Mealy ( có số trạng thái tối thiểu là 13). 17. Một hệ tuần tự Mealy có 2 ngõ vào và 1 ngõ ra. Nếu tổng số bit 0 nhận được ≥ 4 và tối thiểu 3 cặp trị vào đã xãy ra thì ngõ ra bằng 1 ở cặp vào cuối trong chuỗi trị vào. Khi ngõ ra Z =1 xãy ra thì hệ reset. Suy ra giản đồ trạng thái và bảng trạng thái. Chỉ rõ ý nghĩa của mỗi trạng thái. Ví dụ S0 nghĩa là reset, S1 nghĩa là cặp trị vào là 11... Ví dụ: Chuỗi vào: X1= 1 1 1 0 0 0 1 1 1 0 0 0 1 1 0 0 0 1 0 X2= 1 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 Chuỗi ra: Z = 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 81 18. Hệ tuần tự Moore có 1 ngõ vào và 1 ngõ ra. Ngõ ra Z =1 nếu tổng số bit 1 nhận được là lẽ và tổng số bit 0 nhận được là chẳn > 0. Suy ra giản đồ trạng thái và bảng trạng thái (số trạng thái tối thiểu là 6). Cài đặt hệ bằng PLA. 19. Một hệ tuần tự có 1 ngõ vào X và 1 ngõ ra Z. Ngõ ra Z hiện tại bằng giá trị vào X trước đó 2 chu kỳ clock. Ví dụ: X = 0 1 0 1 1 0 1 0 1 1 0 1 0 0 0 1 Z = 0 0 0 1 0 1 1 0 1 0 1 1 0 1 0 0 20. Một hệ tuần tự có 1 ngõ vào X và 1 ngõ ra Z. Ngõ ra hiện tại bằng giá trị vào trước đó 3 chu kỳ clock. Ví dụ: X = 0 1 0 1 1 0 1 0 1 1 0 1 0 0 0 1 Z = 0 0 0 0 1 0 1 1 0 1 0 1 1 0 1 0 ba giá trị đầu của Z =0. tìm giản đồ trạng thái Mealy và bảng trạng thái của hệ. Cài đặt hệ bằng PLA. 21. Một hệ tuần tự có mồt ngõ vào là X và 2 ngõ ra S và V. X biểu diển số nhị phân 4 bit N mà LSB được nhập trước, S biểu diễn số nhị phân 4 bit bằng N + 2 mà ngõ ra sẽ cho LSB ra trước. Ở thời điểm trị vào thứ 4 xãy ra thhí V = 1 nếu N + 2 lớn hơn biểu diễn 4 bit ( bị tràn [overflow]), ngược lại thì V = 0. Hệ luôn luôn reset sau khi nhận được bit thứ 4 của X. Tìm giản đồ trạng thái Mealy và bảng trạng thái của hệ. Cài đặt hệ bằng PLA. Ví dụ: X = 0111 ( đây là 1410với LSB đi trước) S = 0000 (vì 14 + 2 = 1610 =10000 V = 0001 22. Một hệ tuần tự có 1 ngõ vào là X và 2 ngõ ra D và B. X biểu diển số nhị phân 4 bit N mà nhập vào với LSB đi trước, D LSB đi trước. Ở thời điểm trị vào thứ 4 xảy ra thì B = 1 nếu N -2 nhỏ hơn 0 (mượn = Borrow ), ngược lại thì B = 0. Hệ luôn luôn reset sau khi nhận được bit thứ 4 của X. Tìm giản đồ trạng thái Mealy và bảng trạng thái. Cài đặt hệ PLA. Ví dụ: X = 0001 1000 1100 D = 0110 1111 1000 B = 0000 0001 0000 23. Một hệ tuần tự có 1 ngõ vào X và các ngõ ra Y và Z. Cặp YZ biểu diễn 1 số nhị phân 2 bit bằng số bit 1 đã nhận được là 3 hoặc khi tổng số bit 0 nhận được là 3. Tìm giản đồ trạng thái Moore và bảng trạng thái của hệ. Cài đặt hệ bằng PLA. 1.32 Một hệ tuần tự có một ngõ vào X và các ngõ ra Yvà Z.Cặp YZ biểu diễn một số nhị phân 2 bít bằng số cặp bít 1 liên tiếp nhận được ở ngõ vào, ví dụ chuỗi 0110 chứa một cặp bít 1, chuỗi 011110 chứa 2 cặp bít 1 , và chuỗi 0110111 chứa 3 cặp bít 1 liên tiếp. Hệ reset khi tổng số cặp bít một liên tiếp là 4. Tìm giản đồ trạng thái moore và bảng trạng thái của hệ. Cài đặt hệ bằng PLA. Reset ↓ Chuỗi vào: X=010110111001010101110110110010 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 82 Chuỗi ra: Y= 000000011111111111000000011111 Z=000011101111111111000011100000 Chuỗi vào: X=11111111 Chuỗi ra: Y=00110001 Z=01010010 ↑ Reset Hướng dẫn: bảo đảm hệ reset ở các ví dụ trên 24. Một hệ tuần tự dùng để điều khiển hoạt động của một máy bán hàng $0,25 (25 xu). Hệ 3 ngõ vào N, D và Q và 2 ngõ ra R và C. Bộ phát hiện tiền đồng trong máy bán hàng đồng bộ với clock của hệ tuần tự ta thiết kế. Bộ phát hiện tiền đồng sẽ cho ra 1 cho N,D hoặc Q (N=nickel = 5 xu, D= Dime = 10 xu và Q = quarter = 25 xu), khi ta cho vào 5 xu, 10xu hay 25 xu. Mỗi lần chỉ có tối đa ngõ ra là 1 ở bộ phát hiện tiền đồng. Khi khách hàng đưa tiền vào thì máy bán hàng kiểm tra thấy nếu tối thiểu 25 xu thì giao hàng cho khách trả tiền dư theo 5 xu. Với mỗi giá trị ra là một ở C thì máy phát ra đồng 5 xu cho khách hàng. Món hàng chỉ được xuất ra khi hệ cho ngõ ra R = 1. (C = change = thối tiền và R = return = giao hàng). Hệ sẽ reset sau khi giao hàng. Ví dụ: Khách hàng nhét môt đồng 5 xu, 1 đồng 10 xu và một đồng 25 xu. Các ngõ vào và ra của hệ như sau: N = 0001000000000000 Ngõ vào → D = 0000000100000000 Q = 0000000000100000 Ngõ ra → R = 0000000000000010 C = 0000000000011100 Chú ý là có thể có các giá trị không giữa các giá trị vào. Suy ra bảng trạng thái moore của hệ, và mỗi trang thái chỉ ra khách hàng đã đưa vào bao nhiêu tiền hoặc thối lại bao nhiêu. Cài đặt hệ bằng PLA. 25 a) Suy ra bảng trạng thát của hệ tuần tự Mealy đổi một chuỗi các bít nối tiếp từ mã NRZ sang mã NRZI. Giả sử rằng chu kì xung nhịp bằng thời gian bít như hình E.1.35. b) Lặp lại a) với hệ tuần tự moore c) Vẽ giản đồ định thì cho đáp số ở a) dùng dạng sóng vào NRZ như hình trên. Nếu ngõ vào hơi thay đổi sau cạnh clock, hay chỉ các chổ ở dạng sóng ra mà các “glitch” (gai/xung nhiễu) [các giá trị ra sai] có thể xảy ra. d) Vẽ giản đồ định thì cho đáp số ở b), dùng cùng các dạng sóng vào như ở c). Có nhận xét gì? Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 83 26. Thiết kế một hệ tuần tự đồng bộ dùng PLA và D flipflop có kích cạnh lên mà cho ngõ ra Z tỉ lệ với tần số xung nhịp CK ( Z = CK/n) như được minh họa ở giản đồ định thì ở hình sau: a) Tần số tín hiệu ra Z tỉ lệ như thế nào với tần số CK? b) Tìm bảng trạng thái để thiết kế. c) Sử dụng gáng trạng thái a = 00, b = 01, c = 10. Cho tất cả các trạng thái không sử dụng về a (00). Vẽ sơ đồ mạch thiết kế. 27. Thiết kế hệ tuần tự đồng bộ Moore có 2 ngõ vào X1 và X2 và một ngõ ra Z. Kki X1 = 0 và X2 = 1 thì ngõ ra Z = 1. Nếu tiếp theo ngõ vào X2 = 1 thì ngõ ra Z vẫn ở trị là 1, còn các trượng hợp khác thì Z = 0. Cài đặt hệ bằng PLA và D flipflop kích cạnh xuống. 28. Xây dựng một khối SM có 3 biến vào (D,E,F), 4 biến ra (P,Q,R,S) và 2 đường ra. Với khối này, ngõ ra P luôn luôn là 1 và Q = 1 nếu D = 1. Nếu D và F là 1 hoặc D và E là 0 thì R = 1 và lấy đường ra 2. Nếu(D = 0 và E = 1) hoặc (D = 1 và F = 0) thì S = 1 và lấy đường ra 1. 29. Xây dựng một khối SM có 3 biến vào (A, B, C), 4 biến ra (W, X, Y, Z) và 2 đường ra. Với khối này, ngõ ra Z luôn luôn bằng 1 và W = 1 nếu cả 2 A và B bằng 1, nếu C = 1 và A = 0 thì Y = 1 chọn đường ra 1. Nếu C = 1 hoặc A = 1, thì X = 1 và chọn đường ra 2. 30. Chuyển các giản đồ trạng thái hình 2.1 và 2.2 sang các lưu đồ SM. Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 84 31. Chuyển các giản đồ trạng thái (bộ phát hiện tuần tự) hình 2.3 và 2.4 sang lưu đồ SM. Sử dụng các ngơ ra theo điều kiện cho hình 2.3. 32. chuyển giản đồ trạng thái hình E.2.5 sang lưu đồ SM. Kiểm tra một biến duy nhất trong mỗi hộp quyết định. Hãy thử tối thiểu hóa số hộp quyết định. 33. Chuyển giản đồ trạng thái hình 2.23 sang lưu đồ SM. 34. Hoàn tất giản đồ định thì sau cho lưu đồ SM ở hình 2.25( bộ nhận nhị phân), giả sử St = 1 Clock State M K Ad Sh Hình 2.6 Giản đồ định thì của hình 2.25 S0 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 85 35. Hoàn tất giản đồ định thì sau cho lưu đồ SM ở hình 2.20( bộ chia nhị phân) 36. Thiết kế lại bộ nhị phân để bất cứ lúc nào phép cộng xảy ra bit nhân(M) sẽ được đặt thành 0. Như vậy. Nếu M = 1 ở thời điểm clock cho trước và phép cộng xãy ra, M sẽ bằng 0 ở thời điểm clock kế. Như vậy ta có thể luôn luôn cộng khi M = 1 và luôn luôn dịch khi M = 0. Điều này có nghĩa là mạch điều khiển không phải đổi trạng thái khi M = 1, và số trạng thái có thể được giảm từ 8 xuống 5. Vẽ lưu đồ SM cho bộ điều khiển nhân. 37. cho lưu đồ SM như hình sau. a) Vẽ giản đồ định thì cho clock, trạng thái (S0,S1,S2), các giá trị vào X1 và X2 và các giá trị ra. Giả sử là X3 = 0 và chuỗi tuần tự vào cho X1X2 là 01, 00, 10, 11, 01, 10. Giả sử là tất cả các thay đổi trang thái xảy ra ở cạnh lên của clock, và các giá trị vào thay đổi giữa các xung clock. b) Nếu dùng ROM thay vì PLA, thì cần ROM kích thước bao nhiêu? Viết 5 dòng đầu tiên của bảng ROM. Clock State St C Sh Stt Hình E.2.7 Giản đồ định thì của hình 2.20 S0 S0 S1 S1 S2 S2 S3 Bài giảng Vi mạch số Biên soạn Ngô Văn Bình Trang 86 38. Cho trước các biến X1 và 2, các biến trạng thái Y2, Y2 và Y3 và các biến ra Z1 đến Z8, hãy tìm các biến Moore và Mealy nếu biết : a) Z1 = Y1.Y’2.X1 b) Z2 = Y’1.Y31 c) Z3 = Y1.Y’2.Y’3 d) Z4 = Y3.X’2.X1 e) Z5 = Y’2 f) Z6 = Y’1.Y’3.X’1 f)Z7 = Y1+Y2 h) Z8 = Y’2+X2

Các file đính kèm theo tài liệu này:

  • pdfha_duy_hung_06_10_14_02_46_59_phan_2_6964.pdf
Tài liệu liên quan