flip flops
DESCRIPTION
Flip Flops. Flip Flops. Flip-flops serve as the elementary units for memory in digital systems. Two features are needed: 1. The circuit must be able to “hold” either state (a high or low output) and not simply reflect the input at any given time. - PowerPoint PPT PresentationTRANSCRIPT
Flip Flops
Flip Flops Flip-flops serve as the elementary units
for memory in digital systems. Two features are needed:
1. The circuit must be able to “hold” either state (a high or low output) and not simply reflect the input at any given time.
2. But in some circumstances, we must be able to change (to “set” and “reset”) the values.
Remembrance of states past
The way in which the previous state information is held is different for different types of memory
In DRAM (dynamic random access memory), the state (1 or 0) is held by a charge (or lack thereof) remaining on a capacitor– Charges tend to leak off of capacitors,
which is why DRAM must be periodically refreshed
SRAM In SRAM (static random access memory)
the history dependence is achieved via a feedback mechanism
Feedback: the return of part of the output to the input of a mechanism, process or system (Random House Dictionary)
SRAM does not need refreshing, making it faster, but it is more expensive; typically it is reserved for caching and other high-speed situations
RS Flip Flop
feedback
RS Flip Flop The Q output is inverted and fed
back in as an input Similarly the Q’ output is inverted
and fed back in as an input As suggested by the names Q and
Q’, these outputs are supposed to be inverses of one another
The hold operation The S=0, R=0 is the hold “state”,
the flip flop keeps its previous outputs
Imagine Q=1 and Q’=0, – Then Not Q’ (which is 1) is ORed with S
giving a 1 for the Q output – Then Not Q (which is 0) is ORed with R
giving a 0 for the Q’ output– The output is the same as the input (no
change)
The hold operation The S=0, R=0 is the hold “state”,
the flip flop keeps its previous outputs
Imagine Q=0 and Q’=1, – Then Not Q’ (which is 0) is ORed with S
giving a 0 for the Q output – Then Not Q (which is 1) is ORed with R
giving a 1 for the Q’ output– The output is the same as the input (no
change)
The set operation The S=1, R=0 is the set “state”,
the flip flop force Q=1 Imagine Q=0 and Q’=1,
– Then Not Q’ (which is 0) is ORed with S giving a 1 for the Q output
– Then Not Q (which is now 0) is ORed with R giving a 0 for the Q’ output
– The Q output is forced to be (set to) 1
The set operation The S=1,R=0 is the set “state”,
the flip flop forces Q=1 Imagine Q=1 and Q’=0,
– Then Not Q’ (which is 1) is ORed with S giving a 1 for the Q output
– Then Not Q (which is 0) is ORed with R giving a 0 for the Q’ output
– The Q output is forced to be (set to) 1
The reset operation The S=0,R=1 is the reset “state”,
the flip flop forces Q=0 Imagine Q=0 and Q’=1,
– Then Not Q’ (which is 0) is ORed with S giving a 0 for the Q output
– Then Not Q (which is 1) is ORed with R giving a 1 for the Q’ output
– The Q output is forced to be (reset to) 0
The reset operation The S=0,R=1 is the reset “state”, the
flip flop forces Q=0 Imagine Q=1 and Q’=0,
– Then Not Q’ (which is 1) is ORed with S giving a 1 for the Q output
– Then Not Q (which is now 0) is ORed with R giving a 1 for the Q’ output
– Then Not Q’ (which is now 0) is ORed with S giving a 0 for the Q output
– The Q output is forced to be (reset to) 0
The undesired operation The S=1,R=1 is the undesired
“state” Imagine Q=0 and Q’=1,
– Then Not Q’ (which is 0) is ORed with S giving a 1 for the Q output
– Then Not Q (which is now 0) is ORed with R giving a 1 for the Q’ output
– And so on– The Q and Q’ outputs are equal, which
is undesired
Level clocking
Level clocking Adding an additional layer of AND gates
and an extra input makes the flip flop “clocked”
What used to be the S input is now S ANDed with CLK, so the set action is now obtained only when S=1 AND CLK=1
This helps control when the setting occurs and keeps this action in sync with other operations occurring in the circuit
Edge triggering
Edge Triggering Feeding the outputs of one clocked
RS flip flop into a second flip flop in which the clock input is inverted results in an edge-triggered flip flop
The first flip flop acts as a level clocked flip flop, that is, setting and resetting occur only when the CLK input is 1
Edge triggering (cont.) During this period, the second RS
flip flop is getting the inverse of the CLK and so is in the no change state
When the CLK goes to 0, the first flip flop goes into its no change state and the second flip flop can be set or reset
Edge triggering What is setting or resetting the
second flip flop are the outputs of the first flip flop and they are held fixed
This way the inputs to the second flip flop can not vary through the course of the clock’s cycle
Whatever they were when the clock switched is what is important
JK Flip Flop
Making an RS into a JK Recall that the R=1, S=1 input
into an RS flip flop puts one into the undesired state
An additional feedback mechanism turns this undesired state of the RS flip flop into the “toggle” state of the JK flip flop
JK The inputs into the first AND gate
are now – J (used to be S), CLK and Q’ for the
upper – K (used to be R), CLK and Q for the
lower Since Q and Q’ are inverses, at
most one of the AND gates will yield a 1
The toggle state If J and K and the CLK are all 1,
the the outcome is determined by Q and Q’
If Q=1 and Q’=0, then the lower AND gate will produce a 1 and Q’ will be made equal to 1 and Q will be set to 0 (just the opposite of what they were)
This is called the toggle state.