Shift Register

in #utopian-io8 years ago (edited)

image.png

I. Intended Learning Objectives
At the end of the tutorial, the readers should be able to:
1. Explain the operation of a shift register
2. Construct the digital circuit using CircuitSim for a shift register; and,
3. Perform simulation of the operation of a shift register.
II. Requirements
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/ download page or visit its official Github repository at ra4king/CircuitSim.
III. Difficulty
Intermediate
IV. Introduction to Shift Register
Basically, a register capable of shifting the binary information either to the right or to the left is called a shift register. Shift Register is configure with cascaded flip-flops where the output of one flip-flop is connected to the succeeding flip-flop. At the same time, all flip-flops receive a uniform clock pulse that cause the shift from one stage to the next.
The simplest possible shift register is constructed using flip-flops. The Q output of each flip-flop is connected to the D input of the succeeding flip-flop to its right. Each clock pulse shifts the contents of the register one bit position to the right.
Table 1: Operation of Shift-right Register
image.png


The serial input determine rightmost flip-flop prior the application of a clock pulse. For example, serial input for QA, from the table 1, is 0, a shift of logic value is pass through QB and so on, until it reach the rightmost flip-flop. A way to control the shifting operation is to set a predetermined clock pulse. For the this, tutorial, we will be implementing a shift-right register using a cascaded four set of D Flip-Flop. In addition, we will implement a serial transfer application of the shift register that we will be creating.
V. Shift Register circuit implementation on CircuitSim
We have discussed earlier the operation of a shift register by which it operates by shifting the initial value feed at the serial input one bit to the right. It is done by configuring a cascaded flip-flops where the leftmost input is the serial input and the rightmost is the serial output. Each clock of this flip-flop is connected to a single clock pulse. For this tutorial, we will create a shift register comprised by four set of cascaded D Flip-Flops using CircuitSim. On CircuitSim, select and set four set of D Flip-Flop which are arrange horizontally. Connect the D Flip-Flops so that leftmost Q terminal is connected to the D terminal of the succeeding D Flip-Flops. This connections allows as to perform the shifting operation of a shift register. For example, a 0 logic state is feed to the primary D Flip-Flop results to a logic 1 receives by the succeeding D Flip-Flop. The change state and the timing operation is set by the uniform clock pulse on each flip-flops.

image.png

Now, we complete the shift register by adding the serial input and output as well as the clock pulse. We also need to define the input, output, and clock pulse as SI, SO and CP respectively. After we have configured the shift register, we need to change the worksheet name from new circuit to shift register. This is done by right clicking and selecting rename on the worksheet tab. After completing all describes steps, you should have come up up with what is shown on the figure below.

image.png

Aside from what we have done so far in the CircuitSim, we can control the bit shift on the shift registry. It is accomplish by adding AND gate before the CP terminal of the shift registry, so that shift will only happen when clock pulse is logic 1. We open a new circuit worksheet. We select the recently configured shift register from the circuit tab on the component library. We add two set of shift register and label it as A and B. In addition, select one AND gate where the output is connected to the CP terminal of each shift registry. Connect the AND gate input terminals to a clock pulse and and input device.

image.png

For the shift register, connect the shift register SO to the SI terminal of the succeeding shift register. At the same time , connect an input element on the first shift register. THis will set the initial bit value to be shifted or manipulated in the circuit.

image.png

VI. Simulation of the Shift Register
We have now created the a shift register. 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 in each D Flip-Flop. This values changes state in sequence and in accordance to the clock pulse. The shifting of values terminates at it reaches the final and the rightmost D Flip-Flop.The shift register simulation can be seen on the video below.

Simulation 1: Shift Register


In addition, we constructed the a circuit that we are able to control the shift of the bit values in a shift registry by adding an AND gate that enables only the logic 1 of the clock pulse. The full simulation of the circuit is shown below.

Simulation 2: Shift Register with clock pulse control



You can observe that there is a time required before we get a logic 1 output in the second simulation. This means that the simulation run first the shifts inside in each shift register. The operation and behavior undergone by the time lapse in the second simulation is equivocal to the operation presented in the first simulation.

VII. Summary
In this tutorial, we start by understanding the operation of a shift register. So, we learn that a shift register operates in a way that the serial input is shifted from leftmost flip-flop and store the shifted value on the flip-flop. The circuit is made of a cascaded four set of D Flip-Flop arrange horizontally from left to right. The leftmost D Flip-Flop receives the serial input and shifted it to another bit to the succeeding D Flip-Flop. The D Flip-Flop is connected with a common clock pulse. In addition, we constructed the a circuit that we are able to control the shift of the bit values in a shift registry by adding an AND gate that enables only the logic 1 of the clock pulse. All stated circuit config is presented in two sets of simulation to clearly elaborate how it works.
VIII. Reference
Conceptual Reference: Morris Mano, Digital Design, 3rd Edition
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.
1. Binary Ripple Counter



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Thank you for the contribution. It has been approved.

Are you using tables to construct your posts? That would explain the very dense format you are using. I think breaks cannot be build into tables.

You can contact us on Discord.
[utopian-moderator]

Hey @flauwy, I just gave you a tip for your hard work on moderation. Upvote this comment to support the utopian moderators and increase your future rewards!

Yes, I am using tables to create highlights on headers. I try to consider another formating technique. Thank you , @flauwy!

Hey @juecoree I am @utopian-io. I have just upvoted you!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • Seems like you contribute quite often. AMAZING!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x

Resteemed your article. This article was resteemed because you are part of the New Steemians project. You can learn more about it here: https://steemit.com/introduceyourself/@gaman/new-steemians-project-launch . If your post has more upvotes, your post will appear in the trending page. To get more upvotes, you can bid for @steembidbot vote. please check it out here: https://steembottracker.com/

Coin Marketplace

STEEM 0.09
TRX 0.32
JST 0.033
BTC 109511.36
ETH 3888.25
USDT 1.00
SBD 0.60