Thiết kế Mạch cộng 4 bit full adder
Trong mạch số, một bộ cộng-trừ nhị phân có khả năng thực hiện cả phép cộng và phép trừ các số nhị phân trong một mạch. Phép toán được thực hiện tùy thuộc vào giá trị nhị phân mà tín hiệu điều khiển giữ. Nó là một trong những thành phần của ALU (Arithmetic Logic Unit).
Mạch này đòi hỏi kiến thức tiên quyết về cổng Exor, phép cộng và trừ nhị phân, và bộ cộng đầy đủ.
Hãy xem xét hai số nhị phân 4 bit A và B làm đầu vào cho mạch số để thực hiện phép toán với các chữ số
A0 A1 A2 A3 cho A
B0 B1 B2 B3 cho B
Mạch bao gồm 4 bộ cộng đầy đủ vì chúng ta đang thực hiện các phép toán trên các số 4 bit. Có một đường điều khiển K giữ giá trị nhị phân là 0 hoặc 1, xác định phép toán được thực hiện là phép cộng hay phép trừ.
Chi tiết mạch cộng nhị phân 2 số 4 bit
Như trong hình, bộ cộng đầy đủ đầu tiên có đường điều khiển trực tiếp làm đầu vào (nhập vào Cin), đầu vào A0 (bit ít quan trọng nhất của A) được đưa trực tiếp vào bộ cộng đầy đủ. Đầu vào thứ ba là exor của B0 và K. Hai đầu ra được tạo ra là Tổng/Hiệu (S0) và Nhớ (C0).
Nếu giá trị của K (đường điều khiển) là 1, đầu ra của B0(exor)K=B0′(bù B0). Do đó, phép toán sẽ là A+(B0′). Bây giờ phép trừ bù 2 cho hai số A và B được cho bởi A+B’+Cin. Điều này cho thấy rằng khi K=1, phép toán được thực hiện trên các số 4 bit là phép trừ.
Tương tự, nếu giá trị của K=0, B0 (exor) K=B0. Phép toán là A+B, đó là phép cộng nhị phân đơn giản. Điều này cho thấy rằng khi K=0, phép toán được thực hiện trên các số 4 bit là phép cộng.
Sau đó, C0 được truyền nối tiếp đến bộ cộng đầy đủ thứ hai như một trong các đầu ra của nó. Tổng/hiệu S0 được ghi lại là bit ít quan trọng nhất của tổng/hiệu. A1, A2, A3 là các đầu vào trực tiếp cho bộ cộng đầy đủ thứ hai, thứ ba và thứ tư. Sau đó, đầu vào thứ ba là B1, B2, B3 EXOR với K tương ứng với bộ cộng đầy đủ thứ hai, thứ ba và thứ tư. Các giá trị nhớ C1, C2 được truyền nối tiếp đến bộ cộng đầy đủ kế tiếp như một trong các đầu vào. C3 trở thành tổng số nhớ cho tổng/hiệu. S1, S2, S3 được ghi lại để tạo thành kết quả với S0.
Đối với một bộ cộng-trừ nhị phân n bit, chúng ta sử dụng n bộ cộng đầy đủ.
Ví dụ về Mạch cộng 4 bit full adder
Ví dụ:
Giả sử chúng ta có hai số 3 bit, tức là X=100 và Y=011, và đưa chúng vào bộ cộng đầy đủ làm đầu vào :
X0 = 0 X1 = 0 X2 = 1 Y0 = 1 Y1 = 1 & Y2 = 0 For K=0: Y0⨁K=Y0 and Cin=K=0 So, from first Full-Adder S0 = X0+Y0+Cin S0= 0+1+0 S0=1 C0=0 Similarly, S1 = X1+Y1+C0 S1 = 0+1+0 S1=1 and C1=0 Similarly, S2 = X2+Y2+C1 S2 = 1+0+0 S2=1 and C2=0 Thus, X= 100 =4 Y = 011 = 3 Sum = 0111 = 7 For K=1 Y0⨁K=Y0' and Cin=k=1 So, S0 = X0+Y0'+Cin S0 = 0+0+1 S0=1 and C0=0 Similarly, S1 = X1+Y1'+C0 S1 = 0+0+0 S1=0 and C1=0 Similarly, S2 = X2+Y2'+C1 S2 = 1+1+0 S2=0 and C2=0 Thus, X = 010 = 4 Y = 011 = 3 Difference = 001 = 1