ABSTRACT

This chapter covers arithmetic, logical and special function programming techniques. Arithmetic and logical operations, trigonometric function computations, signed/unsigned serial/parallel adders/subtractors, multipliers, dividers, MAC units, ALUs, ROM, programmable logic arrays (PLAs), programmable array logic (PAL) and programmable logic devices (PLDs) are the main modules in this chapter. The design and configuration of signed and unsigned serial and parallel adders and subtractors are presented with different design approaches and examples. The significance of introducing pipelining in the design of parallel adders and subtractors is explained, with different design examples. Classical methods of performing multiplication, and some other methods, such as the shift add and fast array multiplication (FAM) methods, of implementing multiplication are also presented, with design methodologies and examples. Design of the digital architecture for implementing signed and unsigned division algorithms is described. The algorithm for implementing trigonometric values such as “SIN” and “COS” functions using the COordinate Rotation DIgital Computer (CORDIC) algorithm is presented, with associated mathematical expressions and digital architectures. The significance and applications of MAC and ALU units and their design architectures are described, with examples. The working principles of ROM, PLA, PAL and PLD and implementation of combinational and sequential functions using them are presented, with several design examples.