Page 364 - Engineering Digital Design
P. 364

CHAPTER 8








                  Arithmetic Devices

                  and Arithmetic Logic Units (ALUs)








                  8.1  INTRODUCTION

                  In this chapter digital circuits will be designed with electrical capabilities that can be
                  interpreted as performing the basic arithmetic operations of binary numbers. The basic
                  operations include

                    • Addition
                    • Subtraction
                    • Multiplication
                    • Division

                  Now, Boolean equations are uniquely defined so as to perform specific arithmetic operations,
                  and the 1's and O's, which have previously been used only as logic levels, must take on a
                  numerical significance. The reader must keep in mind that an arithmetic circuit is only the
                  electrical analog of the arithmetic operation it represents. In fact, it is the interpretation of
                  the electrical circuit's behavior that bridges the gap between physical and logic domains.
                    The treatment of arithmetic circuits presented in this text is not intended to be a treatise
                  on the subject. Rather, the intent is to introduce the subjects at both the beginning and
                  intermediate-to-advanced levels utilizing, where necessary, appropriate algorithms for the
                  basic operations in question. The subjects of arithmetic logic units (ALUs) and the applica-
                  tion of dual-rail methods, which are covered in later sections, fall within the intermediate-
                  to-advanced level of coverage and may not be expected to be part of a first-level course in
                  digital design.


                  8.2  BINARY ADDERS

                  Because of the nature of binary and the requirements for arithmetic manipulation, ap-
                  proaches to basic adder design vary considerably depending on the form the manipulation
                  takes. There are ripple-carry adders, carry-save, carry select, and carry-look-ahead adders,

                                                                                      335
   359   360   361   362   363   364   365   366   367   368   369