"Computer Arithmetic: Principles, Architectures, and VLSI Design" R. Zimmermann Contents -------- Introduction and Conventions Outline Motivation Conventions Recursive Function Evaluation Arithmetic Operations Overview Implementation Techniques Number Representations Binary Number Systems (BNS) Gray Numbers Redundant Number Systems Residue Number Systems (RNS) Floating-Point Numbers Logarithmic Number System Antitetrational Number System Composite Arithmetic Round-Off Schemes Addition Overview 1-Bit Adders, (m,k)-Counters Carry-Propagate Adders (CPA) Carry-Save Adder (CSA) Multi-Operand Adders Sequential Adders Simple / Addition-Based Operations Complement and Subtraction Increment / Decrement Counting Comparison, Coding, Detection Shift, Extension, Saturation Addition Flags Arithmetic Logic Unit (ALU) Multiplication Multiplication Basics Unsigned Array Multiplier Signed Array Multipliers Booth Recoding Wallace Tree Addition Multiplier Implementations Composition from Smaller Multipliers Squaring Division / Square Root Extraction Division Basics Restoring Division Non-Restoring Division Signed Division SRT Division High-Radix Division Division by Multiplication Remainder / Modulus Divider Implementations Square Root Extraction Elementary Functions Algorithms Integer Exponentiation Integer Logarithm VLSI Design Aspects Design Levels Synthesis VHDL Performance Testability Bibliography