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

pdf19 trang | Chuyên mục: Mạch Điện Tử | Chia sẻ: tuando | Lượt xem: 454 | Lượt tải: 0download
Tóm tắt nội dung Thiết bị logic lập trình được - Chương 3: Hệ tuần tự không đồng bộ, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
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:

  • pdfthiet_bi_logic_lap_trinh_duoc_chuong_3_he_tuan_tu_khong_dong.pdf