Binary Adders: Half Adders and Full Adders



Similar documents
Let s put together a Manual Processor

Understanding Logic Design

COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012

Two's Complement Adder/Subtractor Lab L03

1. True or False? A voltage level in the range 0 to 2 volts is interpreted as a binary 1.

Useful Number Systems

Counters and Decoders

Computer Science 281 Binary and Hexadecimal Review

Basic Logic Gates Richard E. Haskell

Gates, Circuits, and Boolean Algebra

Flip-Flops, Registers, Counters, and a Simple Processor

Logic in Computer Science: Logic Gates

BINARY CODED DECIMAL: B.C.D.

FORDHAM UNIVERSITY CISC Dept. of Computer and Info. Science Spring, Lab 2. The Full-Adder

Oct: 50 8 = 6 (r = 2) 6 8 = 0 (r = 6) Writing the remainders in reverse order we get: (50) 10 = (62) 8

DEPARTMENT OF INFORMATION TECHNLOGY

(Refer Slide Time: 00:01:16 min)

exclusive-or and Binary Adder R eouven Elbaz reouven@uwaterloo.ca Office room: DC3576

Digital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng

Lecture 2. Binary and Hexadecimal Numbers

COMBINATIONAL CIRCUITS

Binary Division. Decimal Division. Hardware for Binary Division. Simple 16-bit Divider Circuit

Digital System Design Prof. D Roychoudhry Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Fractions to decimals

3.Basic Gate Combinations

Take-Home Exercise. z y x. Erik Jonsson School of Engineering and Computer Science. The University of Texas at Dallas

CSE140 Homework #7 - Solution

Today. Binary addition Representing negative numbers. Andrew H. Fagg: Embedded Real- Time Systems: Binary Arithmetic

United States Naval Academy Electrical and Computer Engineering Department. EC262 Exam 1

Today s topics. Digital Computers. More on binary. Binary Digits (Bits)

Lecture 8: Synchronous Digital Systems

Pre-Algebra Lecture 6

Systems I: Computer Organization and Architecture

26 Integers: Multiplication, Division, and Order

CSI 333 Lecture 1 Number Systems

Binary Numbers. Binary Octal Hexadecimal

Lecture 4: Binary. CS442: Great Insights in Computer Science Michael L. Littman, Spring I-Before-E, Continued

Sistemas Digitais I LESI - 2º ano

2x + y = 3. Since the second equation is precisely the same as the first equation, it is enough to find x and y satisfying the system

Combinational Logic Design

To convert an arbitrary power of 2 into its English equivalent, remember the rules of exponential arithmetic:

Lecture 12: More on Registers, Multiplexers, Decoders, Comparators and Wot- Nots

DB19. 4-Bit Parallel Adder/ Subtractor. Digital Lab Experiment Board Ver. 1.0

Playing with Numbers

Circuits and Boolean Expressions

The string of digits in the binary number system represents the quantity

Base Conversion written by Cathy Saxton

Activity 1: Using base ten blocks to model operations on decimals

Lab 1: Full Adder 0.0

Basic numerical skills: FRACTIONS, DECIMALS, PROPORTIONS, RATIOS AND PERCENTAGES

Systems I: Computer Organization and Architecture

Binary Representation. Number Systems. Base 10, Base 2, Base 16. Positional Notation. Conversion of Any Base to Decimal.

A single register, called the accumulator, stores the. operand before the operation, and stores the result. Add y # add y from memory to the acc

Karnaugh Maps. Circuit-wise, this leads to a minimal two-level implementation

FORDHAM UNIVERSITY CISC Dept. of Computer and Info. Science Spring, The Binary Adder

Preliminary Mathematics

Tom wants to find two real numbers, a and b, that have a sum of 10 and have a product of 10. He makes this table.

NUMBER SYSTEMS. William Stallings

2.6 Exponents and Order of Operations

Digital Design. Assoc. Prof. Dr. Berna Örs Yalçın

Lecture #21 April 2, 2004 Relays and Adder/Subtractors

=

Digital Electronics Detailed Outline

EXPERIMENT 4. Parallel Adders, Subtractors, and Complementors

8 Primes and Modular Arithmetic

Gates, Plexers, Decoders, Registers, Addition and Comparison

BOOLEAN ALGEBRA & LOGIC GATES

Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products

CHAPTER 3 Boolean Algebra and Digital Logic

Figure 8-1 Four Possible Results of Adding Two Bits

Logic Reference Guide

EE 261 Introduction to Logic Circuits. Module #2 Number Systems

Adder.PPT(10/1/2009) 5.1. Lecture 13. Adder Circuits

5.4 Solving Percent Problems Using the Percent Equation

CS101 Lecture 11: Number Systems and Binary Numbers. Aaron Stevens 14 February 2011

3 Some Integer Functions

Chapter 4 Register Transfer and Microoperations. Section 4.1 Register Transfer Language

MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.

CSEE 3827: Fundamentals of Computer Systems. Standard Forms and Simplification with Karnaugh Maps

CHAPTER 2. Logic. 1. Logic Definitions. Notation: Variables are used to represent propositions. The most common variables used are p, q, and r.

a 11 x 1 + a 12 x a 1n x n = b 1 a 21 x 1 + a 22 x a 2n x n = b 2.

Welcome to Basic Math Skills!

6.4 Normal Distribution

This Unit: Floating Point Arithmetic. CIS 371 Computer Organization and Design. Readings. Floating Point (FP) Numbers

MEP Y9 Practice Book A

Experiment # 9. Clock generator circuits & Counters. Eng. Waleed Y. Mousa

A Short Guide to Significant Figures

Karnaugh Maps & Combinational Logic Design. ECE 152A Winter 2012

YOU MUST BE ABLE TO DO THE FOLLOWING PROBLEMS WITHOUT A CALCULATOR!

TCP/IP Cheat Sheet. A Free Study Guide by Boson Software, LLC

Section 1.4 Place Value Systems of Numeration in Other Bases

Grade 6 Math Circles. Binary and Beyond

CS 61C: Great Ideas in Computer Architecture Finite State Machines. Machine Interpreta4on

1. Give the 16 bit signed (twos complement) representation of the following decimal numbers, and convert to hexadecimal:

Independent samples t-test. Dr. Tom Pierce Radford University

The Mathematics 11 Competency Test Percent Increase or Decrease

Module 3: Floyd, Digital Fundamental

Row Echelon Form and Reduced Row Echelon Form

Levent EREN A-306 Office Phone: INTRODUCTION TO DIGITAL LOGIC

Transcription:

Binary Adders: Half Adders and Full Adders In this set of slides, we present the two basic types of adders: 1. Half adders, and 2. Full adders. Each type of adder functions to add two binary bits. In order to understand the functioning of either of these circuits, we must speak of arithmetic in terms that I learned in the second grade. In the first grade, I learned by plus tables, specifically the sum of adding any two one digit numbers: 2 + 2 = 4, 2 + 3 = 5, etc. In the second grade, I learned how to add numbers that had more than one digit each: 23 + 34 = 57, but 23 + 38 = 61. This adaptation of addition to multiple digit numbers gives rise to the full adder. Slide 1 of 20 slides September 4, 2010

Some Sample Sums, with Comments We begin with two simple sums, each involving only single digits. 2 + 2 = 4, and 5 + 5 = 10. If these are so, why do we write the following sum 25 + 25 as 25 + 25 = 50, and not as 25 + 25 = 4 10? What digit is written in the unit s column of the sum? The reason that we do not do this is the idea of a carry from the unit s column to the ten s column. In the language of the second grade, we describe the addition as follows: 1. 5 + 5 is 0, with a carry out of 1, which goes into the ten s column. 2. 2 + 2 is 4, but we have a carry in of 1 from the unit s column, so we say 2 + 2 + 1 = 5. The sum digit in this column is a 5. Slide 2 of 20 slides September 4, 2010

Positional Notation in Arithmetic In standard decimal arithmetic, the number 25 is read as twenty five, and represents 2 10 + 5 1: two tens plus five ones. Remember that the only digits used in binary numbers are 0 and 1. In binary arithmetic, the number 10 is read as one zero, avoiding the names we use for decimal numbers. It represents 1 2 + 0 1. In binary arithmetic, the number 101 represents 1 2 2 + 0 2 1 + 1 1, or 1 4 + 0 2 + 1 1 = 4 + 1 = 5. In all arithmetics: 0 + 0 = 0, 0 + 1 = 1, and 1 + 0 = 1. In decimal arithmetic: 1 + 1 = 2. In binary arithmetic what is 1 + 1? Slide 3 of 20 slides September 4, 2010

The Sum 1 + 1 in Binary Arithmetic We have just noted that the decimal number 2 is represented in binary as 10. It must be the case that, in binary addition, we have the sum as 1 + 1 = 10 This reads as the addition 1 + 1 results in a sum of 0 and a carry out of 1. Recall the decimal sum 25 + 25. 1 2 5 2 5 5 0 The 1 written above the numbers in the ten s column shows the carry out from the unit s column as a carry in to the ten s column. Slide 4 of 20 slides September 4, 2010

Slide 5 of 20 slides September 4, 2010

The Half Adder The half adder takes two single bit binary numbers and produces a sum and a carry out, called carry. Here is the truth table description of a half adder. We denote the sum A + B. A B Sum Carry 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Written as a standard sum, the last row represents the following: 01 + 01 10 Slide 6 of 20 slides September 4, 2010

The sum column indicates the number to be written in the unit s column, immediately below the two 1 s. We write a 0 and carry a 1. Slide 7 of 20 slides September 4, 2010

The Half Adder and the Full Adder In all arithmetics, including binary and decimal, the half adder represents what we do for the unit s column when we add integers. There is no possibility of a carry in for the unit s column, so we do not design for such. Another way is to say that there is a carry in; it is always 0. The full adder in decimal arithmetic would be used for the other columns: the ten s column, the hundred s column, and so on. For these columns, a non zero carry in is a distinct possibility Considered this way, we might write our sums table as follows. 2 + 2 = 4, if the carry in is 0, and 2 + 2 = 5, when the carry in is 1. Admittedly, the complexities of decimal arithmetic suggest another way, just add the values as three numbers, here 2 + 2 + 1 = 5. Slide 8 of 20 slides September 4, 2010

Implementing the Half Adder Here again is the truth table for the half adder. A B Sum Carry 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 We need equations for each of the Sum and Carry. Because we have used a truth table to specify these functions, we consider Boolean expressions. Note that the carry is the logical AND of the two inputs: Carry = A B. The sum can be given in two equivalent expressions. The simplest expression uses the exclusive OR function: Sum = A B. An equivalent expression in terms of the basic AND, OR, and NOT is: Slide 9 of 20 slides September 4, 2010

Circuits for the Half Adder Here are two slightly different circuit implementations of the half adder. The circuit on the left implements the sum function as Sum = A B. The circuit on the right implements the sum function as Slide 10 of 20 slides September 4, 2010

Implementing the Full Adder Here we show the truth table for the sum of A and B, with carry in of C. A B C Sum Carry 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 To read this as decimal, pretend that the Sum is Sum_Bit and read as the Decimal_Sum = Carry 2 + Sum_Bit. Slide 11 of 20 slides September 4, 2010

So 1 + 1 + 0 = 1 2 + 0 = 2 (decimal), and 1 + 1 + 1 = 1 2 + 1 = 3 (decimal). One Circuit for the Full Adder Here is the traditional AND/OR/NOT circuitry for the full adder. Slide 12 of 20 slides September 4, 2010

The Full Adder with C = 0 Slide 13 of 20 slides September 4, 2010

The circuit above implements the following two expressions, where C is the carry in to the full adder. Sum = A B C + A B C + A B C + A B C Carry = A B + A C + B C Suppose we let the carry in C = 0. Then C = 1. What we have then is as follows. Sum Carry = A B 0 + A B 1 + A B 1 + A B 0 = A B + A B = A B + A 0 + B 0 = A B As expected, a full adder with carry in set to zero acts like a half adder. Slide 14 of 20 slides September 4, 2010

The Full Adder and Half Adder as Circuit Elements When we build circuits with full adders or half adders, it is important to focus on the functionality and not on the implementation details. For this reason, we denote each circuit as a simple box with inputs and outputs. The figure on the left depicts a full adder with carry in as an input. The figure on the right depicts a half adder with no carry in as input. The figure in the middle depicts a full adder acting as a half adder. Slide 15 of 20 slides September 4, 2010

A Four Bit Full Adder Here is a depiction of a four bit full adder to add two binary numbers, depicted as A 3 A 2 A 1 A 0 and B 3 B 2 B 1 B 0. Note that the carry out from the unit s stage is carried into the two s stage. In general, the carry is propagated from right to left, in the same manner as we see in manual decimal addition. This is called a ripple carry adder. Here is an example of its output. The 4 bit sum is truncated to 1001. 1110 + 1011 11001 Slide 16 of 20 slides September 4, 2010

Note that the unit s adder is implemented using a full adder. Propagating the Carry Bits Just as in standard arithmetic, when done by hand, the carry of one stage is propagated as a carry in to the next higher stage. Slide 17 of 20 slides September 4, 2010

Addition and Subtraction In order to convert a ripple carry adder into a subtractor, we employ the standard algebra trick: A B is the same as A + ( B). In order to subtract B from A, it is necessary to negate B to produce B, and then to add that number to A. We now have to develop a circuit that will negate a binary value. In order to do this, we must stipulate the method used to represent signed integers. As in earlier lecture, we use two s complement notation. In this method, in order to negate a binary integer, it is necessary to produce the two s complement of that value. 1. First, take the one s complement of the binary integer, and then 2. Add 1 to that value. We have to develop a circuit to create the one s complement of a binary integer. We shall develop two circuits to do this. Slide 18 of 20 slides September 4, 2010

The One s Complement of a Binary Integer In order to take the one s complement of an integer in binary form, just change every 0 to a 1, and every 1 to a 0. Here are some examples. Original value 0110 0111 1010 0011 One s complement 1001 1000 0101 1100 The circuit that does this conversion is the NOT gate. The circuit below would be used for four bit integers. If the input is B 3 B 2 B 1 B 0 = 0110, the output is Y 3 Y 2 Y 1 Y 0 = 1001. This circuit can be extended to any number of bits required. Slide 19 of 20 slides September 4, 2010

The XOR Gate as a NOT Gate In order to make an adder/subtractor, it is necessary to use a gate that can either pass the value through or generate its one s complement. The exclusive OR gate, XOR, is exactly what we need. This is controlled by a single binary signal: Neg. Slide 20 of 20 slides September 4, 2010

Let B = 1011. If Neg = 0, then Y = 1011. If Neg = 1, then Y = 0100. Some Notation for Bit Wise Operations Taking the one s complement of a binary integer involves taking the one s complement of each of its bits. We use the NOT notation to denote the one s complement of the entire integer. If B = B 3 B 2 B 1 B 0 is a four bit binary number, its one s complement is. Remember that to get the two s complement, one takes the one s complement and adds one. In two s complement arithmetic we have:. This suggests the use of an adder to produce the negative. For B = B 3 B 2 B 1 B 0, we take the one s complement to start the negation process. The addition of 1, necessary to take the two s complement, is achieved by setting the carry in of the unit s full adder to 1. This is the reason for using a full adder in the unit s position. We can alternate between an adder and subtractor. More on this a bit later. Slide 21 of 20 slides September 4, 2010

The Negator Circuit Here is the circuit to produce the negative of a 4 bit number B = B 3 B 2 B 1 B 0. If Neg = 0, then the XOR gates pass the values B 3 B 2 B 1 B 0 unchanged and the ripple carry adder adds 0 to that. The result is Y = B. If Neg = 1, then the XOR gates cause the one s complement of B = B 3 B 2 B 1 B 0 to be computed. Note that the carry in of the full adder is set to 1, so that it adds 1 to the one s complement, thus producing the negative: Y = B. Slide 22 of 20 slides September 4, 2010

The Full Adder/Subtractor We now have the circuit that either adds or subtracts. This is a 4 bit circuit that produces either (A + B) or (A B). This notation is used for a two valued control signal. When the value is 0, the circuit is to add, when it is 1 the circuit is to subtract. This adder/subtractor can be extended to any number of binary bits. Slide 23 of 20 slides September 4, 2010