Bài giảng Thiết kế luận lý 1 - Chương 6: Bộ đếm và thanh ghi cung cấp cho người học các kiến thức: Giới thiệu, bộ đếm bất đồng bộ, bộ đếm với MOD number < 2N, bộ đếm Mười – bộ đếm BCD,... Mời các bạn cùng tham khảo nội dung chi tiết.
Trang 1Khoa KH & KTMT
Bộ môn Kỹ Thuật Máy Tính
Trang 2• “ Digital Systems, Principles and Applications ”,
11th Edition, Ronald J Tocci, Neal S Widmer, Gregory L Moss
Trang 3Bộ đếm và thanh ghi
Trang 4• B ộ đế m (Counter) là gì?
– Đếm tuần tự: 1, 2, 3, , 100, 1, 2,
– Biểu đồ trạng thái– Bộ đếm đồng bộ và bất đồng bộ
2
4
6 8
10 12
Trang 5• B ộ đế m s ử d ụ ng
Flip-Flop (FF)
– Bộ đếm N bit sử
dụng N – FF– Mạch đếm cơ bản
Trang 6• B ấ t đồ ng b ộ (Asynchronous – Ripple)
– Xung CLK chỉ được cấp cho FF A– Ngõ xuất FF đóng vai trò xung CLK cho FF B, tương tự
cho các FF còn lại– Các ngõ xuất DCBA biểu diễn cho số nhị phân 4 bit với D
là bit trọng số cao nhất (MSB)– Tồn tại thời gian trễ (delay) giữa các đáp ứng của các FFtrong bộ đếm
Trang 7• B ộ đế m b ấ t đồ ng b ộ 4-bit
Trang 9• Ngõ xu ấ t c ủ a m ỗ i FF có t ầ n s ố b ằ ng ½ t ầ n s ố c ủ a tín
hi ệ u t ạ i chân CLK c ủ a FF
• Ngõ xu ấ t c ủ a FF th ứ 2 có t ầ n s ố b ằ ng ¼ t ầ n s ố c ủ a tín hi ệ u xung CLK
• S ử d ụ ng N-FF có th ể t ạ o ngõ xu ấ t v ớ i t ầ n s ố b ằ ng
1/2N t ầ n s ố CLK ngõ nh ậ p
Trang 10– Bộ đếm MOD-60
Trang 11• B ộ đế m b ấ t đồ ng b ộ c ơ b ả n N-FF đượ c gi ớ i h ạ n đế n MOD number = 2N (MOD number l ớ n nh ấ t có th ể đạ t
Trang 12thứ 6– Khi các FF bị xoá, ngõ xuất cổng NAND = HIGH, điều kiện
B = C = 1 không còn tồn tại bộ đếm hoạt động bình
thường
Trang 13Spike (glitch)
Ngõ xuất cổng NAND xuống 0 Xoá bộ
đếm về trạng thái 000
Trang 14• B ộ đế m đế m t ừ giá tr ị 000
(0) đế n 101 (5), b ỏ qua giá
tr ị 110 và 111 6 tr ạ ng thái b ộ đế m MOD-6
• Duty cycle: t ỷ l ệ ph ầ n tr ă m
th ờ i gian tín hi ệ u ở tr ạ ng thái tích c ự c trên t ổ ng th ờ i gian 1 chu k ỳ
Biểu đồ chuyển trạng thái (State Transition Diagram)
110
111
Trạng thái tạm thời
Trang 15• MOD number = ?
• T ầ n s ố t ạ i ngõ xu ấ t D = ?
Trang 16• Quy trình xây d ự ng b ộ đế m t ừ b ắ t đầ u t ừ 0 và có MOD number = X
– Tìm số lượng FF nhỏ nhất sao cho 2N ≥ X Nếu 2N = X, bỏ
qua bước 2 và 3– Kết nối ngõ xuất của cổng NAND với ngõ nhập bất đồng
bộ của tất cả các FF– Xác định FF có ngõ xuất ở mức 1 (HIGH) tại trạng thái bộ
đếm = X, kết nối ngõ xuất các FF này vào các ngõ nhập
của cổng NAND
Trang 17• B ộ đế m M ườ i (Decade): g ồ m 10 tr ạ ng thái phân bi ệ t hay b ộ đế m MOD-10 (không quan tâm đế n th ứ t ự )
• B ộ đế m BCD: b ộ đế m đế m t ừ 0000 1001
• Ứ ng d ụ ng b ộ đế m MOD-10: chia t ầ n s ố cho 10
Trang 18• IC 74LS293 (TTL)
Trang 20• Ví d ụ :
– Thiết bộ đếm MOD-16 với tần số xung CLK ngõ nhập 10kHz sử dụng IC 74LS293
– Xác định tần số ngõ xuất Q3
Trang 21• B ộ đế m MOD-10
Trang 22• B ộ đế m MOD-14
Trang 23• B ộ đế m MOD-60
Trang 24• Ngõ xu ấ t A (LSB) thay đổ i
tr ạ ng thái t ạ i m ỗ i b ướ c đế m (t ươ ng t ự b ộ đế m lên)
• Ngõ xu ấ t B thay đổ i tr ạ ng thái
khi A t ừ 0 1 (c ạ nh lên)
• Ngõ xu ấ t C thay đổ i tr ạ ng thái
khi B t ừ 0 1 (c ạ nh lên)
Xung CLK đượ c đư a vào FF A
A’ đ óng vai trò xung CLK cho FF B
B’ đ óng vai trò xung CLK cho FF C
Trang 26• Nguyên lý ho ạ t độ ng c ơ b ả n c ủ a b ộ đế m b ấ t đồ ng
b ộ (Ripple)
• Tr ễ lan truy ề n tpd (propogation delay) c ủ a FF
– FF thứ N sẽ không đáp ứng (thay đổi trạng thái) ít nhấttrong khoảng thời gian N × tpd sau khi tín hiệu clock tích
cực
Trang 28• Đ i ề u ki ệ n để b ộ đế m ho ạ t độ ng đ úng
Tclock ≥ N × tpd hay fmax = 1/( N × tpd )
50 ns
Trang 30– Bộ đếm đồng bộ cần nhiều mạch điện hơn so với bộ đếm
bất đồng bộ
Trang 32• Ho ạ t độ ng c ủ a b ộ đế m
– Chỉ các FF đỏi hỏi chuyển trạng thái (toggle) khi có tích
cực cạnh xuống (NGT) cần có J = K = 1– FF A chuyển trạng thái mỗi khi có cạnh xuống (NGT) củaxung clock J = K = 1
– FF B chuyển trạng thái mỗi khi có cạnh xuống (NGT) củaxung clock trong khi A = 1
– FF C chuyển trạng thái mỗi khi có cạnh xuống (NGT) củaxung clock trong khi A = B = 1
– FF D chuyển trạng thái mỗi khi có cạnh xuống (NGT) củaxung clock trong khi A = B = C = 1
Các tín hi ệ u J, K c ủ a m ỗ i FF nên k ế t n ố i sao cho chúng ở m ứ c
1 (HIGH) ch ỉ khi các ngõ xu ấ t c ủ a các FF tr ọ ng s ố th ấ p h ơ n đề u
ở m ứ c 1
Trang 33• Ư u đ i ể m c ủ a b ộ đế m đồ ng b ộ
– Ngõ xuất của các FF thay đổi trạng thái cùng lúc, đồng bộ
với các cạnh xuống (NGT) của xung clock ngõ nhập– Trễ lan truyền không bị tích luỹ qua các FF
– Tổng thời gian đáp ứng bằng thời gian để 1 FF chuyển
trạng thái cộng với thời gian để các mức luận lý mới lantruyền qua 1 cổng AND để đến ngõ nhập J, K
Tổng thời gian trễ = tpd (FF) + tpd (AND)
• IC đế m đồ ng b ộ
– 74LS160/162: bộ đếm đồng bộ MOD-10– 74LS161/163: bộ đếm đồng bộ MOD-16
Trang 34• Quá trình thi ế t k ế b ộ đế m đồ ng b ộ thi ế t k ế các
m ạ ch lu ậ n lý để gi ả i mã (decode) các tr ạ ng thái khác nhau c ủ a b ộ đế m đ i ể u khi ể n các ngõ nh ậ p J và K
Trang 351 Xác đị nh s ố FF c ầ n
thi ế t(s ố bit c ủ a b ộ đế m) và trình t ự đế m theo yêu c ầ u
Trang 373 S ử d ụ ng b ả ng
tr ạ ng thái để l ậ p
b ả ng li ệ t kê các
tr ạ ng thái hi ệ n t ạ i (PRESENT) và các tr ạ ng thái k ế
ti ế p (NEXT)
t ươ ng ứ ng
Trang 384 Thêm m ộ t c ộ t vào b ả ng cho m ỗ i c ặ p ngõ nh ậ p J, K.
Ứ ng v ớ i m ỗ i tr ạ ng thái PRESENT, xác đị nh m ứ c
lu ậ n lý c ủ a J & K để cho phép b ộ đế m chuy ể n t ừ
tr ạ ng thái PRESENT sang tr ạ ng thái NEXT
Trang 395 Thi ế t k ế các m ạ ch lu ậ n lý v ớ i ngõ xu ấ t tho ả mãn
các m ứ c lu ậ n lý c ầ n thi ế t c ủ a các ngõ nh ậ p J & K
S ử d ụ ng bìa Karnaugh
Trang 40• Tính KA, tính JA
K A = 1
Trang 41• Tính JB, tính KB
Trang 42• Tính JC, tính KC
Trang 436 Hi ệ n th ự c m ạ ch
Trang 44• Tín hi ệ u ngõ nh ậ p đ i ề u khi ể n vi ệ c s ử
d ụ ng các ngõ xu ấ t thông th ườ ng (A, B, C, D) hay các ngõ xu ấ t đả o (A’, B’, C’, D’) để đ i ề u khi ể n các ngõ nh ậ p J, K c ủ a các FF
• Khi ở m ứ c 1 (HIGH), các c ổ ng AND 1, 2
Trang 47FF được dùng cho hoạt động Preset bất đồng bộ
• N ạ p tr ạ ng thái mong mu ố n cho b ộ đế m
1 Thiết lập trạng thái đếm mong muốn tại các chân ngõ
nhập song song P2, P1 và P0
2 Tạo một xung mức 0 (LOW) tại chân ngõ nhập
Trang 49hoặc nhiều hơn các IC để thành bộ đếm với MOD lớn hơn
Trang 51C ấ u t ạ o ngõ xu ấ t TCU và TCD c ủ a 74ALS193
Trang 54Tại thời điểm t0 các FF của bộ đếm đều ở mức 0 LOW)
TCU ở mức 1 (HIGH)Ngay trước thời điểm t1, ngõ nhập PL có một xung mức 0(LOW) các chân ngõ xuất Q3 – Q0 sẽ được nạp giá trị củacác ngõ nhập P3 – P0 giá trị các ngõ xuất Q sẽ là 1011
Tại t1, ngõ nhập CPU tích cực cạnh lên (PGT), nhưng bộ đếmkhông thể đáp ứng lại do tín hiệu PL vẫn còn ở trạng thái tích
cực
Tại t2, t3, t4 và t5, bộ đếm đếm lên tại các cạnh lên của CPUSau thời điểm t5, trạng thái bộ đếm là 1111 nhưng TCU chưa
xuống mức 0 (LOW) cho đến thời điểm CPU xuống 0 tại t6
Tại cạnh lên tiếp theo của CPU, bộ đếm về trạng thái 0000
Trang 58• Vào song song/ra song song (Parallel in/parallel out)
• Vào n ố i ti ế p/ra song song (Serial in/serial out)
• Vào song song/ra n ố i ti ế p (Parallel in/serial out)
• Vào n ố i ti ế p/ra song song (Serial in/parallel out)
Trang 59• Ch ươ ng 7: Counters and Registers trong sách Digital System c ủ a Ronal Tocci