Tải bản đầy đủ (.pdf) (19 trang)

Chương 3: Hệ tuần tự không đồng bộ pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.12 MB, 19 trang )

9/9/2011
1
Chương 3
HỆ TUẦN TỰ KHÔNG ĐỒNG BỘ
Giới thiệu
Phân loại các mạch logic Mô hình hệ tổ hợp
9/9/2011
2
Mô hình hệ tuần tự Chế độ làm việc
• Để 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
Chế độ cơ bản
của hệ tuần tự không đồng bộ
• Chú ý: Mạch phải ổn định trước mỗi sự kiện định
thì và mỗi lần chỉ có một tín hiệu vào từ ngoài có
thể thay đổi từ 0 sang 1 hoặc từ 1 sang 0
Chế độ xung
của hệ tuần tự không đồng bộ
Chú ý: Mạch phải ổn định trước mỗi sự kiện
định thì và mỗi lần chỉ có một tín hiệu vào từ


ngoài có thể tạo 1 xung dương
9/9/2011
3
Mục tiêu
• Thiết kế hệ tuần tự không đồng bộ thì khó hơn hệ đồng
bộ do các vấn đề định thì.
• Với hệ tuần tự đồng bộ thì xung nhịp đã giải quyết vấn
đề định thì.
• Với hệ tuần tự không đồng bộ thì sẽ phải cần các kỹ
thuật thiết kế đặc biệt để khử các vấn đề định thì có từ
các trì hoãn không bằng nhau qua các đường dẫn khác
nhau trong hệ.
• Để đơn giản hóa phân tích và thiết kế, ta sẽ giả sử rằng
các hệ tuần tự không đồng bộ của ta làm việc ở chế độ
cơ bản.
3.1 PHÂN TÍCH
HỆ TUẦN TỰ KHÔNG ĐỒNG BỘ
3.1 PHÂN TÍCH HỆ TUẦN TỰ KHÔNG
ĐỒNG BỘ
3.1.1 Phân tích hệ không đồng bộ với các
flipflop SR
3.1.2 Phân tích hệ cổng không đồng bộ
3.1.3 Các điều kiện chạy đua và lặp vòng
3.1.1 Phân tích hệ không đồng
bộ với các flipflop SR
9/9/2011
4
Thí dụ: ta sẽ phân tích hệ ở hình sau bằng cách theo dõi các tín
hiệu dùng chuỗi vào
X

1
X
2
=00, 10, 11, 01, 11, 10, 00.
Giả sử các ngõ ra Q ban đầu của flipflop là 0 (Q
1
Q
2
=00).
Hình 3.5 Hệ trì hoãn không đồng bộ
Phân tích bằng bảng chuyển trạng thái với
chuỗi trị vào cụ thể (1)
• Cột thứ nhất của bảng 3.1 liệt kê các giá trị hiện tại của
các biến vào và các giá trị ra flipflop ở những thời điểm
kế tiếp trong phân tích hệ bắt đầu với giá trị ban đầu
(X
1
X
2
=00) và trạng thái bắt đầu (Q
1
Q
2
=00 ).
• Mỗi tổ hợp các giá trị của các ngõ vào mạch và các ngõ
ra bộ nhớ (các ngõ ra flipflop trong trường hợp này) sẽ
được gọi là trạng thái toàn phần (total state) của hệ
• Để tránh nhầm với trạng thái toàn phần, ta sẽ gọi trạng
thái của các flipflop là trạng thái nội (internal state)
Phân tích bằng bảng chuyển trạng thái với

chuỗi trị vào cụ thể (2)
• Với mỗi trạng thái toàn phần trong phân tích hình 3.5,
các giá trị ra và các giá trị vào flipflop được tính toán
dùng các phương trình:
• Đối với trạng thái toàn phần cho trước, trạng thái nội
kế giống như trạng thái nội hiện tại, sẽ không xảy ra
thay đổi trạng thái và ta nói rằng hệ ở trạng thái toàn
phần ổn định (stable total state)
Bảng 3.1
Phân tích của hình 3.5
R
1
=X
1
’X
2

S
1
=X
1
X
2
R
2
=X
1
’X
2
S

2
=X
1
X
2

Z
1
=Q
1
Q
2
+ X
1
’(Q
1
+ Q
2
)
Z
2
=Q
1
Q
2
’ + X
2
’ (Q
1
+ Q

2
’)
Chuỗi giá trị vào và ra (từ bảng 3.1) là:
X
1
X
2
=00, 10, 11, 01, 11, 10, 00
Q
1
Q
2
=01, 00, 10, 11, 01, 11, 10 

 trì hoãn không đồng bộ
9/9/2011
5
Phân tích bằng bảng chuyển trạng thái
• Trước hết ta xây dựng bảng chuyển trạng thái (transition
table) mà nó cho ta thấy các trạng thái kế của flipflop là hàm
của trạng thái hiện tại và các giá trị vào. Ta có thể tạo bảng
này như cách làm cho hệ đồng bộ bằng cách ánh xạ các
phương trình trạng thái kế cho hệ. Với hình 3.5, các phương
trình trạng thái kế là:
• . Mỗi cột trong bảng này tương ứng với tổ hợp cụ thể các giá
trị của các biến vào, hoặc tương ứng với trạng thái vào (input
state). Mỗi hàng tương ứng với phép gán cụ thể các giá trị vào
các biến bộ nhớ, hoặc tương ứng với trạng thái nội hiện tại.
Mỗi ô trong bảng tương ứng với 1 trạng thái toàn phần, và giá
trị trong ô đó là trạng thái nội kế cho trạng thái đó

Hình 3.6 Bảng chuyển trạng thái
của hình 3.5
Hình 3.7 Các bảng dòng (flow table)
của hình 3.5
(a) Đánh nhãn theo trạng thái nội (b) Đánh nhãn theo trạng thái toàn phần
Hình 3.8 Bảng dòng và bảng giá trị ra
cho hình 3.5
Chuỗi giá trị vào và ra là:
X
1
X
2
=00, 10, 11, 01, 11, 10, 00
Q
1
Q
2
=01, 00, 10, 11, 01, 11, 10
9/9/2011
6
Hình 3.9 Giản đồ định thì của hình 3.5
3.1.2 Phân tích hệ cổng
không đồng bộ
Hình 3.10 Hệ không đồng bộ
được xây dựng từ cổng
• Để dễ phân tích, người ta tập trung tất cả các trì hoãn liên hệ với
mỗi đường hồi tiếp vào một hộp được đánh nhãn “delay”. Rồi ta
liên hệ một biến trạng thái với mỗi ngõ ra “delay”. Nếu ở một thời
điểm cho trước, ngõ vào “delay” là 0 (hoặc 1), ngõ ra sẽ là 0 (hoặc
1) sau một thời gian trì hoãn. Từ đó ngõ vào “delay” biểu diễn

trạng thái kế của ngõ ra “delay” và trì hoãn với ngõ ra Q1 có ngõ
vào là Q1+.
• Sau khi đã đặt các biến trạng thái, ta lập được bảng dòng. Hệ được
mô tả bằng các phương trình sau:
• Các phương trình này được điền trong các hình 3.10(b) và (d), và
bảng dòng của hình 3.10(c) được tạo nên bằng cách thay thế mỗi
tổ hợp các biến trạng thái bằng ký hiệu trạng thái. Các ngõ vào
khoanh tròn biểu diễn các trạng thái toàn phần ổn định. Với một
chuỗi vào bất kỳ cho trước, các chuỗi trạ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.14 Mạ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 X
1
X
2
=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, 3
rd
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
X
1
X
2
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 Q
i
=0, S
i
=Q
i
+
;
tương tự khi Q
i
=1, R
i
=(Q
i
+
)’.
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.

×