Các loại bộ cộng half-adder - full adder - Ripple Carry và Carry Look-Ahead Adder

  • Bộ Cộng Half-adder
Mạch cộng half-adder là mạch tổ hợp thực hiện chức năng cộng giá trị hai ngõ vào không tính đến cờ nhớ. Ngõ ra mạch cộng là giá trị tổng và cờ nhớ sinh ra từ kết quả cộng. Mạch cộng half-adder một bit có bảng sự thật như sau:



Mạch cộng half-adder 1-bit​
  • Bộ cộng Full-adder
Mạch cộng full-adder là mạch tổ hợp thực hiện chức năng cộng giá trị hai ngõ vào có tính đến cờ nhớ. Mạch công full-adder một bit có bảng sự thật như sau

Mạch cộng full-addr 1-bit​
  • Bộ cộng n-bit
Một bộ cộng n-bit có cả cờ nhớ ngõ vào cin và cờ nhớ ngõ ra cout thì có thể được ghép tầng để tạo ra bộ công cho chuỗi bit dài hơn. Sau đây là một số cách thực hiện bộ cộng n-bit.
  • Bộ cộng Ripple-Carry
Bộ cộng ripple-carry sử dụng một bộ cộng half-adder và n-1 bộ cộng full-adder để thực hiện một bộ cộng n-bit.

Bộ cộng n-bit ripple-carry​

Thời gian trễ là vấn đề của mạch cộng dạng này và làm nó ít được sử dụng trong nhiều ứng dụng thực tế.
  • Bộ cộng Carry Look-Ahead (CLA)
Mạch cộng CLA sẽ giảm thời gian trễ cho mạch cộng hai giá trị n-bit nhưng tài nguyên phần cứng tăng đáng kể. Bộ CLA đầu tiên được giới thiệu bởi Weinberger và Smith vào năm 1958, được cải thiện về tài nguyên và giảm thời gian đáp ứng. Sau đây là bộ cộng CLA được thiết kế bởi Weinberger và Smith.
Giá trị cờ nhớ của vị trí bit thứ i được phân biệt thành hai phần là:
  • Giá trị nhớ được tạo ra do phép cộng cặp bit thứ i, ai + bi.
  • Giá trị nhớ được tạo từ cặp bit trước đó được đưa đến vị trí bit thứ i.
Chúng ta định nghĩa 3 khai triển sau đây:

Trong đó:
  • gi là giá trị nhớ được tạo ra khi ai và bi đều bằng 1
  • pi là trạng thái lan truyền giá trị nhớ thứ i khi ai hoặc bi bằng 1
gi và pi là hai giá trị có thể tính song song và trực tiếp từ cặp bit thứ i và thời gian trễ của nó chỉ là của một cổng logic. ci là giá trị phục thuộc các giá trị nhớ của các cặp bit trước đó giống như dạng bộ cộng Ripple-Carry nhưng nó có thể được khai triển theo các gi, pi và c0. Ví dụ như sau
[​IMG]
Nếu số bit nhiều hơn, thì chúng ta vẫn tiếp tục khai triển được nhưng số cổng của mạch tạo cờ nhớ sẽ tăng đáng kể nên bị hạn chế trên thực tế.

Mạch tạo cờ nhớ cho bộ cộng CLA 4-bit

Mạch cộng CLA 4-bit​
Như vậy, tuy độ trễ được giảm đáng kể nhưng sự tiêu tốn tài nguyên phần cứng làm cho bộ cộng CLA bị giới hạn. Trong thiết kế thực tế, để cân bằng giữa tài nguyên và độ trễ của mạch cộng có số lượng bit lớn theo đúng yêu cầu thiết kế, người thiết kế cần ghép tầng các bộ cộng CLA.

Bộ cộng 16-bit được tạo thành từ việc ghép tầng 4 bộ cộng CLA 4-bit​
Từ khóa :

1 nhận xét:

  1. cho hỏi nguyên lí hoạt động của mạch bán cộng (half adder) với ạ ?

    Trả lờiXóa