Download Sequential Circuits`` Part A (PPT Slides)

Document related concepts

Switched-mode power supply wikipedia , lookup

Electronic engineering wikipedia , lookup

Control system wikipedia , lookup

Immunity-aware programming wikipedia , lookup

Rectiverter wikipedia , lookup

Opto-isolator wikipedia , lookup

Integrated circuit wikipedia , lookup

Flexible electronics wikipedia , lookup

Metadyne wikipedia , lookup

Verilog wikipedia , lookup

Digital electronics wikipedia , lookup

Time-to-digital converter wikipedia , lookup

Flip-flop (electronics) wikipedia , lookup

Transcript
ENG241
Digital Design
Week #6
Sequential Circuits (Part A)
Week #6 Topics





Sequential Circuit Definitions
Latches
Flip-Flops
Delays in Sequential Circuits
Clock Gating
2
Resources

Chapter #6, Mano Sections



6.1 Sequential Circuit Definition
6.2 Latches
6.3 Flip-Flops
3
Combinational Circuits

A combinational logic circuit has:
 A set of m Boolean inputs,
 A set of n Boolean outputs, and

The output depends
only on the current input values
No Feedback, no cycles
A block diagram:


Combinatorial
Logic
Circuit
m Boolean Inputs
n Boolean Outputs
4
Combinational/Sequential Circuits
o
Combinational logic are very interesting and useful
for designing arithmetic circuits (adders, multipliers)
or in other words the Data Path of a computer.

o
Combinational circuits cannot remember what happened in
the past (i.e. outputs are a function of current inputs).
In certain cases we might need to store some info
before we proceed with our computation or take
action based on a certain state that happened in the
past.

Sequential circuits are capable of storing information
between operations. They are useful in designing registers,
counters, and CONTROL Circuits.
5
Remembering States
Examples:
1. Counters:
1.
2.
3.
2.
ATM Machine:
1.
2.
3.
4.
3.
you start with count 0 and then proceed with count
1 and then to count 2 …
The counter is an example of a sequential circuit
that needs to remember the previous state in order
for it go to the correct new state.
The output of the counter is based on the
current state and also the inputs.
You insert your card (state 0)
The system will then go to (state 1) that will ask
you to enter your pin number
If successful then the machine will go to (state 2)
that will ask you for the service required (withdraw
cash, determine the balance, …)
The ATM machine is yet another example of a
sequential machine that will give the correct
response (output) based on your input and also
on the current state.
Control of Appliances:
1.
2.
3.
4.
A washing machine is an example of a sequential
machine.
It starts with an initial state (does nothing!!)
It will wait for some input from the user (setting
the dials to perform a certain task).
Based on the input and current state it will move
from one state to another (wash, then rinse then
spin …)
6
Sequential Circuits
o
o
Information that is stored in the
storage elements represent the
state of the system.
The outputs will depend on the
inputs and present state of the
storage elements.
Storage
Elements
7
Types of Sequential Circuits
Two main types and their classification
depends on the times at which their
inputs are observed and their internal
state changes.
o
Synchronous

o
State changes synchronized by one or more
clocks
Asynchronous

Changes occur independently
8
Signal Examples Over Time
Time
Analog
Digital
Asynchronous
Synchronous
Continuous in
value & time
Discrete in
value &
continuous
in time
Discrete in
value & time
9
Clocking of Synchronous Circuits
Changes enabled by a Global Clock
10
Comparison
o
Synchronous


o
Easier to analyze because can factor out gate delays
Speed of the system is determined by the clock
(maybe slowed!)
Asynchronous


Potentially faster
Harder to analyze
We will mainly look at synchronous
11
Basic Storage (How?)
1.
2.
Apply low or high for longer than tpd
 But we are interested in storing information indefinitely!
Feedback will hold value
 However we want inputs to our circuitry!
12
SR (set-reset) Latches:
o
o
o
Replace the inverters with NAND, NOR Gates
Basic storage made from gates
The information can be changed
o S & R both 0 in “resting” state
o Avoid both from being 1 at same time
13
Latches
Are storage elements that can maintain a
binary state indefinitely (as long as
power is delivered to the circuit) until
directed by an input signal to switch
states.


Latches are asynchronous circuits
Latches are used to build more complex
synchronous circuits such as Flip Flops.
14
Operation
Reset, Q=0
Set, Q=1
Keep State
Undefined!
15
S R Latch
Similar – made from NANDs
•
•
S & R both 1 in “resting” state
Have to keep both from 0 at same time
16
Add Control Input: SR Latch
An additional input determines when the state
of the latch can be changed!
Can we avoid the undefined state?
17
D-type Latch

No illegal state
18
Transparency of Latches
The state of a latch is allowed to switch by a
momentary change in value on the control
input.


As long as C (the trigger ) is high, state can
change!
This is called transparency
What is wrong with transparency?
19
Effects of Transparency
Clock

Output of one latch may feedback



o
Storage
Element
As soon as the input changes, shortly thereafter
the corresponding output changes to match it.
The final state will depend on how long the
clock pulse stays at level logic 1! (unreliable)
We need to predict the outputs at a certain
moment in time!
Want to change latch state once

Depending on inputs at time of clock
20
Flip-Flops
o
o
Ensure only one transition
Two major types
1.
Master-Slave (level triggered)


2.
Two stage
Output not changed until clock
disabled
Edge triggered

Change happens when clock level
changes
21
Master-Slave SR Flip-Flop
o
o
When Master is enabled, Slave is disabled!
Output Q will not change when inputs change
Master
S
S
C
C
R
R
SR Latch
Slave
22
Timing Diagram



Trace the behavior
Note the illegal state
Is it transparent?
1
0
1
0
23
Have We Fixed the Problem?


Output no longer transparent
 Combinational circuit can use last values
 New inputs appear at latches
 Not sent to output until clock low
 In one clock cycle we can predict what will happen
Note: Master-Slave = pulse triggered
24
JK Flip Flop
o
o
The JK Flip Flop is a modified version of the SR Flip
Flop which eliminates the undesirable condition that
leads to undefined outputs.
The JK flip flop performs three operations:
1. Set Q to 1
2. reset Q to 0
3. complement the output
25
Master-Slave JK Flip Flop
o
o
o
The J input sets the flip flop to 1.
The K input resets the flip flop to 0.
When both J and K are enabled, the
output is complemented.
26
Edge-Triggered Flip-Flops

An Edge Triggered Flip-Flop ignores the
pulse while it is at a constant level and
triggers only during a transition of the
clock signal.



New state latched on clock transition
Low-to-high or high-to-low
Changes when clock high are ignored
27
Clock Responses
We can classify Flip/Flops according to the response
to the clock.
28
Edge Triggered D-Flip-Flop
D
S
C
C
R
29
Characteristic Tables
Define the logical properties of a flip flop by describing
its operations in tabular form.
 They define the next state as a function of the inputs
and the present state.
 Q(t) refers to the present state prior to the application
of a clock edge.
 Q(t + 1) refers to the next state one clock period later.
 Clock edges are not listed as inputs but are implied by
the transition from t to t + 1.
30
D FF Characteristic Table
The Characteristic Equation:
Q(t + 1) = D(t)
This indicates that the output (next state)
always follows the input!!
31
Edge-Triggered D Flip Flop:
Graphic Symbols
The triangle is called: dynamic indicator
32
Other Flip Flops
Other types of flip flops can be constructed
by using the D flip flop and external logic.
The two most commonly used are:
1.
2.
Edge triggered JK flip flops
T flip flops
33
JK Characteristic Table
Characteristic Equation:
Q(t+1) = J(t) Q’(t) + K’(t)Q(t)
Utilize the equation to create a JK flipflop
from an existing D flipflop
34
JK- Characteristic Equation
J
K
Q
CLK
Q+
0
0
0
^
0
0
0
1
^
1
0
1
0
^
0
0
1
1
^
0
1
0
0
^
1
1
0
1
^
1
1
1
0
^
1
1
1
1
^
0
JK
Q
00
0
1
01 11
10
0
0
1
1
1
0
0
1
Q(t+1) = J(t) Q’(t) + K’(t)Q(t)
35
Edge-Triggered JK Flip Flop
Q(t+1) = J(t) Q’(t) + K’(t)Q(t)
36
Analysis of the JK Circuit
The circuit applied to the D input is:
D = JQ’ + K’Q
I.
If J = 1 and K = 0, D = Q + Q’ = 1 (Set)
II.
If J = 0 and K = 1, D = 0 (Reset)
III. If J = K = 0, D = Q, (No Change)
IV.
If J = K = 1, D = Q’ (Complement)
37
T Flip Flop
o
o
The T Flip Flop is a complementing flip flop.
How can we obtain a T Flip Flop from a JK
Flip Flop or D Flip Flop?
T
Q(t+1) = TQ’(t) + T’Q(t)
38
T Flip Flop
The T flip flop can be obtained from a JK flip
flop when inputs J and K are tied together.
39
Characteristic Equations
o
The D flip flop can be expressed as:

o
The JK flip flop can be expressed as:

o
Q(t + 1) = JQ’ + K’Q
The T flip flop can be expressed as:


Q(t + 1) = D
Q(t + 1) = TQ’ + T’Q
Characteristic Tables are used to
1.
2.
Derive the characteristic equations,
Analyze Sequential Circuits.
40
Standard Symbols – Latches
Circle at input indicates negation
41
Symbols – Master-Slave
o
o
Inverted L indicates postponed output
Circle indicates whether enable is
positive or negative
42
Symbols – Edge-Triggered

Arrow indicates edge trigger
43
Direct Inputs

Set/Reset independent of clock



Direct set or preset
Direct reset or clear
Often used for power-up reset
44
VHDL Design Styles
VHDL Design
Styles
dataflow
Concurrent
statements
structural
Components and
interconnects
behavioral
(algorithmic)
Sequential statements
• Registers
• State machines
• Test benches
45
VHDL For Sequential Circuits
o
Several techniques have been discussed in class to
describe the architecture of combinational logic
circuits:
1.
2.
o
o
Data Flow
Structural
Statements used in “Data Flow” and “Structural”
descriptions can be executed in parallel i.e.
concurrently.
Another technique to describe the architecture of
any circuit is to use Behavioral description.


The process statement is usually used to describe
sequential designs.
The process statement consists of only sequential
statements
46
VHDL For Sequential Circuits
o
o
To describe sequential circuits we usually use the
“process” statement.
A process statement consists of
1.
2.
Sensitivity list  Process (CLK, RESET)
This list enumerates exactly which signals causes
the process statement to be executed.
(Only events on these signals cause the process
statement to be executed!)
Declarative region  Process (CLK, RESET)
…… (declare local vars)
Begin
…..
END
47
VHDL for Positive Edge Triggered D-FF
-- positive Edge-Triggered D flip-flop with reset
-- VHDL Process Description
library ieee;
use ieee.std_logic_1164.all;
entity dff is
port (CLK, RESET, D : in std_logic;
Q
: out std_logic);
end dff;
architecture pet_pr of dff is
begin
process (CLK, RESET)
begin
if (RESET = `1’) then
Q <= `0’;
elsif (CLK’event and CLK = `1’) then - - you can use rising_edge(CLK) instead!
Q <= D;
end if;
end process;
end;
48
Flip-Flop Timing
•
•
Setup time (ts)– time that D must
be available before clock edge
Hold time (th)– time that D must be
stable after clock edge
49
Summary
o
o
o
o
o
Combinational logic are very interesting and useful for
designing arithmetic circuits (adders, multipliers) or in other
words the Data Path of a computer.
Sequential circuits are capable of storing information
between operations. They are useful in designing registers,
counters, and CONTROL Circuits.
Latches are storage elements that are asynchronous,
transparent and are used to build more complex
synchronous circuits such as Flip-Flops.
Flip-flops avoid the transparency problem faced by
latches and are either Master-Slave pulse active or
edge triggered.
Characteristic tables will be used to analyze the
behavior of sequential circuits.
50
Propagation Delay

Propagation delay – time after edge
when output is available
52
Positive D-Type Edge Triggered
D
S
C
C
R
53
Have We Fixed the Problem?



Output no longer transparent
 Combinational circuit can use last values
 New inputs appear at latches
 Not sent to output until clock low
 In one clock cycle we can predict what will happen
But changes at input of FF when clock high trigger
next state
 Transient state where S goes high caused by gate
delays

As clock faster, more problems

Have to guarantee circuit settles while clock low
Note: Master-Slave = pulse triggered
54
Clock Pulse Requirements

Basically a max clock frequency
55
Clock Gating

Can gate clocks (to keep any FF from
changing states, for example)


However, can cause clock skew


Clock gating used to reduce power drain
Clock edges at different times on different
FFs
Clock skew also caused by wire lengths
over chip
56
T Flip Flop

The T flip flop can also be
obtained from a D flip flop by
using an XOR as the input for D.
57
Master-Slave JK Flip Flop
Q(t+1) = J(t) Q’(t) + K’(t)Q(t)
58