Thiết bị logic lập trình được - Chương 3: Hệ tuần tự không đồng bộ
• Để cho hệ tuần tự không đồng bộ hoạt động đúng, người
ta phải giới hạn nó làm việc ở chế độ cơ bản (fundamental
mode) hoặc chế độ xung (pulse mode).
• Ở chế độ cơ bản, mỗi một trong các tín hiệu vào từ ngoài
chỉ có thể thay đổi tại 1 thời điểm từ 0 sang 1 hoặc từ 1
sang 0, và mạch phải ở trong điều kiện ổn định (tất cả các
tín hiệu trong mạch phải ổn định; nghĩa là chúng phải đạt
được giá trị xác lập) khi xảy ra một sự thay đổi ở tín hiệu
vào.
• Ở chế độ xung – Thí dụ: xung dương thì mỗi xung dương,
sự thay đổi từ 0 sang 1 và trở về 0 được tạo ra bằng 1 tín
hiệu vào từ bên ngoài, biểu thị 1 sự kiện định thì. Mạch
phải ở trong điều kiện ổn định khi mỗi xung xảy ra
rạng thái và ngõ ra có thể được xác định từ hình 3.10(b) hoặc (c) và (d) 9/9/2011 7 Cách chọn biến trạng thái Mô hình tổng quát của hệ tuần tự không đồng bộ 3.1.3 Các điều kiện chạy đua và lặp vòng Hình 3.14Mạch và bảng chuyển trạng thái với chạy đua không tới hạn và lặp vòng Chạy đua không tới hạn (noncritical race) 9/9/2011 8 Chạy đua tới hạn (critical race) 3.2 THÀNH LẬP VÀ RÚT GỌN CÁC BẢNG DÒNG CƠ BẢN 3.2.1 Thành lập các bảng dòng cơ bản 3.2.2 Rút gọn các bảng dòng cơ bản 3.2 THÀNH LẬP VÀ RÚT GỌN CÁC BẢNG DÒNG CƠ BẢN Cách thiết kế cho hệ không đồng bộ thì tương tự với cách thiết kế cho các hệ đồng bộ: – Xây dựng một bảng trạng thái (hay bảng dòng) từ phát biểu vấn đề/bài toán – Rút gọn bảng để có số hàng tối thiểu, thực hiện gán trạng thái (có thể tăng thêm hàng) – Cài đặt bảng dùng các phần tử logic thích hợp. Tuy nhiên chi tiết của mỗi bước hơi khác đối với các hệ không đồng bộ. 3.2.1 Thành lập các bảng dòng cơ bản 9/9/2011 9 Bảng dòng cơ bản (primitive flow table) • Thông thường điểm bắt đầu để tổng hợp hệ không đồng bộ là lập bảng dòng cơ bản (primitive flow table) hay còn gọi là bảng dòng sơ khai. • Bảng dòng cơ bản được định nghĩa như bảng dòng mà có chính xác một trạng thái toàn phần ổn định trên mỗi hàng. • Ta có thể rút gọn bảng dòng cơ bản thành 1 bảng có ít hàng hơn. • Tuy nhiên, để bảo đảm có được bảng có số hàng tối thiểu thì phần lớn người ta bắt đầu bằng bảng dòng cơ bản hơn là cố gắng xây dựng trực tiếp một bảng được rút gọn từ đầu. Qui ước lập bảng dòng cơ bản • Để tránh các vấn đề định thì mà có thể phát sinh khi 2 biến vào thay đổi đồng thời, ta sẽ giả sử rằng mỗi lần chỉ có 1 biến vào thay đổi và các thay đổi giá trị vào cách nhau để hệ sẽ luôn luôn đạt đến trạng thái toàn phần ổn định giữa những thay đổi (hoạt động chế độ cơ bản). • Khi thành lập bảng dòng cơ bản, mọi thay đổi ở giá trị vào phải làm cho 1 thay đổi trạng thái vì cho phép chỉ 1 trạng thái ổn định trên 1 hàng của bảng dòng cơ bản mà thôi. Thí dụ 3.1 Một hệ không đồng bộ có 2 ngõ vào và 1 ngõ ra. Chuỗi vào X1X2=00, 01, 11 làm cho ngõ ra trở thành 1. Rồi sự thay đổi giá trị vào kế tiếp làm cho ngõ ra quay về 0. Không có chuỗi vào nào khác sẽ tạo ra 1 ở ngõ ra. Thí dụ 3.1 Bảng dòng cơ bản hoàn tất Ghi chú: *: các trạng thái này không thể dẫn đến giá trị ra 1 nếu ban đầu không reset 9/9/2011 10 Giản đồ trạng thái của bảng dòng cơ bản ở TD 3.1 Sự khác biệt với giản đồ trạng thái của hệ tuần tự đồng bộ là gì? Thí dụ 3.2 Thí dụ này minh họa thiết kế T flipflop với xung nhịp kích cạnh ở hình 3.18(a). Mặc dù flipflop này được sử dụng như 1 bộ phận trong các hệ đồng bộ, thiết kế bên trong của flipflop là vấn đề không đồng bộ. Flipflop có 2 ngõ vào T và P. Flipflop sẽ đổi trạng thái nếu T=1 khi xung nhịp P thay đổi từ 1 sang 0. Dưới tất cả các điều kiện vào khác, Q giữ không đổi. Ta sẽ giả sử rằng T và P không thay đổi đồng thời. Thí dụ 3.2 Bảng dòng cơ bản của T FF Thí dụ 3.3 Một tín hiệu xung nhịp C được chọn cho qua bằng một tín hiệu S khác. Mạng cho qua sao cho phải có những xung đầy đủ xuất hiện ở ngõ ra Z ngay cả khi S có thể thay đổi ở giữa xung nhịp. Hình sau chỉ giản đồ định thì của mạng sẽ được thiết kế. Ngay cả khi có xung nhịp, đây là vấn đề không đồng bộ bởi vì ngõ vào S được cho phép thay đổi bất cứ lúc nào so với xung nhịp. Ta sẽ giả sử rằng S sẽ luôn luôn ON (dẫn=‘1’) hay OFF (tắt=‘0’) ở tối thiểu 2 xung nhịp đầy đủ. 9/9/2011 11 Thí dụ 3.3 3.2.2 Rút gọn các bảng dòng cơ bản Phương pháp rút gọn bảng dòng cơ bản Có 2 phương pháp để rút gọn bảng dòng cơ bản: 1. Phương pháp thứ nhất cần 2 bước–trước hết tìm ra bảng dòng cơ bản có số hàng tối thiểu và rồi bảng này được rút gọn hơn bằng cách trộn (hay gom) các hàng lại. 2. Phương pháp thứ hai thực hiện sự rút gọn toàn phần trong 1 bước bằng cách áp dụng phương pháp rút gọn tổng quát cho các bảng trạng thái không hoàn toàn (đọc thêm Introduction to Switching Theory nội dung Logic Design, 3rd Edition của Hill và Peterson, chương 13 và 14). Phương pháp thứ nhất thường thực hiện ít tốn công hơn và sẽ được bàn ở đây. Rút gọn sơ bộ bảng dòng cơ bản bằng cách khử các trạng thái toàn phần ổn định thừa • Ta có thể tìm được bảng dòng cơ bản có số hàng tối thiểu bằng cách khử đi các trạng thái toàn phần ổn định thừa. Để làm điều này, ta phải tìm ra được các trạng thái toàn phần ổn định tương đương. • Hai trạng thái toàn phần ổn định được gọi là tương đương nếu chúng có cùng số ngõ vào và các trạng thái nội liên hệ là tương đương. Như vậy 2 trạng thái toàn phần ổn định được gọi là tương đương nếu 1. các ngõ vào của chúng giống nhau, 2. có các ngõ ra giống nhau, và 3. các trạng thái kế của chúng tương đương với mỗi giá trị vào có thể có. 9/9/2011 12 Bảng 3.7 Bảng dòng cơ bản sẽ được rút gọn X1X2 Các trạng thái có khả năng tương đương 00 (2, 6, 8 ) 01 (5, 12) 11 (3, 10) 10 (4, 11) Sau khi xét tiếp các trạng thái cùng 1 dòng ta tìm được các trạng thái tương đương còn lại là: (2, 8) (5, 12) (3, 10) (4, 11) Bảng 3.8 Bảng dòng cơ bản được rút gọn từ bảng 3.7 Rút gọn bảng dòng cơ bản bằng sơ đồ bộ trộn (merger diagram) • Mỗi một bảng dòng cơ bản có số hàng tối thiểu được xét ở trên có thể được rút gọn thêm nữa bằng cách trộn các hàng (hay gọi là gom các hàng) • Các bước tiến hành: 1. Đổi bảng Moore thành bảng Mealy 2. Vẽ sơ đồ bộ trộn (merger diagram) (hay còn được gọi là bảng sơ đồ gom hàng) Bảng 3.9 Bảng dòng cơ bản Mealy cho bảng 3.4 9/9/2011 13 Sơ đồ trộn và bảng dòng rút gọn từ bảng 3.9 Bảng dòng rút gọn từ bảng 3.8 Bảng dòng rút gọn từ hình 3.18 Tóm tắt: Rút gọn bảng dòng cơ bản Ta có thể rút gọn bảng dòng cơ bản thành bảng Mealy có số hàng tối thiểu dùng thủ tục sau: 1. Tìm được bảng dòng cơ bản rút gọn bằng cách khử đi các trạng thái toàn phần ổn định thừa. 2. Xây dựng bảng dòng Mealy từ bảng dòng cơ bản rút gọn tìm được ở bước 1. 3. Vẽ sơ đồ bộ trộn và dùng nó để trộn những hàng tương đương và có được bảng dòng rút gọn có số hàng tối thiểu. 9/9/2011 14 3.3 GÁN TRẠNG THÁI VÀ CÀI ĐẶT CÁC BẢNG DÒNG • Trong việc chọn gán trạng thái cho các hệ đồng bộ, đối tượng chính là đơn giản hóa mạch logic. • Tuy nhiên, đối với các hệ không đồng bộ thì các đối tượng chính trong chọn gán trạng thái là ngăn ngừa các chạy đua tới hạn, và sự đơn giản hóa mạch logic trở thành đối tượng thứ hai. • Sau khi đã thực hiện gán trạng thái để không có các chạy đua tới hạn, thì ta có thể cài đặt hệ không đồng bộ dùng các cổng và các S-R flipflop hoặc chỉ sử dụng các cổng. Thí dụ • Ta sẽ hoàn tất thiết kế cho thí dụ 3.1. Bảng 3.10 cho bảng dòng rút gọn của bảng 3.9 với các trạng thái kế được đặt tên theo các trạng thái nội a, b, và c. Các giá trị ra cho các trạng thái toàn phần không ổn định sẽ được điền vào sau khi đã thực hiện gán trạng thái. Gán trạng thái 9/9/2011 15 Hoàn tất bảng giá trị ra Bảng 3.12 Hình 3.24(a) Cài đặt bằng cổng cho bảng 3.12 Phương pháp tắt để suy ra các phương trình ngõ vào của SR FF Từ bảng sau, ta thấy là khi Qi=0, Si=Qi+; tương tự khi Qi=1, Ri=(Qi+)’. Suy ra phương trình SR bằng phương pháp tắt cho thí dụ 3.1 9/9/2011 16 Hình 3.24(b) Cài đặt bằng SR FF cho bảng 3.12 3.3.2 Gán trạng thái cho các bảng 3 hàng và 4 hàng Hình 3.27 Bảng 4 hàng tổng quát và giản đồ chuyển trạng thái. Hình 3.28. (a) Gán trạng thái vạn năng cho bảng 4 hàng (b) Bảng 4 hàng được mở rộng 9/9/2011 17 Hình 3.30. Bảng dòng với các “don’t care” 3.3.3 Các phép gán trạng thái có hàng chung (Shared-Row assignments) Hình 3.31 Các chuyển trạng thái được liệt kê trong bảng ở hình 3.31(b) hàm ý là các trạng thái trong mỗi tập kế cận sau phải được đặt trong 1 chuỗi các ô kế cận: Cột 00: (a, c, e) (b, d) Cột 01: (a, b) (c, d, f) Cột 11: (b, c, f) (a, d, e) Cột 10: (a, c, d) (e, f) 9/9/2011 18 Hình 3.33 Bảng mở rộng của bảng ở hình 3.31(a) dùng phép gán ở hình 3.32(b) 3.3.4 Hoàn tất bảng ra Hoàn tất bảng ra 9/9/2011 19 Hoàn tất bảng ra (tt) Tóm tắt thủ tục thiết kế hệ tuần tự không đồng bộ 1. Cho trước vấn đề, xác định quan hệ cần có giữa các biến vào và ra. Suy ra bảng dòng cơ bản mà có một trạng thái toàn phần ổn định trên mỗi hàng, và xác định giá trị ra có liên quan với mỗi trạng thái toàn phần ổn định. 2. Rút gọn bảng dòng cơ bản để có được số hàng tối thiểu. Việc này thường có thể được thực hiện trong 2 bước. Trước hết xác định các trạng thái toàn phần tương đương và tìm ra bảng dòng cơ bản có số hàng tối thiểu. Rồi hợp nhất (gom, trộn) các hàng trong bảng này để tìm ra bảng rút gọn cuối cùng. Sơ đồ trộn có thể hữu ích trong việc chọn các hàng sẽ được hợp nhất. 3. Tìm ra phép gán trạng thái mà khử đi tất cả các chạy đua tới hạn giữa các biến trạng thái. Trong quá trình này có thể cần mở rộng bảng dòng bằng cách thêm các hàng. 4. Lập bảng chuyển trạng thái bằng cách thay thế các giá trị được gán các biến trạng thái cho mỗi trạng thái trong bảng dòng mở rộng. Nếu sử dụng bảng giá trị ra Mealy, điền vào các chỗ không xác định thì cần tránh các quá độ nhất thời trong bảng giá trị ra. Vẽ các bảng trạng thái kế và các bảng giá trị ra từ bảng chuyển trạng thái. 5. Nếu không sử dụng các SR flipflop, tìm một cài đặt không có hazard cho mỗi hàm trạng thái kế dùng các cổng logic khã dụng. 6. Nếu không sử dụng SR flipflop, vẽ các bảng giá trị vào flipflop và tìm một cài đặt không có các “hazard 0” cho mỗi S và R. (nếu sử dụng các SR flipflop cổng NAND, các ngõ vào flipflop là các bù của S và R và phải không có các hazard 1). 7. Tìm cài đặt không có hazard của các hàm ra. 8. Nếu có các hazard tất yếu (essential hazard) trong bảng dòng, thì thêm các trì hoãn (delay) trong các đường hồi tiếp hoặc sửa đổi cấu trúc cổng để khử đi các hazard tất yếu. 9. Kiểm tra lại thiết kế của bạn bằng cách kiểm tra thực nghiệm hoặc mô phỏng trên máy tính.
File đính kèm:
- thiet_bi_logic_lap_trinh_duoc_chuong_3_he_tuan_tu_khong_dong.pdf