tailieunhanh - Seminar Đề tài : So Sánh hai bộ cộng Ripple carry và Carry Lookahead

Nhược điểm của Ripple carry: Bit slice thứ i+1 muốn thực hiện phép cộng phải chờ tín hiệu nhớ Ci+1 của bit slice thứ i. Nếu số bit cộng càng tăng lên thì trễ lớn nhất của Ripple Carry Adder càng lớn được tính theo công thức. Td = 2*n + 2 (n là số bit cộng) Ví dụ với bộ cộng Ripple carry 16 bit trễ là 34. Khắc phục nhược điểm đó ta sử dụng bộ cộng Carry Lookahead Tín hiệu nhớ ở các bit slice sẽ không phải đợi cho đến khi bit slice trước đó tính xong mà được tính độc lập. | Seminar Đề tài : So Sánh hai bộ cộng Ripple carry và Carry Lookahead Giảng viên hướng dẫn : Nguyễn Tiến Dũng Nội Dung : Giới thiệu các thành viên trong nhóm Bộ cộng Full Adder 1bit Cấu tạo Ripple Carry 4 bit & 16 bit Trễ của Ripple Carry 4 bit & 16 bit Nhược điểm của Ripple carry adder Bộ cộng Carry Lookahead 4 bit & 16 bit Trễ của Carry Lookahead 4 bit & 16 bit Bảng so sánh hai bộ cộng Thank you Các thành viên trong nhóm : Nguyễn Mạnh Tú Trần Quốc Toản Đỗ Trường Xuân (Team Leader) Bộ cộng Full Adder 1 bit FA a b ci ci+1 si a b ci ci+1 si Bộ cộng Ripple Carry 4 bit FA b0 a0 c1 s0 FA b1 c2 s1 FA b2 a2 c3 s2 FA b3 c4 s3 c0 a3 a1 Bộ cộng Ripple Carry 4 bit bao gồm 4 bộ cộng FA 1 bit Bit slice Trễ của bộ cộng Ripple Carry 4 bit Trễ lớn nhất : 1 XOR + 4 AND + 4 OR = 10 (coi delay qua XOR =2 , AND = OR = 1) Trễ của bộ cộng Ripple carry 4 bit Nhược điểm của Ripple carry: + Bit slice thứ i+1 muốn thực hiện phép cộng phải chờ tín hiệu nhớ Ci+1 của bit slice thứ i + Nếu số bit cộng càng tăng lên thì trễ lớn nhất của Ripple Carry Adder càng lớn được tính theo công thức Td = 2*n + 2 (n là số bit cộng) Ví dụ với bộ cộng Ripple carry 16 bit trễ là 34 Khắc phục nhược điểm đó ta sử dụng bộ cộng Carry Lookahead Tín hiệu nhớ ở các bit slice sẽ không phải đợi cho đến khi bit slice trước đó tính xong mà được tính độc lập theo công thức : c(i+1) = a(i).b(i) + (a(i) xor b(i)).c(i) p(i) = a(i) XOR b(i) g(i) = a(i) AND b(i) c(i+1) = g(i) + p(i).c(i) c(1) = g(0) + c(0).p(0). c(2) = g(1) + p(1).g(0) + c(0).p(1).p(0). c(3) = g(2) + g(1).p(2) + p(2).p(1).g(0) + c(0).p(1).p(0).p(2). GG = g(3) + p(3).g(2) + p(3).g(1).p(2) + p(3).p(2).p(1).g(0) ; PG = p(1).p(0).p(2).p(3). c(4) = GG + c(0) . PG Ví dụ : A = 0011 B = 0101 Nhớ c(0) = 1 C1 : Tính bằng Ripple Carry kết quả là S = 1001 ; c(4) = 0 C2 : Tính bằng Carry Lookahead i a(i) b(i) p(i) g(i) c(i) s(i) 0 1 1 0 1 1 1 1 1 0 1 0 1 0 2 0 1 1 0 1 0 3 0 0 0 0 1 1 S = 1001 ; PG = 0 ; GG = 0 ; c(4) = 0 Bộ cộng Carry lookahead 4 bit PFA PFA PFA PFA Carry Lookahead (CLA) a0 b0 a1 b1 a2 b2 a3 b3 c1 c0 g0 p0 c2 p1 p2 p3 g1 g2 g3 c3 c4 s0 s1 s2 s3 CLA PFA PFA PFA PFA Carry Lookahead (CLA) a0 b0 a1 b1 a2 b2 a3 b3 c1 c0 g0 p0 c2 p1 p2 p3 g1 g2 g3 c3 c4 s0 s1 s2 s3 Vậy ta có trễ tổng cộng của bộ carry lookahead 4 bit là 2 + 2+ 2 = 6 Trễ qua bộ PFA là 2 (1 XOR) Trễ qua bộ CLA là 2 (1 AND và 1 OR) CLA CLA CLA CLA CLA PFA PFA PFA PFA 4bit 4bit P G P G P G G P S S S S C GG PG c0 c0 c0 c4 c8 c12 c16 4bit 4bit 4bit 4bit 4bit 4bit PG GG GG GG PG PG Trễ lớn nhất qua mạch carry lookahead 16 bit là : 5 * 2 = 10 So Sánh với Ripple carry 16 bit là : 34 Delay giảm đi 3 lần Hiệu năng tăng lên đáng kể Tổng quát : Delay lớn nhất của bộ cộng Carry Lookahead gồm L mức CLA là 2 (2L - 1) + 4 = 4L + 2

TỪ KHÓA LIÊN QUAN