Sequential circuit synthesise modeling on "Digital"

in #utopian-io7 years ago (edited)

What Will I Learn?

In this tutorial, readers:

  • will learn the basics sequential logical circuits
  • will learn implementation of sequential circuit synthesise on "Digital"
  • will be able to construct any sequential logic circuit on the software

image.png

Requirements

In order to complete the tutorial, readers would have:

  • Basic idea about logic designing
  • Basic truth table implementation skills
  • a working PC, "Digital" software

Difficulty

  • Intermediate

Tutorial Contents

In this tutorial, we will cover sequential circuit analysis & synthesis on the software "Digital". So far we have worked on combinational circuits (not completely), so before going into software details, I will talk about basics of sequential circuits, and the differences, then will explain how "synthesise" sequential circuit with an example circuit.

  • Episode 1: What is sequential logic circuits?

Sequential logic circuits are the kind of circuits whose output states of the circuit are depend on the previous states, which means that circuit has internal "memory" inside it. Those circuits are generally controlled by clock signals, so as a users we do not need to switch inputs/outputs. At each clock signal(positive cycle or negative cycle) the circuit goes next state from different one, the states are depended on the previous ones, and the logic components inside the circuit.

(We may think that those circuits has a type of feedback inside it, so output is under control by the previous steps.)

In real world applications, sequential circuits are very common, so knowing them is vital for each digital circuit designers. In this tutorial I will show how to construct complex sequential circuits by the help of the software "Digital".

  • Episode 2:Construction of sequential circuits in Digital

There are several ways to construct, we can manually construct sequential circuits (as I have done here) or we can simply use Synthesise function on the software.

In this tutorial, I will explain constructing sequential circuits by using this function. Explanation will be step-by-step.

  • 1- Opening the synthesise function,

As a first step, we will open the function


1.png

Following window will appear:

2.png

  • 2- Configuring Sequential Logic Circuit

In order to pass sequential circuit, we need to click:

-->New ---> Sequential --> Choose any number of variables. ( I will work on 4 input system so 4 is selected)

3.png

When it is clicked, following window will appear:

4.png

From here, we can see the truth table and all possible selections. Lets focus on truth table.

5.png

From section 1, we can see the PRESENT STATES and on section 2, we can see FUTURE STATES of the circuits, the logical connection between them are made by logical components.

Now, I want to construct a sequential circuit whose state is the following:

** 4-input counter circuit that counts in MODULO 7 which means that in every 7 state the circuit will behave with same output. **

To apply this condition, we need to play with TRUTH TABLE that I have provided above.Any value can be change when just clicking and selecting just as below:


6.png

In the figure, I am changing the value of next state of Q3. In order to have the circuit that I have stated above, the sequence should be in this form:

0000 ---> 0

0001 ---> 1

0010 ---> 2

0011 ---> 3

0100 ---> 4

0101 --->5

0110 ---> 6

0000 ---> 0

0001 ---> 1

0010 ---> 2

...

And it goes by that order.
To obtain that sequence, we need to adjust NEXT STATES on the truth table just given below.

7.png

Notice that ALL POSSIBLE SOLUTIONS section is also changed with each change in the truth table.

In fact, here only the first 7 state is important for us since our circuit does not use the next states.

IMG_20180314_075729.jpg

Focusing on that table will give the resultant circuit as I have stated above.

This is a very important point. Readers should understand it before going further.

  • 3- Obtaining the circuit

In order to obtain the circuit, we need to click

Create ---> Circuit with JK Flip-Flops

The result is given below:

9.png

This circuit is nothing but a sequential circuit, just like I have created in my previous tutorials. Only difference is the presentation of states, which should not confuse the reader.

  • 4- (Optional) Changing Clock Frequency

In order to have more slow analysis, I will change the clock frequency just by right clicking it.

10.png

  • Episode 3:Analysis of the sequential circuit

The result of the simulation is given below:

result.gif

From here, we can see that the circuit works perfectly.

I have provided the files for this tutorial here. I highly recommend that the reader should work on the files that I have provided and try to understand the basics of the circuit & software. It will be benefical for he/she.

This is the end for this tutorial.Hope that you like it.

Digital is a really effective and easy to learn software, I highly recommend this software for the one who wants to make simulation in digital circuits especially. If you have any questions, please feel free to ask me on Discord (Escorn#4114)

Curriculum

I have provided the previous tutorials that I have prepared for the community:

SimulIDECanedaDigitalLogiJS
Part 1Part 1Part 1Part 1
Part 2Part 2Part 2
Part 3Part 3Part 3
Part 4Part 4Part 4
-Part 5Part 5
-Part 6Part6
-Part 7Part 7
--Part 8
--Part 9



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Thank you for the contribution. It has been approved.

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

Thanks :)

Hey @escorn 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

Coin Marketplace

STEEM 0.20
TRX 0.24
JST 0.038
BTC 97120.80
ETH 3374.08
USDT 1.00
SBD 3.13