Bài giảng Chương 5 - Mạch tổ hợp: Mạch tính toán số học cung cấp cho người học các kiến thức: Một số mạch logic tổ hợp thông dụng, thiết kế các mạch logic tổ hợp phức tạp sử dụng các mạch logic tổ hợp thông dụng. Mời các bạn cùng tham khảo.
Trang 3MẠCH TUẦN TỰ
- Ngõ ra sẽ thay đổi phụ thuộc vào ngõ vào và trạng thái trước đó.
- Mạch có tính chất nhớ
Trang 61. M ch c ng Carry ạ ộ
Ripple (CR)
Trang 7T ng ổ
S nh ố ớ
Trang 9Thi t k m t b c ng toàn ph n (Full ế ế ộ ộ ộ ầ
Adder)
B c ng toàn ph n ( ộ ộ ầ FA)
– 3 ngõ vào (2 ngõ vào cho 2 s 1bit c n tính t ng, ố ầ ổ
và 1 ngõ vào cho s nh đ u vào (ố ớ ầ carryin))
– 2 ngõ ra (1 ngõ ra cho t ng và 1 cho s nh đ u ra ổ ố ớ ầ
(carryout))
Trang 10Thi t k m t b c ng toàn ph n (Full ế ế ộ ộ ộ ầ
Adder)
B ng s th tả ự ậ
Ký hi uệ
Trang 11Thi t k m t b c ng toàn ph n (Full ế ế ộ ộ ộ ầ
Trang 12Thi t k m t b c ng toàn ph n (Full ế ế ộ ộ ộ ầ
Trang 13Thi t k m t b c ng toàn ph n (Full ế ế ộ ộ ộ ầ
S đ m ch ơ ồ ạ
c + = x y c x + y
Trang 14M ch c ng Carry Ripple (CR) ạ ộ
• S đ bi u di n m ch c ng 4 bit song song s ơ ồ ể ễ ạ ộ ử
d ng full adder ụ
Trang 15M ch c ng Carry Ripple ạ ộ
• M ch FA b t đ u v i vi c c ng các c p bit t ạ ắ ầ ớ ệ ộ ặ ừ
LSB đ n MSB ế
– N u carry xu t hi n v trí bit i, nó đế ấ ệ ở ị ược c ng thêm ộ
vào phép c ng v trí bit th i+1ộ ở ị ứ
• Vi c k t h p nh v y th ệ ế ợ ư ậ ườ ng đ ượ c g i là m ch ọ ạ
c ng ộ CarryRipple
– vì carry được “ripple” t FA này sang các FA k ti pừ ế ế
– T c đ phép c ng b gi i h n b i quá trình truy n s ố ộ ộ ị ớ ạ ở ề ố
nhớ
Trang 16M ch c ng Carry Ripple ạ ộ
• M i FA có m t kho ng tr (delay), gi s là ỗ ộ ả ễ ả ử
Δt
• Đ tr ph thu c vào s l ộ ễ ụ ộ ố ượ ng bit
– Carryout FA đ u tiên C1 có đ ở ầ ượ c sau Δt
– Carryout FA đ u tiên C2 có đ ở ầ ượ c sau 2Δt
=> Cn đ ượ c tính toán sau nΔt
Mô hình carry look ahead (CLA) th ườ ng đ ượ ử ụ c s d ng đ c i thi n t c ể ả ệ ố
độ
Trang 172. M ch c ng nhìn tr ạ ộ ướ c s nh ố ớ
Carry LookAhead (CLA) Adder
Trang 18Hi u năng ệ
• T c đ c a m ch b gi i h n b i đ tr l n nh t ố ộ ủ ạ ị ớ ạ ở ộ ễ ớ ấ
d c theo đ ọ ườ ng n i trong m ch ố ạ
– Đ tr l n nh t đ ộ ễ ớ ấ ượ c g i là ọ criticalpathdelay
– Đ ườ ng n i gây ra đ tr đó g i là ố ộ ễ ọ critical path
Trang 19• C i thi n t c đ m ch c ng b ng cách ả ệ ố ộ ạ ộ ằ
– T i m i t ng (stage), ta s xác đ nh nhanh giá tr ạ ỗ ầ ẽ ị ị
carryin t ng c ng tr c đó s có giá tr 0 hay 1ở ầ ộ ướ ẽ ị
gi m criticalpathdelay ả
Trang 20• Hàm xác đ nh carryout l n c ng th i ị ở ầ ộ ứ
ci+1= xiyi + xici + yici = xiyi + (xi + yi)ci
• Đ t ặ gi = xiyi và pi = xi + yi => ci+1= gi + pi ci
Ø gi = 1 khi c xi và yi đ u b ng 1, không quan tâm ciả ề ằ
v g được g i làọ hàm generate , vì carryout luôn
được generate ra khi g=1
Ø pi = 1 khi xi = 1 ho c yi = 1; carryout = ciặ
v p được g i làọ hàm propagate, vì carryin = 1
được propagate (truy n) t ng c ng th iề ở ầ ộ ứ
Carry LookAhead Adder (CLA)
Trang 21• Xác đ nh carryout c a m ch c ng n bit ị ủ ạ ộ
Trang 22S nh đ u vào ố ớ ầc0 được truy n ềqua t t c các l n ấ ả ầ
Trang 26M ch c ng CLA ạ ộ
C u trúc c a ấ ủ m t t ng ộ ầ c a m ch c ng CLAủ ạ ộ
Trang 27Gi i h n c a m ch c ng CLA ớ ạ ủ ạ ộ
• Bi u th c tính carry trong m ch c ng CLA ể ứ ạ ộ
Trang 283 Adder/ Subtractor
Trang 30M ch tr ạ ừ
• M ch c ng Carry Ripple có th đ ạ ộ ể ượ c dùng đ xây ể
d ng m ch tr Carry Ripple b ng cách đ o Y và ự ạ ừ ằ ả
đ t s nh đ u tiên là 1 ặ ố ớ ầ
Trang 31• Overflow là khi k t qu c a phép toán v ế ả ủ ượ t
quá s bit bi u di n ph n giá tr ố ể ễ ầ ị
– n bit bi u di n đ ể ễ ượ ố ừ c s t 2n1 đ n +2n11 ế
– Overflow luôn luôn cho ra 1 k t qu sai ế ả
=> M ch đ xác đ nh có overflow hay không ạ ể ị
Trang 32Ví d v arithmetic overflow ụ ề
• V i s 4 bit, 3 bit giá tr và 1 bit d u ớ ố ị ấ
• Overflow không xuất hiện khi cộng 2 số trái dấu
O
O
Trang 33• Overflow có th phát hi n đ ể ệ ượ c (t ví d slide ừ ụ ở
tr ướ c)
• Mạch cộng/ trừ có thể bổ sung mạch kiểm tra
overflow với 1 cổng XOR
• Với n bit
Overflow = cn1 cn
Trang 35Ví dụ
Trang 36(ALU)
Trang 38Any question?