Team Members: Darin Jeff, Aanal Sonara, Madhav Vadlamani, Param Rathour
- Here is the final code for the ALU project with the different components brought together.
- To run this on your own machines, create a project named ALU and download these files into the project folder.
| ALU Schematic.png |
![]() |
Inputs: 2 16-bit numbers in 2’s complement form (A, B), Control bits (S0, S1)
- Signed Addition (control input S1S0 = 00)
- Subtraction (Control input S1S0 = 01)
- NAND operation (control input S1S0 = 10)
- XOR operation (control input S1S0 = 11)
Outputs: 1 16-bit number (R), 1 carry bit (C), 1 zero bit (Z)
Note: For arithmetic operations; we used Kogge Stone Adder
The result is 17-bit in 2’s complement form (with carry bit as MSB concatenated by result bits (R))
| Output Waveforms |
![]() |
| Decoder2to4 |
![]() |
| PrefixAdder |
![]() |
| Subtractor |
![]() |
| NAND 16 |
![]() |
| XOR 16 |
![]() |
| BigOR |
![]() |







