Overview

An Arithmetic Logic Unit (ALU) is the computational core of a computer processor, executing arithmetic operations (addition, subtraction, multiplication, division) and logical operations (AND, OR, shifts, comparisons). Operating as a combinational network governed by control signals, the ALU routes inputs through specialized datapath blocks to compute results and generate status flags (, , ).


Submodule Notes

  • Mux & Demux
    Transmission Gate switches, Tristate buffers, shared busses ( state), Multiplexers, general-purpose logic generation via Muxes, and Demultiplexers.

  • Encoder & Decoder
    Binary Encoders, Active flags (), -to- One-Hot Decoders, enable gating (), logic minterm equations, and memory address decoding applications.

  • Adders & Subtractors
    1-bit Half/Full Adders, Ripple-Carry Adders (), Carry-Lookahead Adders ( logic), Two’s Complement subtraction, overflow detection, and unified Adder-Subtractor circuits.

  • Comparator
    Bitwise XNOR Equality Comparators, subtraction-based magnitude comparison, Less-Than Comparators (), and deriving all six relational operators ().

  • Shifters
    Logical Shifters (), Arithmetic Shifters (), Rotators (), and Mux-based logarithmic Barrel Shifters for multi-bit shifting.

  • Multiplier & Divider
    Partial product generation, combinational Array Multipliers (AND arrays + Full Adder grids), and iterative repeated subtraction division algorithms.

  • Arithmetic Logic Unit Integration
    Building 1-bit ALU primitives (AND, OR, Full Adder, Mux) and cascading them into modular 32-bit CPU ALUs governed by central ALUop control signals.