Wednesday, April 15, 2020

Sequential Circuit Design

In this post, we will be learning about Sequential Circuit Design. Asynchronous Sequential circuits suffer from stability issues and are not usually preferred. Hence we restrict our discussion to Synchronous Sequential Circuit Design. This is very similar to the design of a combinational circuit as discussed previously.


Sequential Circuits are those circuits which have some memory. The present output will depend upon not only the present input, but also on the past input sequence.


Basic types:
Asynchronous Sequential Circuit: Output will occur immediately on input change just like a combinational circuit, but it has memory due to feedback structure of gates.
Synchronous Sequential Circuit: Here the output will occur on the basis of a trigger signal called clock. This the most commonly used type of circuit and makes use of flip-flops.


Important Terms:
A Latch is a storage element which can store one bit of data due to appropriate feedback connections from output to input. 
A Flip Flop is the basic element of any sequential circuit and is constructed using Latches.
Learn more about constructing a D Flip-Flop from latches.


The design process requires the following steps:
1. Understand the problem specifications.
2. Draw the state diagram and encode the states.
3. Draw the state table.
4. Obtain the simplified state equations using reduction techniques such as K-Map.
5. Draw the logic diagram


Let us discuss the design steps by designing the following:

Moore '111' Sequence Detector

Q. Design a circuit which sends an output when a sequence of three 1s is detected from an input stream of bits. Overlapping sequence is considered.

Step 1: Problem specifications
Input: clock, reset, 1-bit (stream of bits),
Output: 1-bit that indicates a successful pattern of 111 over three clock edges
Overlapping sequence means:
Sequence 1: Input bits 1,2,3 ; Sequence 2: Input bits 2,3,4 and so on

Step 2: State diagram
For every 1 at the input, we go from one state to the next. After receiving the third 1, we must send out an output of 1 and remain in that state until we get a 0, at which the output also becomes 0.

The state machine described below is called a Moore machine because its output depends only on the state that we are in (S0 / 0 means state S0 with an output 0, the number on arrow indicates input)


State Encoding:
Let us encode the states as:
S0 = 00
S1 = 01
S2 = 10
S3 = 11

Step 3: State table
The State diagram can be presented in the form of a state table as shown. For all combinations of Present State and Input, we obtain the values for Next State and output.


Step 4: K-map reduction and logic equations

We obtain the expressions for next state and output based on the present state and input.

For D-FF A:


A(t + 1) = AX + BX






For D-FF B:



B(t + 1) = AX + B'X




 For Y:


Y = AB






Step 5: Logic Diagram
Since we are designing using D Flip-flops, the next state can directly be connected to the input of the flip-flop.
ie, A(t + 1) = D input

However for other FFs,we must obtain the input expression for the flip-flop using the excitation table of that particular FF.

So this is how the logic diagram can be drawn for the above design.
Logic diagram for sequence detector
Logic Diagram for Sequence Detector

Thus by following the above steps, one can design any Sequential circuit using any type of flip-flops.
Most of the practical designs involve a combination of Combinational as well as Sequential Elements.

No comments:

Post a Comment