Analysis of Clocked Sequential Circuits

advertisement
Analysis of Clocked
Sequential Circuits
Example of a Sequential Circuit
D flip-flops
Example:
Start with A=0, B=0, x=0.
A(next)=0
B(next)=0
Y(next)=0
What are A(next), B(next) and y(next) given
that A=1, B=1 and X=1?
D flip-flops
Alternate State Table
State Diagram
Each circle is a state
When x=1, y=0.
State Diagram
Each circle is a state
When x=0, y=1.
Detects 0 in the bit stream of
data
Output is a 0 as long as input is a 1.
The first 0 after a string of 1 transfers the circuit back to 00.
Summary
Model a Clocked Sequential
Circuit with Verilog
S0
S1
S2
S3
1. Use parameter to define constants
2. Form the next state from x and the
current state
3. Form the output
4. fork.....join construction
Parameter
S0
S1
S2
S3
Define states with parameter
Update States
S0
S2
If reset is 0, set state to S0.
If reset is 1, update state with next_state.
S1
S3
Implement the States Using
State Diagram
S0
S1
S2
S3
fork....join
Right click to add state and next_state to the waveform shown right
Valid Mealy Output
S0
S1
S2
S3
Mealy Glitches
S0
S1
S2
S3
Glitiches occur because
x changes before
the next rising clock edge
General Structure of a Mealy
Machine
Output depends on input as well as the state
The circuit is in. (variable: state)
Synchronize the input with clock when using Mealy machine.
Moore Machine
Output depends on the state, but not the input.
Synthesis of Sequential Circuit
• Start with a state diagram
• Assign Binary Values to the States
State Diagram for Sequence
Detector
• Problem statement:
– Design a circuit that detects a
sequence of three or more
consecutive 1’s in a string of bits
coming through an input line
State Diagram of the Word
Description
Start with S0.
if input is 0, stay in S0.
if input is 1, go to S1.
Once in S1
if input is 1, go to S2.
if input is 0, go to S0.
Once in S2
if input is 0, go to S0.
if input is 1, go to S3.
Once in S3,
if input is 0, go to S0.
if input is 1, stay in S3, set output to 1.
Output is 1 when the circuit is in S3, 0 otherwise.
Assign Binary Value to the States
0
1
2
3
4
5
6
7
Use two flip-flops to represent states.
Let x be the input
And y be the output
Assign Binary Value to the States
0
1
2
3
4
5
6
7
Circuit Implementation
Sequence Detector Circuit
Random Number
generator
Sequence
Detector
Measurement Results
B
A
x
y
clk
Download