The "Ripple Carry Adder 8 bit" project adds two 8-bit numbers together using a ripple carry adder (RCA) architecture. This is implemented using a series of full adders, each of which adds two bits along with a carry-in from the previous less significant bit. The result is an 8-bit sum and a carry-out bit for the most significant bit.
The project consists of the following modules:
halfadder
: A simple module that computes the sum and carry-out of two 1-bit inputs.fulladder
: A module that uses two halfadder
instances to add three 1-bit inputs (two bits and a carry-in) and produces a sum and carry-out.rca8
: An 8-bit ripple carry adder module that cascades eight fulladder
instances to add two 8-bit numbers.tt_um_example
: The top module that connects the inputs and outputs to the rca8
module, performing the addition operation and providing the result through the output pins.The tt_um_example
module takes two 8-bit inputs (ui_in
and uio_in
), adds them using the rca8
module, and outputs the 8-bit sum (uo_out
).
To test the "Ripple Carry Adder 8 bit" project:
ui_in
and uio_in
pins.uo_out
pins.For example, if you input the binary numbers 00001101
(13 in decimal) and 00000111
(7 in decimal) on ui_in
and uio_in
respectively, the output on uo_out
should be 00010010
(20 in decimal).
No external hardware is required for this project. It operates purely based on the digital inputs provided and generates a digital output. However, for testing and demonstration purposes, you may use input switches and output LEDs or a similar setup to visualize the input and output binary numbers.
# | Input | Output | Bidirectional |
---|---|---|---|
0 | A0 | OUT0 | B0 |
1 | A1 | OUT1 | B1 |
2 | A2 | OUT2 | B2 |
3 | A3 | OUT3 | B3 |
4 | A4 | OUT4 | B4 |
5 | A5 | OUT5 | B5 |
6 | A6 | OUT6 | B6 |
7 | A7 | OUT7 | B7 |