Serial Binary Adder
utopian-io·@juecoree·
0.000 HBDSerial Binary Adder
<center></center> | I. Intended Learning Objectives | |:---:| | <br>At the end of the tutorial, the readers should be able to: <br> 1. Explain the operation of a serial binary adder <br> 2. Construct the digital circuit using CircuitSim for a serial binary adder; and, <br> 3. Perform simulation of the operation of a serial binary adder | II. Requirements | |:---:| | <br>The readers should have a desktop PC or laptop (Win 7, 8, or 10) with an installed CircuitSim simulator to be able to effectively learn the concepts and procedures that will be discussed in this tutorial. Readers will be able to download a copy of the app at [ra4king.github.io/CircuitSim/](https://www.roiatalla.com/public/CircuitSim/) download page or visit its official Github repository at [ra4king/CircuitSim](https://github.com/ra4king/CircuitSim). | III. Difficulty | |:---:| | Intermediate | | IV. Introduction to Serial Addition | |:---:| | Digital computers mostly done in parallel because this is a faster mode of operation. Serial operations are slower but require less equipment. To be able to demonstrate serial mode of operation, we will design a serial adder. <br><br><br>Two set of shift register is used to store the serially add two binary number. Bits are added one pair at a time, sequentially , through a full adder (FA) circuit. The carry out of a full adder is transmitted to a D flip-Flop. The output of the flip-flop is then used as input carry for the next pair of significant bits. The two shift register are shifted to the right for a word-time period. The sum bits from the S output of a full adder could be transferred to a third shift register. By shifting the sum into A while the bits of A is shifted out. The serial input (SI) of register B is able to receive a new binary while the addend bits are shifted.<br><br><br> <center><h6>*Figure 1: Conceptual Block Digram*</h6></center><br><br> The operation of a serial adder can be sum up by the conceptual block diagram shown in figure 1. Initially, both register A and B holds the addend , and the carry flip-flop is clear to 0. The serial output (SO) of A and B provide a pair of significant bit for the full adder (FA) at x and y. Output Q of the flip-flop gives the input carry at z. The shift-right control enables both registers and carry flip-flop; so at the clock pulse change, both registers are shifted once to the right, the sum bit from S enters the leftmost flip-flop of A, and the output carry is transferred into flip-flop Q. <br> <br>For this tutorial, we will create three separate circuit of shift register, full adder and the serial adder. The serial adder circuit is where we combined the configured shift register and full adder to perform the serial addition operation. | V. Serial Adder circuit implementation on CircuitSim | |:---:| |<br>We have discussed earlier the operation and the conceptual block diagram by which it operates in a manner that the The serial output (SO) of A and B provide a pair of significant bit for the full adder (FA) at x and y. Output Q of the flip-flop gives the input carry at z. We will begin constructing the shift register circuit where the primary bit addend is given. The 4 bit shift register is constructed by connecting a cascaded D flip-flop by which the leftmost flipflop is feed by a serial input. The succeeding flip-flops are then connected to the output of the prior flip-flop until the last configured flip-flop where the serial output is presented. This flip-flops are connected in a one clock pulse. The shift register terminals should be labeled as SI, SO, and CP for the serial input, output and clock pulse. You can browse my last tutorial about [shift register](https://utopian.io/utopian-io/@juecoree/shift-register) in full detail discussion. <br><br><br><br>Now, we open a new circuit to create the serial binary adder which was discussed earlier. This comprises two set of serial input, a full adder and d flip-flop. We select two set shift register to serve as the serial input addend processor. We labeled the two shift register as A and B. The serial output of this two set of register is feed to the x and y terminal of the full adder, labeled as FA. The full adder component can be selected from the arithmetic tab on the component library. <br><br><br><br><br><br> We add a D flip-flop to serve as a memory element that establish the carry in to the full adder. Connect the Q terminal of the D flip-flop to the carry in of the full adder. At the same time, connect D terminal to the output terminal of the adder. <br><br><br><br> We add input and output component including the clock pulse. For the clock pulse of D flip-flop, the clock pulse input is connected to an AND gate together with the shift-right input before feed to the CP terminal of the D flip-flop. This is to ensure to control the operation of the d flip-flop that it will only activate when a logic 1 is applied thru it. At the same time, connect the input element shift-right and clock pulse to the shift register A's serial input (SI) and clock pulse (CP) terminal, respectively. The shift register input is feed by a separate input element, but the clock pulse terminal is connected to the same clock as to shift register A. The output of the full adder is then connected to a output element to display the serial output sum of both serial input.<br><br><br><br>Initially, both register A and B holds a 0 addend when the shift-right still at logic-0, and the same goes for the carry flip-flop . As shift -right and external input is activate to logic 1, the serial output (SO) of A and B provide a pair of 1 bit for the full adder (FA) at x and y equal to 1. Output Q of the flip-flop gives the input carry at 1. So at the clock pulse change, both registers are shifted once to the right, the sum bit from S enters the leftmost flip-flop of A, and the output carry is transferred into flip-flop Q. You should observe in the serial output a change of logic value from 1 to 0 as clock pulse tick. | | VI. Simulation of the Shift Register | |:---:| | <br>We have now created the a serial binary adder by combining a shift register, full addder and a D flip-flop. To start the simulation, simply click simulation > simulation enable and also clock enable. In the running simulation as shown, we can observe a different bit value stored on D Flip-Flop. In the simulation we start by setting the values of the input to 1. As shift -right and external input is activate to logic 1, the serial output (SO) of A and B provide a pair of 1 bit for the full adder (FA) at x and y equal to 1. Output Q of the flip-flop gives the input carry at 1. You can see the recorded simulation on the video below.<br><br>https://youtu.be/gwQmeQDSEpE <br>| | VIII. Summary | |:---:| | In this tutorial, we start by understanding the operation of a serial addition. By incorporating a shift register with an arithmetic operator and memory latch, in full adder and D flip-flop respectively, we are able to perform serial addition. The serial output (SO) of both shift register provide a pair of significant bit for the full adder (FA) at x and y. Output Q of the flip-flop gives the input carry at z. The shift-right control enables both registers and carry flip-flop. So, at a 0 logic at the shift-right input, the serial addition functionality is disabled. In addition, we can observe on the simulations that the shifting of the serial output at the full adder reaches the exact value of the internal input as the shift is terminates. It goes the same with a 0 logic at the said input. The shifts in the value of the sum is displayed and can be observed on the D flip-flop, which serves as the memory element. | | VIII. Reference | |:---:| |- Conceptual Reference: [Morris Mano, Digital Design, 3rd Edition](https://pratikchauhan.files.wordpress.com/2014/03/mano-3-baski.pdf) <br> - Image and Video Source: All videos and images use in this tutorial is recorded and captured by the author. Otherwise, it is specified in the text. | | IX. Curriculum | |:---:| | You can browse my other tutorial for digital circuits implemented using CircuitSim from the following links bellow. <br> 1. [Binary Ripple Counter](https://utopian.io/utopian-io/@juecoree/binary-ripple-counter) <br> 2. [Shift Register](https://utopian.io/utopian-io/@juecoree/shift-register) | <br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@juecoree/serial-binary-adder">Utopian.io - Rewarding Open Source Contributors</a></em><hr/>
👍 juecoree, josephace135, curx, steemph.cebu, japh, leryam12, rafael.espina, ted7, bellatravelph, queenjventurer, smaeunabs, namranna, glennamayjumaoas, ligarayk, ablaire, leebaong, tedzwhistle, sorenkierkegaard, itinerantph, jassennessaj, codygee237, agentzero, jacoblayan, sissyjill, themanualbot, jamiz, rfece143, jaderpogi, micch, pizzanniza, thinkvincent, jenesa, carpieeew, christianyocte, steemitph, georgie84, dwaeji-aizelle, luigienius, aribalcristian, squares, ybanezkim26, legendarryll, wandergirl, brokemancode, polbot, marysent, fabio2614, thinkingmind, maefe30, minnowsupport, cifer, aafeng, mahalo, loshcat, greenorange, mamun123456, dailygrcstats, ryacha21, claudiop63, wdougwatson, harrisonmir, bassuniverse, enki, utopian-io, carlitojoshua, reyadapon, romeaiden03, altherion, farmacistasmz, darylsid11, raselrana, curiousson, marbul21,