Ripple Carry Adder: Làm việc, các loại và ứng dụng của nó

Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề





Trong điện tử kỹ thuật số Có thể thêm các số nhị phân hai bit bằng cách sử dụng một nửa Adder . Và nếu chuỗi đầu vào có chuỗi ba bit, thì quá trình cộng có thể được hoàn thành bằng cách sử dụng một bộ cộng đầy đủ. Nhưng nếu số lượng bit nhiều hơn trong chuỗi đầu vào thì quá trình có thể được hoàn thành bằng cách sử dụng bộ cộng nửa. Bởi vì bộ cộng đầy đủ không thể hoàn thành hoạt động thêm. Vì vậy, những nhược điểm này có thể được khắc phục bằng cách sử dụng “Ripple Carry Adder”. Đó là một kiểu độc đáo của mạch logic được sử dụng để thêm các số N-bit trong các phép toán số. Bài viết này mô tả tổng quan về ripple-carry-adder là gì và hoạt động của nó.

Ripple Carry Adder là gì?

Một cấu trúc gồm nhiều bộ cộng đầy đủ được xếp tầng theo cách để đưa ra kết quả của việc cộng một chuỗi nhị phân n bit. Bộ cộng này bao gồm các bộ cộng đầy đủ xếp tầng trong cấu trúc của nó, do đó, phần mang sẽ được tạo ra ở mọi giai đoạn của bộ cộng đầy đủ trong một mạch bộ cộng gợn sóng. Đầu ra mang này ở mỗi giai đoạn của bộ cộng đầy đủ được chuyển tiếp đến bộ cộng đầy đủ tiếp theo của nó và ở đó được áp dụng như một đầu vào mang cho nó. Quá trình này tiếp tục cho đến giai đoạn cộng đầy đủ cuối cùng của nó. Vì vậy, mỗi bit đầu ra mang được gợn sóng đến giai đoạn tiếp theo của bộ cộng đầy đủ. Vì lý do này, nó được đặt tên là “THÊM SỮA RIPPLE”. Tính năng quan trọng nhất của nó là thêm các chuỗi bit đầu vào cho dù chuỗi là 4 bit hay 5 bit hoặc bất kỳ.




“Một trong những điểm quan trọng nhất cần được xem xét trong bộ cộng mang này là đầu ra cuối cùng chỉ được biết sau khi các đầu ra mang được tạo ra bởi mỗi giai đoạn của bộ cộng đầy đủ và được chuyển tiếp sang giai đoạn tiếp theo của nó. Vì vậy, sẽ có một độ trễ để có được kết quả khi sử dụng bộ cộng mang này ”.

Có nhiều loại khác nhau trong bộ cộng gợn sóng. Họ đang:



  • Bộ cộng 4 bit gợn sóng
  • Bộ cộng 8 bit gợn sóng
  • Bộ cộng 16 bit gợn sóng

Đầu tiên, chúng ta sẽ bắt đầu với bộ cộng 4 bit ripple-carry và sau đó là 8 bit và 16 bit ripple-carry adder.

Trình quảng cáo mang theo Ripple 4 bit

Biểu đồ dưới đây đại diện cho bộ cộng mang 4 bit gợn sóng. Trong bộ cộng này, bốn bộ cộng đầy đủ được kết nối theo tầng. Co là bit đầu vào mang và nó luôn bằng 0. Khi đầu vào này mang ‘Co’ được áp dụng cho hai chuỗi đầu vào A1 A2 A3 A4 và B1 B2 B3 B4 thì đầu ra được biểu diễn bằng S1 S2 S3 S4 và đầu ra mang C4.


Sơ đồ RCA 4 bit

Hoạt động của Ripple Carry Adder 4 bit

  • Hãy lấy ví dụ về hai chuỗi đầu vào 0101 và 1010. Chúng đại diện cho A4 A3 A2 A1 và B4 B3 B2 B1.
  • Theo khái niệm bộ cộng này, giá trị mang đầu vào là 0.
  • Khi Ao & Bo được áp dụng ở bộ cộng đầy đủ đầu tiên cùng với đầu vào mang 0.
  • Ở đây A1 = 1 B1 = 0 Cin = 0
  • Tổng (S1) và mang (C1) sẽ được tạo ra theo phương trình Tổng và Mang của bộ cộng này. Theo lý thuyết của nó, phương trình đầu ra cho Sum = A1⊕B1⊕Cin và Carry = A1B1⊕B1Cin⊕CinA1
  • Theo phương trình này, đối với bộ cộng đầy đủ thứ nhất S1 = 1 và đầu ra Thực hiện, tức là C1 = 0.
  • Tương tự như đối với các bit đầu vào tiếp theo A2 và B2, đầu ra S2 = 1 và C2 = 0. Ở đây điểm quan trọng là bộ cộng đầy đủ ở giai đoạn thứ hai nhận được giá trị đầu vào, tức là C1 là giá trị đầu ra của bộ cộng đầy đủ ở giai đoạn đầu.
  • Như vậy sẽ nhận được chuỗi đầu ra cuối cùng (S4 S3 S2 S1) = (1 1 1 1) và Đầu ra mang C4 = 0
  • Đây là quá trình bổ sung cho chuỗi đầu vào 4 bit khi nó được áp dụng cho bộ cộng mang này.

8-bit Ripple Carry Adder

  • Nó bao gồm 8 bộ cộng đầy đủ được kết nối dưới dạng xếp tầng.
  • Mỗi đầu ra mang đầy đủ của bộ cộng được kết nối như một đầu vào mang tới bộ cộng đầy đủ ở giai đoạn tiếp theo.
  • Các trình tự đầu vào được ký hiệu là (A1 A2 A3 A4 A5 A6 A7 A8) và (B1 B2 B3 B4 B5 B6 B7 B8) và trình tự đầu ra liên quan của nó được ký hiệu là (S1 S2 S3 S4 S5 S6 S7 S8).
  • Quá trình bổ sung trong bộ cộng 8 bit ripple-carry-cùng là nguyên tắc được sử dụng trong bộ cộng 4 bit ripple-carry-adder, tức là mỗi bit từ hai chuỗi đầu vào sẽ được thêm vào cùng với phần mang đầu vào.
  • Điều này sẽ sử dụng khi cộng hai chuỗi chữ số nhị phân 8 bit.
8bit-ripple-carry-adder

8bit-ripple-carry-adder

16-bit Ripple Carry Adder

  • Nó bao gồm 16 bộ cộng đầy đủ được kết nối dưới dạng xếp tầng.
  • Mỗi đầu ra mang đầy đủ của bộ cộng được kết nối như một đầu vào mang tới bộ cộng đầy đủ ở giai đoạn tiếp theo.
  • Các trình tự đầu vào được ký hiệu là (A1… .. A16) và (B1 …… B16) và trình tự đầu ra liên quan của nó được ký hiệu là (S1 …… .. S16).
  • Quá trình cộng trong bộ cộng 16 bit ripple-carry cũng giống như nguyên tắc được sử dụng trong bộ cộng 4 bit ripple-carry, tức là mỗi bit từ hai chuỗi đầu vào sẽ thêm vào cùng với phần mang đầu vào.
  • Điều này sẽ sử dụng khi cộng hai chuỗi chữ số nhị phân 16 bit.
16-bit-ripple-carry-adder

16-bit-ripple-carry-adder

Bảng sự thật của Ripple Carry Adder

Bảng sự thật bên dưới hiển thị các giá trị đầu ra cho các kết hợp có thể có của tất cả các đầu vào cho ripple-carry-adder.

A1 A2 A3 A4 B 4 B3 B2 B1 S4 S3 S2 S1

Mang

0

000000000000
010001001000

0

1

000100000001
101010100100

1

110011001000

1

111011101100

1

111111111110

1

Mã VHDL của Ripple Carry Adder

VHDL (VHSIC HDL) là ngôn ngữ mô tả phần cứng. Đó là một ngôn ngữ thiết kế kỹ thuật số. Mã VHDL cho bộ cộng mang này được hiển thị bên dưới.

thư viện IEEE
sử dụng IEEE.STD_LOGIC_1164.ALL

thực thể Ripplecarryadder là
Cổng (A: in STD_LOGIC_VECTOR (3 xuống 0)
B: trong STD_LOGIC_VECTOR (3 xuống 0)
Cin: trong STD_LOGIC
S: out STD_LOGIC_VECTOR (3 xuống 0)
Cout: hết STD_LOGIC)
kết thúc Ripplecarryadder

Kiến trúc Hành vi của Ripplecarryadder là - Khai báo thành phần mã VHDL đầy đủ của Adder
thành phần full_adder_vhdl_code
Cổng (A: in STD_LOGIC
B: trong STD_LOGIC
Cin: trong STD_LOGIC
S: out STD_LOGIC
Cout: hết STD_LOGIC)
thành phần cuối

- Khai báo Carry trung gian
Tín hiệu c1, c2, c3: STD_LOGIC

bắt đầu

- Bản đồ cổng đầy đủ Adder 4 lần
FA1: bản đồ cổng full_adder_vhdl_code (A (0), B (0), Cin, S (0), c1)
FA2: bản đồ cổng full_adder_vhdl_code (A (1), B (1), c1, S (1), c2)
FA3: bản đồ cổng full_adder_vhdl_code (A (2), B (2), c2, S (2), c3)
FA4: bản đồ cổng full_adder_vhdl_code (A (3), B (3), c3, S (3), Cout)

kết thúc Hành vi

Mã xác minh nhà quảng cáo Ripple Carry

Mã Verilog là một ngôn ngữ mô tả phần cứng. Nó được sử dụng trong các mạch kỹ thuật số ở giai đoạn RTL cho mục đích thiết kế và xác minh. Mã xác minh cho bộ cộng mang này được hiển thị bên dưới.

mô-đun ripple_carry_adder (a, b, cin, sum, cout)
đầu vào [03: 0] a
đầu vào [03: 0] b
đầu vào cin
đầu ra [03: 0] sum
đầu ra cout
dây [2: 0] c
fulladd a1 (a [0], b [0], cin, sum [0], c [0])
fulladd a2 (a [1], b [1], c [0], sum [1], c [1])
fulladd a3 (a [2], b [2], c [1], sum [2], c [2])
fulladd a4 (a [3], b [3], c [2], sum [3], cout)
endmodule
mô-đun fulladd (a, b, CIN, Tóm lại, cout)
đầu vào a, b, cin
tổng đầu ra, cout
gán sum = (a ^ b ^ cin)
gán cout = ((a & b) | (b & cin) | (a & cin))

Ứng dụng Ripple Carry Adder

Các ứng dụng ripple-carry-adder bao gồm những điều sau đây.

  • Các bộ cộng mang này được sử dụng chủ yếu ngoài các chuỗi đầu vào n-bit.
  • Các bộ cộng mang này có thể áp dụng trong xử lý tín hiệu kỹ thuật số và bộ vi xử lý .

Ưu điểm của Ripple Carry Adder

Các lợi thế của ripple-carry-adder bao gồm những điều sau đây.

  • Bộ cộng mang này có một ưu điểm là chúng ta có thể thực hiện quá trình cộng cho chuỗi n-bit để có được kết quả chính xác.
  • Việc thiết kế bộ cộng này không phải là một quá trình phức tạp.

Ripple carry adder là một lựa chọn thay thế khi bộ cộng một nửa và bộ cộng đầy đủ không thực hiện thao tác cộng khi chuỗi bit đầu vào lớn. Nhưng ở đây, nó sẽ cung cấp đầu ra cho bất kỳ chuỗi bit đầu vào nào với một số độ trễ. Theo các mạch kỹ thuật số nếu mạch cho đầu ra có độ trễ sẽ không được ưu tiên. Điều này có thể được khắc phục bằng một mạch bổ trợ nhìn trước.