Arithmetic Functions and Circuits

Total Page:16

File Type:pdf, Size:1020Kb

Arithmetic Functions and Circuits Chapter 5 Arithmetic Functions and Circuits J.J. Shann Arithmetic ckt: — a combinational ckt that performs arithmetic ops w/ binary numbers or w/ decimal numbers in a binary code ¾ E.g.: addition, subtraction, multiplication, and division Develop arithmetic ckts by means of hierarchical, iterative design J.J. Shann 5-2 Chapter Overview 5-1 Iterative Combinational Circuits 5-2 Binary Adders 5-3 Binary Subtraction 5-4 Binary Adder-Subtractors 5-5 Binary Multiplication 5-6 Other Arithmetic Functions 5-7 HDL Representations – VHDL (×) 5-8 HDL Representations – Verilog (×) 5-9 Chapter Summary J.J. Shann 5-3 5-1 Iterative Combinational Circuits Arithmetic block: — is typically designed to operate on binary input vectors and produce binary output vectors. — The function implemented often requires that the same subfunction be applied to each bit position. ⇒ A function block can be designed for the subfunction and then used repetitively for each bit positions of the overall arithmetic block. cell: a subfunction block — the overall implementation is an array of cell → iterative array J.J. Shann 5-4 Iterative array Iterative array: — a special case of hierarchical ckts — is useful in handling vectors of bits — has the repetitive nature of the ckt & the association of a vector index w/ each of the ckt cells. — The cell in the array are often, but not always, identical. — E.g.: Block diagram of an iterative ckt J.J. Shann 5-5 5-2 Binary Adders Half adder: add 2 bits Full adder: add 2 input bits and a carry-in bit Binary ripple carry adder: add two n-bit binary numbers Carry-lookahead adder J.J. Shann 5-6 A. Half Adder Half adder (HA): adds 2 bits <Design Procedure> Step 1: Specification The basic rule for binary addition: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 1 0 Input variables: 2; augend and addend bits; X, Y Output variables: 2; sum and carry bits; S, C J.J. Shann 5-7 Step2: Formulation Step 3: Optimization S = x′y + xy′ = x ⊕ y C = xy Step 4: Technology mapping J.J. Shann 5-8 B. Full Adder Full adder (FA): add 3 bits <Design Procedure> Step 1 Input variables: 3; 2 significant bits X, Y & a carry-in bit Z Output variables: 2; sum and carry bits S, C Step 2 J.J. Shann 5-9 Step3 Step 4 J.J. Shann 5-10 C. Binary Ripple Carry Adder Parallel adder: — a digital ckt that produces the arithmetic sum of 2 binary numbers using only combinational logic — uses n full adders in parallel, w/ all input bits applied simultaneously to produce the sum — Design method: hierarchical, iterative design J.J. Shann 5-11 Binary addition: — E.g.: 1011 + 0011 ¾ Truth table: 9 inputs; 2 4-bit numbers & a carry-in bit ⇒ 512 entries (impractical) J.J. Shann 5-12 Implementation of binary ripple carry adder: — The FAs are connected in cascade, w/ the carry output from one FA connected to the carry input of the next FA. — E.g.: 4-bit adder Si = Ai ⊕ Bi ⊕ Ci C = A B + C (A ⊕ B ) i+1 i i i i i J.J. Shann 5-13 Carry Propagation Propagation time of a combinational ckt: (the propagation delay of a typical gate) × (the # of gate levels in the ckt) Propagation time of the binary adder: — the time it takes the carry to propagate through the full adders: 2n + 2 gate delays, n: # of bits of the input numbers ¾ Assumption: delay of XOR gate = 2 J.J. Shann 5-14 J.J. Shann 5-15 Methods of Speeding Addition Method 1: — employ faster gates w/ reduced delays Method 2: — increase the equipment complexity to reduce the carry delay time — most widely used technique: carry lookahead J.J. Shann 5-16 D. Carry Lookahead Adder Ripple carry adder (RCA): — simple — has a long ckt delay in the carry path from LSB to MSB Carry lookahead adder (CLA): — reduce delay at the price of more complex hardware J.J. Shann 5-17 Carry Lookahead Full adder: Si = Ai ⊕ Bi ⊕ Ci Ci+1 = Ai Bi + Ci(Ai ⊕ Bi) Carry lookahead: — Define 2 new binary variables: Pi = Ai ⊕ Bi … carry propagate function propagate the carry from Ci to C i+1 Gi = Ai Bi … carry generate function produce an output carry regardless of the input carry ⇒ Si = Pi ⊕ Ci Ci+1 = Gi + PiCi J.J. Shann 5-18 Ci+1 = Gi + PiCi , C0 = input carry ⇓ C1 = G0 + P0C0 C2 = G1 + P1C1 = G1 + P1(G0 + P0C0) = G1 + P1G0 + P1P0C0 C3 = G2 + P2C2 = G2 + P2G1 + P2P1G0 + P2P1P0C0 C = ? 4 = G3 + P3C3 = G +P G + P P G + P P P G + P P P P C 3 3 2 3 2 1 3 2 1 0 3 2 1 0 0 J.J. Shann 5-19 E.g.: 3-bit carry lookahead generator C1 = G0 + P0C0 C2 = G1 + P1G0 + P1P0C0 C3 = G2 + P2G1 + P2P1G0 + P2P1P0C0 J.J. Shann 5-20 E.g.: 4-bit adder Ripple carry Carry lookahead * Propagation delay = 6 J.J. Shann 5-21 CLA Expansion Use the same method: single level CLA Ci+1 = Gi + PiCi , C0 = input carry ⇓ C1 = G0 + P0C0 C2 = G1 + P1G0 + P1P0C0 C3 = G2 + P2G1 + P2P1G0 + P2P1P0C0 C4 = G3+P3G2 + P3P2G1 + P3P2P1G0 + P3P2P1P0C0 ⇒ max fan-in = 5 … ⇒ excessive fan-in Multi-level CLA J.J. Shann 5-22 Multi-Level CLA 4-bit groups: — Purpose: reuse the carry lookahead ckt for each group of 4 bits and for 4 4-bit groups as if they were individual bits. ⇒ produce the carries in positions 4, 8, and 12 as fast as possible w/o using excessive fan-in. C4 = G3+P3G2 + P3P2G1 + P3P2P1G0 + P3P2P1P0C0 Group propagation function: — propagate a carry from C0 to C4 P0−3 = P3P2 P1P0 C4 = G0-3 + P0-3C0 Group generate function: G0−3 = G3 + P3G2 + P3P2G1J.J.+ ShannP3P2 5-23P1G0 4-bit CLA w/ group functions: J.J. Shann 5-24 For 4-bit group: C4 = G0-3 + P0-3C0 C8 = G4-7 + P4-7C4 = G4-7 + P4-7G0-3 + P4-7P0-3C0 C12 = G8-11 + P8-11G4-7 + P8-11P4-7G0-3 + P8-11P4-7P0-3C0 C16 = G? 12-15 + P12-15 G8-11 + P12-15 P8-11 G4-7 + P12-15 P8-11 P4-7 G0-3 + P12-15 P8-11 P4-7 P0-3 C0 J.J. Shann 5-25 Delays: — Assumption: XOR = 2 gate delays 4-bit adder 16-bit adder 64-bit adder Ripple carry 10 34 130 adder (RCA) Carry 6 10 14 lookahead (5 copies in (21 copies in adder 2 levels of 3 levels of (CLA) lookahead) lookahead) J.J. Shann 5-26 5-3 Binary Subtraction (for Unsigned Numbers) Unsigned number subtraction: — Method 1: (§1-3) ¾ Compare the subtrahend w/ the minuend and subtract the smaller from the larger. ¾ Disadv.: The comparison op results in inefficient and costly ckt. — Method 2: by 2’s complement subtract (B.) — Method 3: by 2’s complement addition (C.) J.J. Shann 5-27 A. Complement Two types of complements for each base-r system: — radix complement: r’s complement ¾ e.g.: 2’s complement for binary numbers 10’s complement for decimal numbers — diminished radix complement: (r – 1)’s complement ¾ e.g.: 1’s complement for binary numbers 9’s complement for decimal numbers J.J. Shann 5-28 1’s Complement 1’s complement of an n-bit binary number N: (2n –1) –N 11 … 1 (n 1’s) ≡ subtracting each digit from 1 ≡ changing all 1’s to 0’s and all 0’s to 1’s (applying the NOT op to each of the bits) — E.g.s: 1011001 0001111 ↓ 1’s comp ↓ 1’s comp 0100110 1110000 — E.g.: the 9’s complement of a decimal number is obtained by subtracting each digit from 9 J.J. Shann 5-29 2’s Complement 2’s complement of an n-bit binary number N: 2n – N for N ≠ 0 & 0 for N = 0 ≡ adding 1 to the 1’s complement of N ≡ leaving all least significant 0’s and the 1st 1 unchanged and then replacing 1’s w/ 0’s and 0’s w/ 1’s in all other higher significant bits — E.g.s: 1101100 ↓ 2’s comp 0010100 — The complement of the complement restores the number to its original value. J.J. Shann 5-30 B. Unsigned Binary Subtraction by 2’s Complement Subtract Unsigned number subtraction by 2’s complement subtract : Subtract the subtrahend from the minuend directly: M – N If no end borrow occurs : M ≥ N the result (M – N) is positive and correct If an end borrow occurs: M < N the result (M – N + 2n) must then be negative and the magnitude needs to be corrected by 2’s complement 2n –(M – N + 2n ) = N – M − [2n –(M – N + 2n )] = − (N – M) J.J. Shann 5-31 — E.g.: 10011 − 11110 Borrows into: 11100 Minuend: 10011 Subtrahend: – 11110 Difference: 10101 Correct Difference: – 01011 J.J. Shann 5-32 Example 5-11: Perform the binary subtraction 01100100 – 10010110 <Ans.> Borrows into: 10011110 Minuend: 01100100 Subtrahend: – 10010110 Initial Result: 11001110 28 1 00000000 – Initial Result: – 11001110 Final Result – 00110010 J.J. Shann 5-33 Binary Adder/Subtractor Block diagram of binary adder-subtractor: Subtraction by 2’s complement subtract: Subtract the subtrahend N from the minuend M. If no end borrow occurs, the result is nonnegative and correct. If an end borrow occurs, the difference is subtracted from 2n, and a minus sign is appended to the result. * This ckt is more complex than necessary. ⇒ Share logic b/t adder & subtractor.
Recommended publications
  • Title Studies on Hardware Algorithms for Arithmetic Operations
    Studies on Hardware Algorithms for Arithmetic Operations Title with a Redundant Binary Representation( Dissertation_全文 ) Author(s) Takagi, Naofumi Citation Kyoto University (京都大学) Issue Date 1988-01-23 URL http://dx.doi.org/10.14989/doctor.r6406 Right Type Thesis or Dissertation Textversion author Kyoto University Studies on Hardware Algorithms for Arithmetic Operations with a Redundant Binary Representation Naofumi TAKAGI Department of Information Science Faculty of Engineering Kyoto University August 1987 Studies on Hardware Algorithms for Arithmetic Operations with a Redundant Binary Representation Naofumi Takagi Abstract Arithmetic has played important roles in human civilization, especially in the area of science, engineering and technology. With recent advances of IC (Integrated Circuit) technology, more and more sophisticated arithmetic processors have become standard hardware for high-performance digital computing systems. It is desired to develop high-speed multipliers, dividers and other specialized arithmetic circuits suitable for VLSI (Very Large Scale Integrated circuit) implementation. In order to develop such high-performance arithmetic circuits, it is important to design hardware algorithms for these operations, i.e., algorithms suitable for hardware implementation. The design of hardware algorithms for arithmetic operations has become a very attractive research subject. In this thesis, new hardware algorithms for multiplication, division, square root extraction and computations of several elementary functions are proposed. In these algorithms a redundant binary representation which has radix 2 and a digit set {l,O,l} is used for internal computation. In the redundant binary number system, addition can be performed in a constant time i independent of the word length of the operands. The hardware algorithms proposed in this thesis achieve high-speed computation by using this property.
    [Show full text]
  • Compressor Based 32-32 Bit Vedic Multiplier Using Reversible Logic
    IAETSD JOURNAL FOR ADVANCED RESEARCH IN APPLIED SCIENCES. ISSN NO: 2394-8442 COMPRESSOR BASED 32-32 BIT VEDIC MULTIPLIER USING REVERSIBLE LOGIC KAVALI USMAVATHI *, PROF. NAVEEN RATHEE** * PG SCHOLAR, Department of VLSI System Design, Bharat Institute of Engineering and Technology ** Professor, Department of Electronics and Communication Engineering at Bharat Institute of Engineering and Technology, TS, India. ABSTRACT: Vedic arithmetic is the name arithmetic and algebraic operations which given to the antiquated Indian arrangement are accepted by worldwide. The origin of of arithmetic that was rediscovered in the Vedic mathematics is from Vedas and to early twentieth century from antiquated more specific Atharva Veda which deals Indian figures (Vedas). This paper proposes with Engineering branches, Mathematics, the plan of fast Vedic Multiplier utilizing the sculpture, Medicine and all other sciences procedures of Vedic Mathematics that have which are ruling today’s world. Vedic been altered to improve execution. A fast mathematics, which simplifies arithmetic processor depends enormously on the and algebraic operations, can be multiplier as it is one of the key equipment implemented both in decimal and binary obstructs in most computerized flag number systems. It is an ancient technique, preparing frameworks just as when all is which simplifies multiplication, division, said in done processors. Vedic Mathematics complex numbers, squares, cubes, square has an exceptional strategy of estimations roots and cube roots. Recurring decimals based on 16 Sutras. This paper presents and auxiliary fractions can be handled by think about on rapid 32x32 piece Vedic Vedic mathematics. This made possible to multiplier design which is very not quite the solve many Engineering applications, Signal same as the Traditional technique for processing Applications, DFT’s, FFT’s and augmentation like include and move.
    [Show full text]
  • Design and Implementation of Floating Point Multiplier for Better Timing Performance
    ISSN: 2278 – 1323 International Journal of Advanced Research in Computer Engineering & Technology (IJARCET) Volume 1, Issue 7, September 2012 Design and Implementation of Floating Point Multiplier for Better Timing Performance B.Sreenivasa Ganesh1,J.E.N.Abhilash2, G. Rajesh Kumar3 SwarnandhraCollege of Engineering& Technology1,2, Vishnu Institute of Technology3 Abstract— IEEE Standard 754 floating point is the p0 = a0b0, p1 = a0b1 + a1b0, p2 = a0b2 + a1b1 + a2b0 + most common representation today for real numbers on carry(p1), etc. This circuit operates only with positive computers. This paper gives a brief overview of IEEE (unsigned) inputs, also producing a positive floating point and its representation. This paper describes (unsigned) output. a single precision floating point multiplier for better timing performance. The main object of this paper is to reduce the power consumption and to increase the speed of execution by implementing certain algorithm for multiplying two floating point numbers. In order to design this VHDL is the hardware description language is used and targeted on a Xilinx Spartan-3 FPGA. The implementation’s tradeoffs are area speed and accuracy. This multiplier also handles overflow and underflow cases. For high accuracy of the results normalization is also applied. By the use of pipelining process this multiplier is very good at speed and accuracy compared with the previous multipliers. This pipelined architecture is described in VHDL and is implemented on Xilinx Spartan 3 FPGA. Timing performance is measured with Xilinx Timing Analyzer. Timing performance is compared with standard multipliers. Fig 1 Binary Multiplication Index Terms— Floating This unsigned multiplier is useful in the point,multiplication,VHDL,Spartan-3 FPGA, Pipelined multiplication of mantissa part of floating point architecture, Timing Analyzer, IEEE Standard 754 numbers.
    [Show full text]
  • New Realization and Implementation Booth Multiplier
    Farheen Sultana et al, International Journal of Computer Science and Mobile Computing, Vol.5 Issue.7, July- 2016, pg. 304-311 Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology ISSN 2320–088X IMPACT FACTOR: 5.258 IJCSMC, Vol. 5, Issue. 7, July 2016, pg.304 – 311 NEW REALIZATION AND IMPLEMENTATION BOOTH MULTIPLIER Farheen Sultana A.Venkat Reddy M. Tech, PG Student Associate Professor [email protected] [email protected] Abstract— In this paper, we proposed a new architecture of multiplier-and-accumulator (MAC) for high-speed arithmetic. By combining multiplication with accumulation and devising a hybrid type of carry save adder (CSA), the performance was improved. Since the accumulator that has the largest delay in MAC was merged into CSA, the overall performance was elevated. The proposed CSA tree uses 1’s-complement-based radix-2 modified Booth’s algorithm (MBA) and has the modified array for the sign extension in order to increase the bit density of the operands. The CSA propagates the carries to the least significant bits of the partial products and generates the least significant bits in advance to decrease the number of the input bits of the final adder. Also, the proposed MAC accumulates the intermediate results in the type of sum and carry bits instead of the output of the final adder, which made it possible to optimize the pipeline scheme to improve the performance. The proposed architecture was synthesized with and performance of the entire calculation. Because the multiplier requires the longest delay among the basic operational blocks in digital system, the critical path is determined by the multiplier, in general.
    [Show full text]
  • Design of Carry Select Adder with Binary Excess Converter and Brent
    Design of Carry Select Adder with Binary Excess Converter and Brent Kung Adder Using Verilog HDL Andoju Naveen Kumar Dr.D.Subba Rao, Ph.D M.Tech (VLSI & Embedded System), Associate Professor & HOD, Siddhartha Institute of Engineering and Technology. Siddhartha Institute of Engineering and Technology. Abstract: Keywords: A binary multiplier is an electronic circuit; mostly Brent Kung (BK) adder, Ripple Carry Adder (RCA), used in digital electronics, such as a computer, to Regular Linear Brent Kung Carry Select Adder, multiply two binary numbers. It is built using binary Modified Linear BK Carry Select Adder, Regular adders. In this paper, a high speed and low power Square Root (SQRT) BK CSA and Modified SQRT 16×16 Vedic Multiplier is designed by using low BK CSA; Vedic Multiplier. power and high speed carry select adder. Carry Select Adder (CSA) architectures are proposed using parallel I. INTRODUCTION: prefix adders. Instead of using dual Ripple Carry An adder is a digital circuit that performs addition of Adders (RCA), parallel prefix adder i.e., Brent Kung numbers. In many computers and other kinds of (BK) adder is used to design Regular Linear CSA. processors, adders are used not only in the arithmetic Adders are the basic building blocks in digital logic unit, but also in other parts of the processor, integrated circuit based designs. Ripple Carry Adder where they are used to calculate addresses, table (RCA) gives the most compact design but takes longer indices, and similar operations. Addition usually computation time. The time critical applications use impacts widely the overall performance of digital Carry Look-ahead scheme (CLA) to derive fast results systems and an arithmetic function.
    [Show full text]
  • And Full Subtractor
    DIGITAL TECHNICS Dr. Bálint Pődör Óbuda University, Microelectronics and Technology Institute 4. LECTURE: COMBINATIONAL LOGIC DESIGN: ARITHMETICS (THROUGH EXAMPLES) 2nd (Autumn) term 2018/2019 COMBINATIONAL LOGIC DESIGN: EXAMPLES AND CASE STUDIES • Arithmetic circuits – General aspects, and elementary circuits – Addition/subtraction – BCD arithmetics – Multipliers – Division 1 ARITHMETIC CIRCUITS • Excellent Examples of Combinational Logic Design • Time vs. Space Trade-offs – Doing things fast may require more logic and thus more space – Example: carry lookahead logic • Arithmetic and Logic Units – General-purpose building blocks – Critical components of processor datapaths – Used within most computer instructions ARITHMETIC CIRCUITS: BASIC BUILDING BLOCKS Below I will discuss those combinational logic building blocks that can be used to perform addition and subtraction operations on binary numbers. Addition and subtraction are the two most commonly used arithmetic operations, as the other two, namely multiplication and division, are respectively the processes of repeated addition and repeated subtraction. We will begin with the basic building blocks that form the basis of all hardware used to perform the aforesaid arithmetic operations on binary numbers. These include half-adder, full adder, half-subtractor, full subtractor and controlled inverter. 2 HALF-ADDER AND FULL-ADDER Half-adder This circuit needs 2 binary inputs and 2 binary outputs. The input variables designate the augend and addend bits: the output variables produce the sum and carry. Full-adder Is a combinational circuit that forms the arithmetic sum of 3 bits. Consists of 3 inputs and 2 outputs. When all input bits are 0, the output is 0. The output S equal to 1 when only one input is equal to 1 or when all 3 inputs are equal to 1.
    [Show full text]
  • Implementation of Sequential Decimal Multiplier
    IMPLEMENTATION OF SEQUENTIAL DECIMAL MULTIPLIER A Thesis Submitted in Fulfillment of the Requirement for the Award of the Degree of MASTER OF TECHNOLOGY in VLSI Design Submitted By SONAL GUPTA 601562024 Under Supervision of Ms. Sakshi Assistant Professor, ECED ELECTRONICS AND COMMUNICATION ENGINEERING DEPARTMENT THAPAR UNIVERSITY, PATIALA, PUNJAB JUNE, 2017 Powered by TCPDF (www.tcpdf.org) Scanned by CamScanner ACKNOWLEDGEMENT It is my proud privilege to acknowledge and extend my gratitude to several persons who helped me directly or indirectly in completion of this report. I express my heart full indebtedness and owe a deep sense of gratitude to my teacher and my faculty guide Ms. Sakshi, Assistant Professor, ECED, for her sincere guidance and support with encouragement to go ahead. I am also thankful to Dr. Alpana Agarwal, Associate Professor and Head, ECED, for providing me with the adequate infrastructure for carrying out the work. I am also thankful to Dr. Hemdutt Joshi, Associate Professor and P.G. Coordinator, ECED, and Dr. Anil Arora, Assistant Professor and Program Coordinator, ECED, for the motivation and inspiration and that triggered me for the work. The study has indeed helped me to explore knowledge and avenues related to my topic and I am sure it will help me in my future. Sonal Gupta Roll No.- 601562024 iv ABSTRACT Multiplication is the most important operation among all the four arithmetic operations during the last decade in various fields which is in the top list of research. Decimal multiplication is gaining very high popularity in recent years in the fields like analysis of finance, banking, income tax department, insurance and many more such fields.
    [Show full text]
  • Introduction of the Residue Number Arithmetic Logic Unit with Brief Computational Complexity Analysis (Rez-9 Soft Processor)
    Introduction of the Residue Number Arithmetic Logic Unit With Brief Computational Complexity Analysis (Rez-9 soft processor) White Paper By Eric B. Olsen Excerpted from “General Arithmetic in Residues” By Eric B. Olsen (Release TBD) Original release in confidence 11/12/2012 Rev 1.1 (12/5/12) Rev 1.2 (1/22/14) Rev 1.3 (5/27/14) Rev 1.4 (11/29/15) Rev 1.45(12/2/15) Condensed Abstract: Digital System Research has pioneered the mathematics and design for a new class of computing machine using residue numbers. Unlike prior art, the new breakthrough provides methods and apparatus for general purpose computation using several new residue based fractional representations. The result is that fractional arithmetic may be performed without carry. Additionally, fractional operations such as addition, subtraction and multiplication of a fraction by an integer occur in a single clock period, regardless of word size. Fractional multiplication is of the order , where equals the number of residues. More significantly, complex operations, such as sum of products, may be performed in an extended format, where fractional products are performed and summed using single clock instructions, regardless of word width, and where a normalization operation with an execution time of the order is performed as a final step. Rev 1.45 1 Table of Contents FOREWORD (REVISED) ............................................................................................................................................ 3 NOTICE TO THE READER .........................................................................................................................................
    [Show full text]
  • A Digital IINS for Aerial Vehicl
    © Muhammad Ijaz 2015 iii Dedicated to my beloved parents, siblings, wife and children iv ACKNOWLEDGMENTS First and foremost, all praise is due to Allah, subhanahu-wa-ta’ala, Almighty who gave me the opportunity, courage and patience to complete MS degree at King Fahd University of Petroleum and Minerals, and guided me in every aspect of this work to complete it successfully. May the peace and many blessings of Allah be upon His beloved prophet, Muhammad (S.A.W) whose love is part of our Imaan. Acknowledgement is due to King Fahd University of Petroleum and Minerals for its financial support and providing world class academic facilities and extra-curricular activities. I would like to express, with deep and indebted sense of gratitude, my deep appreciation and sincere thanks to my thesis advisor, Dr. Alaaeldin Abdul Monem Amin for his generous support, guidance, continuous encouragement and every possible cooperation throughout my research and preparation of thesis documentation. Working with him, indeed, was a pleasant and learning experience, which I thoroughly enjoyed. I would also like to extend my sincere thanks and gratitude to other committee members, Dr. Moustafa Elshafei and Dr. Mohammad Y. Mahmoud for their valuable advice and support, suggestions, and critical remarks which helped improve this work. I would also like to thank Mr. Yazan Muhammad Al-Rawashdeh for his help and support. I am grateful to all the faculty and staff of the Computer Engineering department, who has in one way or the other enriched my academic and research experience at KFUPM. I owe a deep sense of gratefulness to my numerous friends and colleagues whose presence and v moral support made my entire stay at KFUPM enjoyable and fruitful.
    [Show full text]
  • State Graphs Introduction • Serial Adder • Multiplier • Divider STATE
    www.getmyuni.com In this section we cover the following: • State graphs introduction • Serial Adder • Multiplier • Divider STATE GRAPHS FOR CONTROL NETWORKS What are the conditions for having a proper state graph? • If an arc is named XiXj/ZpZq then • if given inputs (XiXj) are 1( & other inputs would be don’t care), • then the specified outputs (ZpZq) are 1 (& the other outputs are zero). • If we have 4 inputs X1,X2,X3,X4 and 4 outputs Z1,Z2,Z3,Z4 then the label X1X4’/Z1Z3 is equivalent to 1- - 0/1010. (- is don’t care) • If we label an arc I, then the arc is traversed when I =1. • To have a completely specified proper state graph in which the next state is uniquely defined for every input combination the following conditions must be satisfied: 1. If Xi and Xj are any pair of input labels on arcs exiting state Sk, then XiXj=0 if i # j. This condition ensures that at most one condition is satisfied at any given point of time. 2. If n arcs exit state Sk and the n arcs have input labels X1,X2,….Xn then X1+X2+…..Xn =1. This ensures that at least one condition is satisfied. www.getmyuni.com A few examples illustrating the nomenclature in state graphs is presented in figures below. Fig. Partial state graph showing that conditions 1 &2 are satisfied for state Sk. Fig. a Fig. Partial State Graph (Fig. a above) and its state table row for Sk. www.getmyuni.com Serial adder with Accumulator Question: Illustrate the design of a control circuit for a serial adder with Accumulator Definition: A Control circuit in a digital system is a sequential network that outputs a sequence of control signals.
    [Show full text]
  • Design of a Binary Multiplier for Unsigned Numbers
    WESTERN UNIVERSTT FACULTY OF ENGINEERING DEPARTMENT OF ELECTRICAL AND COMPUTER ENGINEERING ES434a: Advanced Digital Systems Lab 3 Binary Multiplier for Unsigned Numbers In class a serial-parallel multiplier and an array multiplier were described (sections 4.8 and 4.9, pg 210-219 “Digital Systems Design Using VHDL (Second Edition)”). Comparing these two designs reveals the following: The serial-parallel multiplier requires fewer components to implement then the array multiplier. For an N-bit by N-bit multiplier the circuit complexity increases linearly with N for a serial-parallel multiplier, whereas the circuit complexity increases by N2 for array multiplier. An array multiplier is significantly faster than a serial-parallel multiplier. This is due to the fact that many clock cycles are required to manipulate the control unit of the serial-parallel multiplier. The goal of this assignment is to design 9-bit by 9-bit multiplier for unsigned numbers. The proposed design will encompass the attributes of both the serial-parallel multiplier and the array multiplier. Your design will have the following components: 1. Three array multipliers capable of multiplying two 3-bit numbers (see figure 4.29, pg 217 of textbook). 2. One adder capable of adding two N-bit by N-bit numbers including a carry in. The output of the adder has N-bits for the sum and a carry out bit. Determine the minimum number of N required by the adder for the overall circuit to work. 3. 21-bit shift register. Before starting the multiplication, bits 0 to 8 will be used to hold the multiplier and bits 9 to 17 are used as the accumulator.
    [Show full text]
  • DITE Lecture Slides
    Combinational Logic Design Arithmetic Functions and Circuits Overview ◼ Binary Addition ◼ Half Adder ◼ Full Adder ◼ Ripple Carry Adder ◼ Carry Look-ahead Adder ◼ Binary Subtraction ◼ Binary Subtractor ◼ Binary Adder-Subtractor ◼ Subtraction with Complements ◼ Complements (2’s complement and 1’s complement) ◼ Binary Adder-Subtractor ◼ Signed Binary Numbers ◼ Signed Numbers ◼ Signed Addition/Subtraction ◼ Overflow Problem ◼ Binary Multipliers ◼ Other Arithmetic Functions Fall 2021 Fundamentals of Digital Systems Design by Todor Stefanov, Leiden University 2 1-bit Addition ◼ Performs the addition of two binary bits. ◼ Four possible operations: ◼ 0+0=0 ◼ 0+1=1 ◼ 1+0=1 ◼ 1+1=10 ◼ Circuit implementation requires 2 outputs; one to indicate the sum and another to indicate the carry. Fall 2021 Fundamentals of Digital Systems Design by Todor Stefanov, Leiden University 3 Half Adder ◼ Performs 1-bit addition. Truth Table A B S C ◼ Inputs: A0, B0 0 0 0 1 ◼ Outputs: S0, C1 0 0 0 0 ◼ Index indicates significance, 0 1 1 0 0 is for LSB and 1 is for the next higher significant bit. 1 0 1 0 ◼ Boolean equations: 1 1 0 1 ◼ S0 = A0B0’+A0’B0 = A0 B0 ◼ C1 = A0B0 Fall 2021 Fundamentals of Digital Systems Design by Todor Stefanov, Leiden University 4 Half Adder (cont.) ◼ S0 = A0B0’+A0’B0 = A0 B0 ◼ C1 = A0B0 Block Diagram Logic Diagram A0 B0 A 0 S 1 bit 0 C B0 1 half adder C1 S0 Fall 2021 Fundamentals of Digital Systems Design by Todor Stefanov, Leiden University 5 n-bit Addition ◼ Design an n-bit binary adder which performs the addition of two n-bit binary numbers and generates a n-bit sum and a carry out.
    [Show full text]