You are on page 1of 33

11/13/2009

Chương 5

Tổng hợp và phân tích
hệ dãy

207

Nội dung chương 5
5.1. Khái niệm
5.2. Tổng hợp hệ dãy
5.3. Phân tích hệ dãy

208

104

11/13/2009

5.1. Khái niệm
Có 2 loại bài toán về hệ dãy:
 Bài toán tổng hợp: Là bài toán cho biết chức
năng hệ dãy. Yêu cầu thiết kế sơ đồ (mạch)
thực hiện của hệ.
 Bài toán phân tích: Là bài toán cho biết sơ đồ
thực hiện của hệ. Yêu cầu tìm chức năng của
hệ.
Khi giải quyết 2 loại bài toán này ta
cần quan tâm đến bảng ứng dụng của
trigger.
209

Bảng ứng dụng của Trigger RS
RS
q
0
1

00

01

11

10

0

1

-

0

1

1

-

nhớ

thiết
lập

không
xác
định

0

q

Q

S

R

0

0

0

-

0

1

1

0

1

0

0

1

1

1

-

0

xóa

Q S qR
210

105

11/13/2009

Bảng ứng dụng của Trigger D

q

D

0

0

1

0

1

1

0

1

q

Q

D

0

0

0

0

1

1

1

0

0

1

1

1

Q=D
211

Bảng ứng dụng của Trigger JK

JK

00

01

11

10

0

0

0

1

1

1

1

0

0

1

nhớ

xóa

lật

thiết
lập

q

Q

qJ

q

Q

J

K

0

0

0

-

0

1

1

-

1

0

-

1

1

1

-

0

qK

212

106

Thành lập bảng kích trigơ trên cơ sở bảng trạng thái đã mã hoá ở trên và bảng ứng dụng của trigơ tương ứng 3. Tìm bảng trạng thái dưới dạng mã hoá trạng thái của hệ 2.11/13/2009 Bảng ứng dụng của Trigger T q T 0 0 1 0 1 1 1 0 nhớ Q qT qT q Q T 0 0 0 0 1 1 1 0 1 1 1 0 lật q T 213 5. 5. Xác định hàm ra và tối thiểu hoá các hàm ra.2. Tổng hợp hệ dãy  Bài toán tổng hợp hệ dãy gồm các bước như sau: 1. Vẽ sơ đồ thực hiện hệ dựa trên các hàm kích và hàm ra đã xác định được Ví dụ 1 Tổng hợp thanh ghi 3 bit dịch phải dùng trigơ D Thanh ghi 3 bit có 8 trạng thái có 3 biến trạng thái cần 3 trigơ 214 107 . Xác định hàm kích trigơ và tối thiểu hoá các hàm kích đó 4.

Q3 = q2 D1 = x. Q2 = q1. D2 = q1. D3 = q2 Sơ đồ thực hiện x D1 q1 CLK q1 D2 q2 CLK q2 D3 q3 CLK q3 CLOCK 216 108 . Tổng hợp hệ dãy (Ví dụ 1) Số liệu vào: x 3 biến trạng thái: q1q2q3 x 0 1 000 000 100 001 000 100 010 001 101 011 001 101 100 010 110 101 010 110 110 011 111 111 011 111 q1 q2 q3 Bảng trạng thái mã hóa Biến trạng thái tiếp theo: Q1Q2Q3 215 5.2. Tổng hợp hệ dãy (Ví dụ 1) Hàm kích trigơ Q1 = x.11/13/2009 5.2.

Các đầu vào và ra này đều là nhị phân.2. Tổng hợp theo mô hình Mealy Hệ dãy x=0101011. 217 5. Tổng hợp hệ dãy (Ví dụ 2) Tổng hợp hệ dãy đồng bộ dùng trigơ JK. Tổng hợp hệ dãy (Ví dụ 2) Xét điều kiện đầu bài ta lập đồ hình trạng thái như sau: A: chờ 0 đầu tiên B: đã có 0 chờ 1 C: đã có 01 D: đã có 010 1/0 A 0/0 0/0 0/0 0/0 B C D 1/0 1/1 1/0 218 109 ..2.11/13/2009 5.. y=0001010. Các trường hợp khác thì y = 0. Đầu ra y = 1 nếu ở đầu vào x xuất hiện theo qui luật x = 0101. Hệ có 1 đầu vào x và 1 đầu ra y.

2.0 10.11/13/2009 5.0 C.0 00.0 1 0 - 1 11 01.0 01 01.0 q1 0 1 0 A C 1 B D q2 x 0 q 1q 2 C.1 10 Bảng chuyển trạng thái mã hóa 1 11.1 1 1 - 0 10 11.0 10.0 S A B B.0 10.2.0 10.0 C D.0 00.0 00.0 Q1Q2 Q1Q2 219 5.0 D B.0 00.0 Q1 Q2  Bảng kích trigger: x q1q2 0 1 J1K1 J2K2 J1K1 J2K2 00 0- 1- 0- 0- 01 0- -0 1- -1 11 -1 -0 -0 -1 10 -0 1- -1 0- 220 110 . Tổng hợp hệ dãy (Ví dụ 2) x q 1q 2 0 1 q Q J K 0 0 0 - 00 01.0 0 1 1 - 01 01.0 A. Tổng hợp hệ dãy (Ví dụ 2) Cần 2 biến trạng thái q1q2 để mã hóa Bảng trạng thái x 0 1 B.0 A.1 00 01.0 11 01.

11/13/2009 5.2.2. Tổng hợp hệ dãy (Ví dụ 2) Hàm ra: 0 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 0 0 Y q1 q 2 x q1q2 x 222 111 . Tổng hợp hệ dãy (Ví dụ 2) Các hàm kích Trigger: 0 1 0 0 0 0 0 1 0 1 1 1 0 q1q2 x J1 0 1 0 0 1 0 1 0 1 - - - 1 1 - - 1 0 q2 x q1q2 x J2 0 1 0 0 - - - 0 1 - - - 1 1 1 0 1 0 q1q2 K1 x x 0 1 0 0 - - - 0 1 0 1 1 0 1 1 0 1 0 1 1 0 - - q2 x q1q2 x K2 x 221 5.

A B So sánh liên tiếp yG =1 khi A>B yE =1 khi A=B yL =1 khi A<B 224 112 .11/13/2009 5.2. Tổng hợp hệ dãy (Ví dụ 2) Sơ đồ thực hiện & 1 x J2 & q2 J1 CLK K2 q1 y CLK =1 q2 K1 q1 CLOCK 223 Bài tập 1 Tổng hợp bộ so sánh liên tiếp 2 số A. B có độ dài bit tùy ý bằng hệ dãy đồng bộ dùng Trigger JK theo mô hình Moore. B được so sánh bắt đầu từ bit LSB. Hai số A.

01 S 01 G 100 L 001 10 10 AB 00 11 10 yG yE yL G G L G G 1 0 0 E E L E G 0 1 0 L L L L G 0 0 1 q1q2 Trạng thái 00 E G : A > B. 11. 11 225 Bài tập 1 (tiếp) AB 00 q 1q 2 01 11 10 yG yE yL qQ JK 00 00 01 00 10 0 1 0 00 0- 01 01 01 01 10 0 0 1 01 1- 11 -- -- -- -- - - - 10 -1 10 10 01 10 10 1 0 0 11 -0 AB q 1 q2 00 01 11 10 J1 K1 J2 K2 J1 K1 J2 K2 J1 K1 J2 K2 J1 K1 J2 K2 00 0- 0- 0- 1- 0- 0- 1- 0- 01 0- -0 0- -0 0- -0 1- -1 11 -- -- -- -- -- -- -- -- 10 -0 0- -1 1- -0 0- -0 0- 226 113 .11/13/2009 Bài tập 1 (tiếp) 00. ra 010 11 không x. 11.đ 01 E 01 010 00. ra 001 10 G E : A = B. 10 00. ra 100 01 L L : A < B.

 Hãy thiết kế đồ hình chuyển trạng thái của hệ theo mô hình Mealy.11/13/2009 Bài tập 1 (tiếp) q1q2 AB 00 01 11 10 q1q2 AB 00 01 11 10 q1q2 AB 00 01 11 10 q1q2 AB 00 01 11 10 00 0 0 0 1 00 0 1 0 0 00 - - - - 00 - - - - 01 0 0 0 1 01 - - - - 01 - - - - 01 0 0 0 1 11 - - - - 11 - - - - 11 - - - - 11 - - - - 10 - - - - 10 0 1 0 0 10 0 1 0 0 10 - - - - J1 = AB J2 = AB yG = q1 K1 = AB yE = q1q2 K2 = AB yL = q2 227 Bài tập 2  Một hệ dãy đồng bộ có 1 đầu vào X và 1 đầu ra Y. 228 114 . Sau khi nhận đủ 4 bit. hệ quay lại trạng thái ban đầu để thực hiện phép cộng tiếp theo. Dữ liệu được đưa tuần tự vào đầu vào theo thứ tự bit có ít ý nghĩa hơn được đưa vào trước (giả sử dữ liệu đầu vào luôn hợp lệ). thực hiện phép cộng một số BCD 4 bit với 6. cho kết quả là một số nhị phân 4 bit.

" thì Y = "....11/13/2009 Bài tập 2 (tiếp) t0 0/0 + t3 t2 t1 t0 x3 x2 x1 x0 0 1 1 0 y3 y2 y1 y0 1/1 t1 1/0 0/1 0/1 0/0 1/1 t2 0/0 1/1 1/0 0/1 t3 Có nhớ Không nhớ 229 Bài tập 3  Một hệ dãy đồng bộ có 1 đầu vào X và 1 đầu ra Y."  Hãy vẽ đồ hình chuyển trạng thái của hệ trong 2 trường hợp:  Dùng mô hình Mealy  Dùng mô hình Moore 230 115 ..  Y = 1 nếu X xuất hiện theo quy luật "1011"  Y = 0 trong các trường hợp còn lại  Ví dụ: nếu X = "....1011011.0001001..

11/13/2009 Bài tập 3 – Mô hình Mealy 0/0 1/0 1/0 S0 S1 1/1 0/0 1/0 S2 S3 0/0 0/0 231 Bài tập 3 – Mô hình Moore 0 1 1 0 S0 0 1 S1 0 0 0 S2 0 1 S3 0 1 S4 1 0 232 116 .

3. K1 = q 2 . Phân tích hệ dãy (Ví dụ) Từ sơ đồ viết biểu thức hàm kích và hàm ra: J1 = q2. Hãy phân tích xác định chức năng của hệ. K2 = x. J2 q2 J1 & q1 x CLK CLK 1 K2 q2 K1 q1 y & CLOCK 233 5. y =xq1q 2 Bảng kích trigơ x 0 xq 1 q 2 1 q1q2 J1 K1 J2 K2 J1 K1 J2 K2 00 0 1 0 1 0 1 1 0 01 1 0 0 1 1 0 1 0 11 1 0 0 1 1 0 1 0 10 0 1 0 1 0 1 1 0 234 117 . Phân tích hệ dãy Các bước thực hiện theo trình tự ngược lại so với tổng hợp hệ dãy Ví dụ: Cho sơ đồ hệ dãy đồng bộ dùng trigơ JK như sau.3.11/13/2009 5. J2 = x.

1 236 118 .0 D A.0 C D.0 01 10.0 01.1 01 1 0 0 1 1 0 1 0 1 1 .3.0 B D.3.0 11 10. K1 = q 2 . K2 = x.0 C.1 0 1 A A.0 10 00.0 B.0 11.1 11.0 B.0 01.1 C.11/13/2009 5.0 11 1 0 0 1 1 0 1 0 10 0 1 0 1 0 1 1 0 0 1 235 5. y =xq1q 2 xq 1 q 2 Bảng kích trigơ q Q J K x 0 0 0 - q1q2 J1 K1 J2 K2 J1 K1 J2 K2 0 1 1 - 00 0 1 0 1 0 1 1 0 1 0 . J2 = x. Phân tích hệ dãy (Ví dụ) Bảng trạng thái mã hóa x 0 Bảng trạng thái 1 x S q1q2 Q 1Q 2 Q 1Q 2 00 00. Phân tích hệ dãy (Ví dụ) J1 = q2.

Phân tích hệ dãy (Ví dụ)  Đồ hình chuyển trạng thái: 1/1 1/0 0/0 A 1/0 B 1/0 C 0/1 D 0/0 0/0  Đây là hệ đoán nhận xâu 110 và 101 238 119 .11/13/2009 5.3.3. Phân tích hệ dãy (Ví dụ) Bảng kích trigơ x Bảng trạng thái mã hóa 0 x 0 1 q1q2 Q 1Q 2 Q 1Q 2 00 00 01 01 10 11 11 10 11 10 00 01 1 q1q2 J1 K1 J2 K2 J1 K1 J2 K2 00 0 1 0 1 0 1 1 0 01 1 0 0 1 1 0 1 0 11 1 0 0 1 1 0 1 0 10 0 1 0 1 0 1 1 0 237 5.

11/13/2009 Bài tập 1 Phân tích chức năng của hệ sau: ≥1 T1 ≥1 q1 T2 CLK q1 q2 CLK q2 CLOCK 239 Bài tập 1 (tiếp) q1 q 2 T1 T2 qQ T q1 q2 Q1 Q2 00 01 00 0 00 01 01 11 01 1 01 10 10 10 10 1 10 00 11 11 11 0 11 00 T1 q1 q2 T2 q1 q2 00 01 10 240 120 .

11/13/2009 Bài tập 2 Phân tích chức năng của hệ sau: 1 JC QC JB QB CLK CLK KC QC KB QB JA QA CLK 1 KA QA CLOCK 241 Bài tập 3 analyse this sequential citcuit:  x: input  z: output 242 121 .

11/13/2009 Bài tập 3 – Lời giải y1 y2  Excitation equations: J = xy2 K = x + y’2 D = x’y’2 + y’1y2  Output equations: z = xy1y’2 243 Bài tập 3 – Lời giải (tt) PS y1y2 x=0 x=1 J K D J K D PS y1y2 00 0 1 1 0 1 0 01 0 0 1 1 1 1 10 0 1 1 0 1 0 11 0 0 0 1 1 0 Circuit excittion table Output (z) x=0 x=1 00 0 0 01 0 0 10 0 1 11 0 0 Output table 244 122 .

q = y1 Y1 = (x+y’2)’y1 + xy2y’1 = x’y1y2 + xy’1y2 D trigger: Q=Y2.11/13/2009 Bài tập 3 – Lời giải (tt) Next-state equations: JK Trigger: Q=Y1. q=y2 Y2=D Y2=x’y’2+y’1y2 245 Bài tập 3 – Lời giải (tt) State table a=00 b=01 c=10 d=11 PS y1y2 NS (Y1Y2) x=0 x=1 Output (z) x=0 x=1 a b b b a d 0 0 0 0 c d b c a a 0 0 1 0 246 123 .

a juice and change are output 248 124 .11/13/2009 Bài tập 3 – Lời giải State Diagram 0/0 0/0 1/0 a PS y1y2 0/0 b 1/0 0/0 d c NS/Output (Y1Y2/z) x=0 x=1 a b/0 a/0 b b/0 d/0 c b/0 a/1 d c/0 /0 1/0 1/1 247 Design Vending Machine Vending machine of 3000 VND juice Synchronized by clock Only 2000 VND and 1000 VND coins are acceptable When the input coins reach to 3000VND.

11/13/2009 State Transition Diagram of Vending Machine 1000VND/- 1000VND/- 1000VND 2000VND/juice 3000VND 1000VND/- Initial State 2000VND/2000VND/- 2000VND 4000VND 2000VND/juice.change 2000VND/249 State Transition Table of Vending Machine Next state Current state Output ( juice. change) 1000VND/2000VND 00 01 11 10 S2 S1 initial state (S0) S0 1000VND /2000VND 00 01 11 10 00 00 00 1000VND (S1) S1 S3 - S2 00 10 - 00 2000VND (S2) S2 S4 - S3 00 11 - 10 3000VND (S3) S3 S2 - S1 00 00 - 00 4000VND (S4) S4 S2 - S1 00 00 - 00 250 125 .

SS0) set of states with the same output (S0.SS2.SS0.SS1) S1 (SS1.SS2.X.SS2) S2 (SS2. change) 00 01 11 10 00 00 X 00 00 10 X 00 00 11 X 10 00 00 X 00 00 00 X 00 rewrite state table S0 (SS0.11/13/2009 State Reduction current state 00 initial state (S0) S0 1000VND (S1) S1 2000VND (S2) S2 3000VND (S3) S3 4000VND (S4) S4 Next state 01 11 S2 X S3 X S4 X S2 X S2 X 10 S1 S2 S3 S1 S1 Output( juice.SS1) S3 (SS0.S4)→SS0 (S1) →SS1 (S2) →SS2 equivalence 251 Reduced State Transition Table next state Current state output (juice change) SS0 1000VND/2000VND 00 01 11 10 SS0 SS2 SS1 1000VND/2000VND 00 01 11 10 00 00 00 SS1 SS1 SS0 - SS2 00 10 - 00 SS2 SS2 SS0 - SS0 00 11 - 10 252 126 .X.X.S3.SS1) S4 (SS0.SS2.X.SS0.X.

B) state A B SS0 0 0 SS1 0 1 SS2 1 0 input output 1000VND I 2000VND J juice change X Y 253 State Transition Table next state (A+.B+) output (X.11/13/2009 State Assignment using two FFs (A.Y) 00 I/J 00 00 01 10 11 - 10 01 I/J 00 00 01 00 11 - 10 00 01 01 00 - 10 00 10 - 00 10 10 00 - 00 00 11 - 10 current state (A.B) 254 127 .

10 1 - DA= B I + A B J + A I J 256 128 ..11/13/2009 State Transition Table current state A 0 0 0 0 0 0 1 1 1 B 0 0 0 1 1 1 0 0 0 input I 0 0 1 0 0 1 0 0 1 J 0 1 0 0 1 0 0 1 0 next state A+ 0 1 0 0 0 1 1 0 0 output B+ 0 0 1 1 0 0 0 0 0 X 0 0 0 0 1 0 0 1 1 Y 0 0 0 0 0 0 0 1 0 255 State Function by D-FF (A+) A 0 0 0 0 0 0 1 1 1 B 0 0 0 1 1 1 0 0 0 I 0 0 1 0 0 1 0 0 1 J 0 1 0 0 1 0 0 1 0 A+ 0 1 0 0 0 1 1 0 0 DA 0 1 0 0 0 1 1 0 0 DA= A B I J + A B I J + A B I J I.J A.B 00 01 11 10 00 1 01 1 11 .

- DB= A B I + B I J 257 Output function (X..1 1 ..B 00 01 11 10 00 01 1 11 .B 00 01 11 10 00 01 11 .1 X= B J + A J + A I Y= A B I J I.11/13/2009 State Function by D-FF (B+) A 0 0 0 0 0 0 1 1 1 B 0 0 0 1 1 1 0 0 0 I 0 0 1 0 0 1 0 0 1 J 0 1 0 0 1 0 0 1 0 B+ 0 0 1 1 0 0 0 0 0 DB 0 0 1 1 0 0 0 0 0 DB= A B I J + A B I J I.J A.J A.10 1 .10 1 - Y= A J 258 129 .Y) A 0 0 0 0 0 0 1 1 1 B 0 0 0 1 1 1 0 0 0 I 0 0 1 0 0 1 0 0 1 J 0 1 0 0 1 0 0 1 0 X 0 0 0 0 1 0 0 1 1 Y 0 0 0 0 0 0 0 1 0 X= A B I J + A B I J + A B I J I.J A..B 00 01 11 10 00 01 11 10 .

Cho sơ đồ như sau. Vẽ tín hiệu tại các đầu A. Hãy phân tích và cho biết chức năng của hệ. 260 130 . B.11/13/2009 Circuit diagram I J J I I B B AA Y X J Q 259 Q D T Q T Q D DA Clock DB BÀI TẬP (tiếp) 4. C dóng trên cùng trục thời gian cho 8 xung đồng hồ.

Nếu E = 1 thì thanh ghi dịch phải. 262 131 . Tổng hợp thanh ghi 4 bit vào nối tiếp ra song song dùng tri gơ D. còn E = 0 thì thanh ghi dịch trái. Thanh ghi còn có đầu vào E để định chiều dịch.11/13/2009 a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 J1 0 0 1 1 0 0 1 1 K1 1 0 1 0 1 0 1 0 J2 1 1 1 1 1 1 1 1 K2 1 1 1 1 1 0 1 0 J3 1 1 1 1 0 0 0 0 K3 0 0 0 0 0 0 1 1 A 0 0 1 1 0 1 0 1 B 1 1 0 0 1 1 0 1 C 1 1 1 1 0 1 0 0 001 010 100 261 5.

Bất kỳ công tắc nào cũng có thể làm sáng.11/13/2009 Bài tập ôn tập 263 1. Không dùng bộ cộng. 2. tắt cùng 1 đèn. Tổng hợp hệ tổ hợp cho phép dùng 3 công-tắc làm sáng. tắt đèn. còn A có số bit tùy chọn cho thích hợp 264 132 . B là một số 3 bit. hãy tổng hợp hệ tổ hợp thực hiện phép toán A = B+3.

15) Chứng minh câu trả lời.B.C) ABC B C ABC Chứng minh câu trả lời.D) = R(0. Tổng hợp bộ phân kênh 1-2. 266 133 .6.C.4.13. 265 4. Dùng một bộ chọn kênh 8-1 để tạo ra hàm sau: F(A. 6. 5. Tổng hợp bộ nhân 2 số 2 bit mà không dùng bộ cộng.11.11/13/2009 3.8.B.3. 7. Tổng hợp bộ chọn kênh 2-1 dùng chỉ các phần tử NAND có 2 đầu vào. Sử dụng bộ chọn kênh thích hợp để tạo hàm sau: F(A.

Phân tích: Biết sơ đồ thực hiện hệ -> Tìm chức năng 1. B. F=1: đèn sáng A B C F 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 F=A B C 268 134 . Chức năng -> Bảng thật (biến vào ? hàm ra ? quan hệ vào-ra ?) 2. Thành lập bảng thật dựa vào 1. Suy ra chức năng từ bảng thật 267 Hướng dẫn giải 1. C. F=0: đèn tắt. Từ bảng thật viết hàm ra theo biến vào (tối thiểu hóa) 3. 3 công tắc: 3 biến A. Vẽ sơ đồ thực hiện hàm đã có ở bước 2. 3. Từ sơ đồ viết biểu thức hàm ra theo biến vào 2.11/13/2009 HỆ TỔ HỢP Tổng hợp: Biết chức năng hệ -> Thiết kế sơ đồ thực hiện hệ 1.

2.C) ABC B C ABC Viết biểu thức hàm dưới dạng tuyển chính qui: F(A.7) 1 E0 0 E1 1 E2 0 E3 1 E4 0 E5 0 E6 1 E7 C C C 2 1 0 F(A.11/13/2009 2. F(A.B.C) A B C 270 135 .C) ABC B C (A+A) ABC ABC A B C +AB C ABC F(A.C) R(0. B: 3 bit b2 b1 b0 b2 A: 4 bit A= B + 3 b1 b0 a3 a2 a1 a0 0 0 0 0 0 1 1 a3 a2 a1 a0 0 0 1 0 1 0 0 … … … … … … … 1 1 0 1 0 0 1 Viết biểu thức các hàm ra theo 3 biến vào (tối thiểu hóa) 1 1 1 1 0 1 0 Vẽ sơ đồ 269 4.B.B.4.B.

11.3.6.D) 271 A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 = R(0.C.B.11/13/2009 8.C.4.15) D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 F 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 1 1 E0 0 E1 0 E2 1 E3 A E4 A E5 A E6 A E7 C C C 2 1 0 F(A.8.B. F(A.D) B C D 136 .13.