ABSTRACT

This chapter provides techniques for designing different types of adders, subtractors, multipliers, and dividers using Verilog hardware description language. The number representations that will be used are fixed-point, binary-coded decimal and floating-point. A ripple-carry adder is not considered a high-speed adder, but requires less logic than a high-speed adder using the carry lookahead technique. The carry lookahead method expresses the carry-out of any stage as a function of ai and bi and the carry-in cin to the low-order stage. A 4-bit subtractor will be designed using built-in primitives and instantiated full adders. Arithmetic and logic units perform the arithmetic operations of addition, subtraction, multiplication, and division in fixed-point, decimal, and floating-point number representations. They also perform the logical operations of AND, OR, complementation, exclusive-OR, and exclusive-NOR. In floating-point multiplication, the fractions are multiplied and the exponents are added. The fractions are multiplied by any of the methods previously used in fixed-point multiplication.