There are 2 types of sequential circuits:
- Synchronous: outputs change at specific time
- Asynchronous: Changes at any time
Multivibrator
Class of sequential circuits
- Bistable (2 stable states)
- Monostable or one-shot (1 stable state)
- Astable (no stable state)
Bistable logic devices
Latches, and flip flops.
Memory Elements
Memory element
A device which can remember value indefinitely, or change value on command from its inputs.
Latch
S-R
Latch
S-R
LatchTwo inputs:
S
andR
Two complementary outputs:Q
andQ'
State
Q
= HIGH:SET
Q'
= LOW:RESET
LOW | ||||
initial | ||||
HIGH | ||||
HIGH | ||||
invalid |
Active-Low
S-R
LatchNAND gates are used instead for this. For these latches, given the input
SR
:
00
becomes an invalid command (no change in Active-High)11
becomes a nochange command (invalid in Active-High)01
becomes a set command (reset in Active-High)10
becomes a reset command (set in Active-High)
Gated S-R
Latch
Gated
S-R
Latch
S-R
latch + enable input (EN) and 2 NAND gates
Gated D
Latch
With the gated `D` latch, the invalid condition is eliminated.
Flip-Flops
Synchronous bistable devices
Output changes state as a specified point on a triggering input called the clock:
S-R
flip flop
No change | ||||
Reset | ||||
Set | ||||
Invalid |
D
flip flop
Set | |||
Reset |
J-K
flip flop
No change | ||||
Reset | ||||
Set | ||||
Toggle |
T
flip flop
No change | |||
Toggle |
Asynchronous Inputs
The S-R
, D
, J-K
inputs are synchronous inputs as data on these inputs are transferred to the flip-flop’s output only on the triggered edge of the clock pulse.
Asynchronous
Affect the state of the flip flop independent of the clock
PRE = HIGH
: Q is immediately set to HIGH
CLR = HIGH
: Q is immediately cleared to LOWFlip-flop in normal operation mode when both PRE and CLR are LOW.
Synchronous Sequential Circuits
Note
Flip flops make up the memory while the gates form one or more combinational sub-circuits.
No change | ||||
Reset | ||||
Set | ||||
Invalid/Unpredictable |
Set | |||
Reset |
No change | ||||
Reset | ||||
Set | ||||
Toggle |
No change | |||
Toggle |
Analysis of Sequential Circuits
Analysing behaviour
- Derive state table
- and hence its state diagram
Requires state equations to be derived for the flip-flop inputs as well as output functions for the circuit outputs other than the flip-flops other than flip flops.
State table
Similar to a truth table. Inputs and present state on left side. Outputs and next state on the right side.
State diagram
- Each state is denoted by a circle
- Each arrow denotes a transition of the sequential circuit
Circuit output functions
The outputs of a sequential circuit are functions of the present states of the flip-flops and the inputs. The algebraic description of these are the circuit output functions.
Flip-flop input functions/equations
Algebraic descriptions of the part of the circuit that generates inputs to the flip-flops.
This determines the next state generation - using the functions and the characteristic tables, the next states of flip-flops can be obtained.
Flip-flop Excitation Tables
Analysis
Starting from a circuit diagram, derive state table or state diagram
Characteristic tables
Design
Starting from a set of specifications (in the form of state equations, state table, state diagram), derive logic circuit.
Excitation tables
Excitation tables
Input: Required transition from present state to next state Output: Flip-flop inputs
Design procedure:
- Circuit specifications
- Description of circuit behaviour - state diagram/state table
- Derive state table
- Perform state reduction if necessary
- Perform state assignment
- Determine number of flip-flops and label them
- Choose type of flip-flop to be used
- Derive circuit excitation and output tables from the state table
- Derive circuit output functions and flip-flop input functions
- Draw the logic diagram
> [!question] How many flip-flops are needed? > > Since two bits are needed to represent each state, two flip-flops are needed. > > The flip-flops can be allocated as `A` and `B`.Worked example:
How many input variables are there?
The input variables are only
0
and1
, meaning there is one input variable.The input variable can be allocated
x
.
Present State | ||
---|---|---|
00 | 00 | 01 |
01 | 10 | 01 |
10 | 10 | 11 |
11 | 11 | 00 |
Using JK Flip-flop excitation table
0
0
0
X
0
1
1
X
1
0
X
1
1
1
X
0
We can get the state table:
00 | 0 | 00 | 0 | X | 0 | X |
00 | 1 | 01 | 0 | X | 1 | X |
01 | 0 | 10 | 1 | X | X | 1 |
01 | 1 | 01 | 0 | X | X | 0 |
10 | 0 | 10 | X | 0 | 0 | X |
10 | 1 | 11 | X | 0 | 1 | X |
11 | 0 | 11 | X | 0 | X | 0 |
11 | 1 | 00 | X | 1 | X | 1 |
Sink state
A state that never moved out of itself to other states