SlideShare a Scribd company logo
1 of 32
ELEC 256 / Saif Zahir
UBC / 2000
Sequential Logic Design
• Sequential Networks
Simple Circuits with Feedback
R-S Latch
J-K Flipflop
Edge -Triggered Flip-Flops
• Timing Methodologies
Cascading Flip-Flops for Proper Operation
Narrow Width Clocking vs. Multiphase Clocking
Clock Skew
• Realizing Circuits with Flip-Flops
Choosing a FF Type
Characteristic Equations
Conversion Among Types
• Self-Timed Circuits
ELEC 256 / Saif Zahir
UBC / 2000
Sequential Switching Networks
• Sequential logic forms basis for building
"memory" into circuits.
• Sequential logic is characterized by the
presence of feedback paths.
Combinational
Logic
Delay = D
x1
x2
x3
x4
z1
z2
z3
z4
z3 = F(x1, ... ,x4,z3,z4)
z3(t+D) = F(x1(t), ... ,x4(t),z3(t),z4(t))
Observations:
• z3 and z4 appear as both
inputs and outputs.
• The “state” of variable z3 (or z4) at
time t+D depends on its value at
time t, i.e. z3(t+D) = F(z3(t)),
hence, circuit has memory.
• z3(t) and z4(t) are called
state variables .
Sequential Circuit
ELEC 256 / Saif Zahir
UBC / 2000
Simple Sequential Circuits
Cascaded Inverters: Static Memory Cell "0"
"1"
Delay=D
x(t) z(t)
D
D
t
x
z
Assuming D > 0
z(t+D) = x(t) z(t)
if x(t) = 0 then z(t)=1 (stable state)
if x(t) = 1 then z(t+D) = z(t)
Another Example
Observe that
NAND gate with one input asserted
acts as an inverter with respect to
other input
When x=1, equaivalent circuit
z(t)
Timing Waveform:
ELEC 256 / Saif Zahir
UBC / 2000
Inverter Chains and Ring Oscillators
Inverter Chains
Odd # of stages leads to ring oscillator
Snapshot taken just before last inverter changes
Output high
propagating
thru this stage
Timing Waveform:
A (=X)
B
C
D
E
Period of Repeating Waveform (tp)
Gate Delay ( td)
0
1
0
1
0
1
tp = n D
n = no. inverters
A
B C D E
1 0 0
0
1
X
ELEC 256 / Saif Zahir
UBC / 2000
Cross-Coupled NOR Gates
Observation
NOR gate with one input=0, acts as an
inverter with respect to other input.
0
x
X
x(t)
z(t)
x=1 --> z=0
x=0 --> z=1
Problem: how can we insert x in the loop?
Simple-Latch: two-inverter loop
q
Q
R
S
Equivalent NOR circuit with two control
inputs (R and S) to break or close the loop
R: Reset input (R=1 --> Q=0)
S: Set input (S=1 --> Q=1)
q
Q
R
S
Alternative
representation
ELEC 256 / Saif Zahir
UBC / 2000
The RS Latch
q=0
Q=1
R=0
S=0
• if R=S=0 then Q(t+D)=Q(t) (memory element)
q=1
Q=0
R=0
S=0
q=0
Q=0
R=1
S=1
• if R=S=1 then q = Q = 0, which violates the inverter rule (q = 0, Q = 1)
• if R and S chnage from 1-to-0 at precisely same moment, then RS latch
will oscillate (provided the NOR gate delays are perfectly matched)
q=0-->1-->0-->1--
Q=0-->1-->0-->1--
R=1-->0
S=1-->0
0-->1-->0-->1
0-->1-->0-->1
ELEC 256 / Saif Zahir
UBC / 2000
State Behavior of RS Latch
Truth Table Summary
of R-S Latch Behavior
Q Q Q Q
Q Q
0 1 1 0
0 0
Q Q
1 1
Q
hold
0
1
unstable
S
0
0
1
1
R
0
1
0
1
The response and transient behavior of the RS latch can be described
using a state-diagram:
1- Nodes represent the unique states
of the circuit
2- Arcs indicate state-transition under
particular input combinations
(arc labels).
Because of the resulting unstable behavior
the combination R=S=1 is called the forbidden
input for the RS latch.
state 0
state 3
state 1 state 2
ELEC 256 / Saif Zahir
UBC / 2000
State-Diagrams and State Tables
Q Q Q Q
Q Q
0 1 1 0
0 0
SR = 1 0
SR = 0 1
SR = 0 1
SR = 1 1
SR = 1 0
SR = 1 1
SR = 00, 01 SR = 00, 10
Q Q
1 1
SR = 0 0
SR = 0 0, 11
SR = 11
SR = 1 0
SR = 0 1
qQ SR SR SR SR
00 01 10 11
00 11 01 10 00
01 01 01 10 00
10 10 01 10 00
00 00 01 10 00
PS NS (q+, Q+)
PS : present state
NS: next state
Q+ : Q(t+D)
A state-table expresses the same
information of the state-diagram
in a tabular format
Note the unstable behavior is now obvious from the continuous transition
states 00 and 11 when SR changes from 11 to 00.
ELEC 256 / Saif Zahir
UBC / 2000
The D-Latch
enabled when C=1
D
C
Clk
Enable
Q
q
if C=1 then Q=D
if C=0 then Q(t+D)=Q(t)
if C=0, then R=S=0
and Q(t+D)=Q(t)
If C=1 and D=0 then
R=1, S=0, and Q=0
if C=1 and D=1 then
R=0, S=1, and Q=1
Realization using an RS latch
Note that input R=S=1
can not occur
R
S Q
q
q
D
C
RS
Latch
ELEC 256 / Saif Zahir
UBC / 2000
Input
Clock
Tsu Th
Steup and Hold Times
Clock:
Periodic Event, causes state of memory
element to change.
There is a timing "window" around the
clocking event during which the input
must remain stable and unchanged
in order to be recognized
Setup Time (Tsu):
Minimum time before the clocking event by
which the input must be stable
Hold Time (Th)
Minimum time after the clocking event during
which the input must remain stable
Primitive Memory Elements:
Latches: Continuously sample their inputs. Any change in the level of the inputs
is propagated through to the outputs (level sensitive).
Flip-Flops: Outputs change only with respect to the clock, normally the rising edge
or the falling edges of the clock.
ELEC 256 / Saif Zahir
UBC / 2000
Level Sensitive Latches
 S
 R
 Q
Q
enb
Timing Diagram:
Set Reset
RS latch with active-low inputs and active-low Enable
Truth Table
enb S R Q+
1 x x Q
0 0 0 Q
0 0 1 0
0 1 0 1
0 1 1 Unstable
ELEC 256 / Saif Zahir
UBC / 2000
Flip-Flops and Latches
7474
7476
Bubble here for negative
edge triggered device
Timing Diagram:
Behavior is the same unless input changes
occur while the clock is high
Edge triggered devices sample inputs on the rising
or falling edge of the Clock or the Enable.
Transparent latches sample inputs as long as the
clock is asserted -
output changes with input (after certain delay).
Positive edge-triggered
flip-flop
Level-sensitive
latch
D Q
D Q
C
Clk
Clk
D
Clk
Q
Q
7474
7476
ELEC 256 / Saif Zahir
UBC / 2000
Flip-Flops vs. Latches
Input/Output Behavior of Latches and Flipflops
Type When Inputs are Sampled When Outputs are Valid
unclocked always propagation delay from
latch input change
level clock high propagation delay from
sensitive (Tsu, Th around input change
latch falling clock edge)
positive edge clock lo-to-hi transition propagation delay from
flipflop (Tsu, Th around rising edge of clock
rising clock edge)
negative edge clock hi-to-lo transition propagation delay from
flipflop (Tsu, Th around falling edge of clock
falling clock edge)
master/slave clock hi-to-lo transition propagation delay from
flipflop (Tsu, Th around falling edge of clock
falling clock edge)
ELEC 256 / Saif Zahir
UBC / 2000
Flip-Flops: Typical Timing Specifications
74LS74 Positive
Edge Triggered
D Flipflop
• Setup time
• Hold time
• Minimum clock width
• Propagation delays
(low to high, high to low,
max and typical)
All measurements are made from the clocking event
that is, the rising edge of the clock
D
Clk
Q
Tsu
20
ns
Th
5
ns
Tw
25
ns
Tplh
25 ns
13 ns
Tsu
20
ns
Th
5
ns
Tphl
40 ns
25 ns
ELEC 256 / Saif Zahir
UBC / 2000
Latches: Typical Timing Specifications
74LS76
Transparent
Latch
• Setup time
• Hold time
• Minimum Clock Width
• Propagation Delays:
high to low, low to high,
maximum, typical
data to output
clock to output
Measurements from falling clock edge
or rising or falling data edge
Tsu
20
ns
Th
5
ns
Tsu
20
ns
Th
5
ns
Tw
20
ns
Tplh
C » Q
27 ns
15 ns
Tphl
C » Q
25 ns
14 ns
Tplh
D » Q
27 ns
15 ns
Tphl
D » Q
16 ns
7 ns
D
Clk
Q
ELEC 256 / Saif Zahir
UBC / 2000
Designing Latches
RS Latch
Truth Table:
Next State = F(S, R, Current State)
Derived K-Map:
Characteristic Equation:
q(t+D)=s(t)+R(t)q(t)
or
q+=s + Rq
R
SR
00 01 11 10
0 0 X 1
1 0 X 1
0
1
Q(t)
S
q
Q
R
S
q
q
R
S
Compare to previous NOR implementation
ELEC 256 / Saif Zahir
UBC / 2000
The JK Latch
The JK latch eliminates the forbidden state of the RS latch
Basic principle:
use output feedback to guarantee
that R=S=1 never occurs
J=K=1 yields toggle (q+ = Q)
Characteristic Equation:
Q+ = Q K + Q J
R-S
latch
K
J S
R
Q
 Q
 Q
Q
J
K
D
C
Q
enb
D-Latch
ELEC 256 / Saif Zahir
UBC / 2000
JK Latches
q SR SR SR SR
00 01 10 11
0 0 0 1 x
1 1 0 1 x
Q Q 0 1 x
PS NS (q+, Q+)
Simplified State-Tables
q JK JK JK JK
00 01 10 11
0 0 0 1 1
1 1 0 1 0
Q Q 0 1 Q
PS NS (q+, Q+)
JK=01 , 11
JK=10 , 11
JK=00 , 10
JK=00, 01
Q=1 Q=0
J K Q+
0 0 Q
0 1 0
1 0 1
1 1 Q
ELEC 256 / Saif Zahir
UBC / 2000
From JK Latch to JK Flip-Flop
JK Latch: Race Condition
J
K
Q
 Q
100
Set Reset Toggle
Race Condition
• Ideally, the Latch should toggle only once when JK=11.
• Because of latch transparency, race conditions cause continuous toggrling.
• Toggle Correctness: Single State change per clocking event
• Solution: Master-Slave Flipflop
ELEC 256 / Saif Zahir
UBC / 2000
Master-Slave JK Flip-Flop
Correct Toggle
Operation
Master Stage Slave Stage
Sample inputs while clock high Sample inputs while clock low
J
R-S
Latch
R-S
Latch
K
R
S
Clk
Q
Q
P
P
R
S
Q
Q
Q
Q
Master
outputs
Slave
outputs
Set Reset Toggle
1's
Catch 100
J
K
Clk
P
 P
Q
 Q
Break feedback path, by dividing operation in two time periods
(clock-high and clock-low)
ELEC 256 / Saif Zahir
UBC / 2000
The Toggle (T) FlipFlop
State table
T Q Q+
0 0 0
0 1 1
1 0 1
1 1 0
T Q
C
T
flipflop
JK
flipflop
T J
K
C
Q
T-FF can be realized using a JK-FF
Verification: J=K=T
T Q+
0 Q
1 Q
or
T J K Q+
0 0 0 q
1 1 1 Q
q+ = tQ+Tq
D
flipflop
T
D
C
Q
T-FF can be realized using a D-FF
ELEC 256 / Saif Zahir
UBC / 2000
Edge-Triggered FlipFlops
Characteristic equation
Q+ = D
Q
Q
D
Clk=1
R
S
0
0
D
D
D
Holds D when
clock goes low
Holds D when
clock goes low
Negative edge-triggered D flipflop
• Flipflop state changes right after the falling edge of the clock
• 4-5 gate delays (longer than latches)
• Setup and Hold times are necessary for correct operation
Example:
D
Clk
Q
ELEC 256 / Saif Zahir
UBC / 2000
Edge-Triggered D FlipFlopk
Step-by-step analysis
Q
Q
D
Clk=0
R
S
D
D
D
D
D
D
When clock goes from
high-to-low data is latched
Q
Q
D'
Clk=0
R
S
D
D
D
D
D' ° D
0
0
1
2
3
4
5
6
When clock is low data is held
ELEC 256 / Saif Zahir
UBC / 2000
Positive and Negative Edge Triggered FlipFlops
Positive Edge Triggered
Inputs sampled on rising edge
Outputs change after rising edge
Negative Edge Triggered
Inputs sampled on falling edge
Outputs change after falling edge
Positive edge-
triggered FF
Negative edge-
triggered FF
D
Clk
Qpos
 Qpos
Qneg
 Qneg
100
Timing Diagram
ELEC 256 / Saif Zahir
UBC / 2000
Comparison
R-S Clocked Latch:
used as storage element in narrow width clocked systems
its use is not recommended!
however, fundamental building block of other flipflop types
J-K Flipflop:
versatile building block
can be used to implement D and T FFs
usually requires least amount of logic to implement ƒ(In,Q,Q+)
but has two inputs with increased wiring complexity
because of 1's catching, never use master/slave J-K FFs
Use edge-triggered varieties
D Flipflop:
minimizes wires, much preferred in VLSI technologies
simplest design technique
best choice for storage registers
T Flipflops:
don't really exist, constructed from J-K FFs
usually best choice for implementing counters
Asynchronous Preset and Clear inputs are highly desirable!
ELEC 256 / Saif Zahir
UBC / 2000
FlipFlop Excitation Tables
Useful Design Tool:
For each state-transition, the excitation table lists the required input combination(s)
D Q+
0 0
1 1
D Q
C
D
flipflop
q+ = d
T Q
C
T
flipflop
q+ = tQ+Tq
Q Q+ D
0 0 0
0 1 1
1 0 0
1 1 1
Excitation Table
Q Q+ T
0 0 0
0 1 1
1 0 1
1 1 0
1. D FlipFlop
2. T FlipFlop
Transition Table
T Q+
0 q
1 Q
Excitation Table
Transition Table
ELEC 256 / Saif Zahir
UBC / 2000
FlipFlop Excitation Tables
q+ = s + Rq
Q Q+ R S
0 0 X 0
0 1 0 1
1 0 1 0
1 1 0 X
1. SR FlipFlop
R Q
Clk SR
flipflop
S
Transition Table Excitation Table
R S Q+
0 0 Q
0 1 1
1 0 0
1 1 forbid
q+ = jQ + Kq
Q Q+ J K
0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0
1. JK FlipFlop
J Q
Clk JK
flipflop
K
Transition Table Excitation Table
R S Q+
0 0 q
0 1 1
1 0 0
1 1 Q
Q=0 Q=1
JK= 10, 11
JK= 01, 11
JK=00,01 JK=00,10
Q=0 Q=1
RS= 01
RS=10
RS=00,10 RS=00,01
ELEC 256 / Saif Zahir
UBC / 2000
Conversion Between FlipFlop Types
Procedure uses excitation tables
Method: to realize a type A flipflop using a type B flipflop:
1. Start with the K-map or state-table for the A-flipflop.
2. Express B-flipflop inputs as a function of the inputs and present state of
A-flipflop such that the required state transitions of A-flipflop are reallized.
x
y
Q
Type B
x
y
Q
g
h
CL
CL
Type A
1. Find Q+ = f(g,h,Q) for type A (using type A state-table)
2. Compute x = f1(g,h,Q) and y=f2(g,h,Q) to realize Q+.
ELEC 256 / Saif Zahir
UBC / 2000
Conversion Between FlipFlop Types
Example: Use JK-FF to realize D-FF
1) Start transition table for D-FF
2) Create K-maps to express J and K as functions of inputs (D, Q)
3) Fill in K-maps with appropriate values for J and K
to cause the same state transition as in the D-FF transition table
D
0
1
0
1
T
0
1
1
0
Q+
0
1
0
1
Q
0
0
1
1
S
0
1
0
X
R
X
0
1
0
K
X
X
1
0
J
0
1
X
X
D
X X
1 0
K = D
0 1
0
1
Q
D
0 1
X X
J = D
0 1
0
1
Q
State-Table
D Q Q+ J K
0 0 0 0 X
0 1 0 X 1
1 0 1 1 X
1 1 1 X 0
e.g.
when D=Q=0, then Q+= 0
the same transition Q-->Q+
is realize with J=0, K=X
ELEC 256 / Saif Zahir
UBC / 2000
Conversion Between FlipFlops
Another Example: Implement JK-FF using a D-FF
J K Q Q+ D T
0 0 0 0 0 0
0 0 1 1 1 0
0 1 0 0 0 0
0 1 1 0 0 1
1 0 0 1 1 1
1 0 1 1 1 0
1 1 0 1 1 1
1 1 1 0 0 1
0 0 1 1
0 1 1 0
00 01 11 10
J
K
JK
Q
0
1
t= jQ + kq
0 0 1 1
1 0 0 1
00 01 11 10
J
K
JK
Q
0
1
d= jQ + Kq
J
K
D
C
Q
Clk
DFF
J
K
T
C
Q
Clk
T-FF
ELEC 256 / Saif Zahir
UBC / 2000
Asynchronous Inputs
PRESET and CLEAR:
asynchronous, level-sensitive inputs
used to initialize a flipflop.
D
C
S
R
Q
Q
0
1
0
1
0
1 Q
Clk
SET
CLR
T
Q
T
SET
CLR
Clk
200 400
Clk
T Q
CLEAR
PRESET
PRESET, CLEAR: active low inputs
PRESET = 0 --> Q = 1
CLEAR = 0 --> Q = 0
LogicWorks Simulation
ELEC 256 / Saif Zahir
UBC / 2000
In
Q0
Q1
Clk
100
Proper Cascading of Flipflops
Correct Operation,
assuming positive
edge triggered FF
IN
CLK
Q0 Q1
D
C
Q
Q
D
C
Q
Q
FF0 FF1
Serial connection of positive edge-trigerred flipflops
1. on rising efge of CLK, FF1 reads Q0, and FF0 reads IN
2. during clock period FF1 performs Q1 <-- Q0, and FF0 performs Q0 <-- IN
Shift-register

More Related Content

Similar to unit3.ppt

FlipFlopsLatches off different inputs a and b
FlipFlopsLatches off different inputs a and bFlipFlopsLatches off different inputs a and b
FlipFlopsLatches off different inputs a and b
Meenakshi Munjal
 

Similar to unit3.ppt (20)

Cs1104 11
Cs1104 11Cs1104 11
Cs1104 11
 
Flip flops
Flip flopsFlip flops
Flip flops
 
Flip flops
Flip flopsFlip flops
Flip flops
 
Sequentialcircuits
SequentialcircuitsSequentialcircuits
Sequentialcircuits
 
UNIT - III.pptx
UNIT - III.pptxUNIT - III.pptx
UNIT - III.pptx
 
flip-flop1.ppt
flip-flop1.pptflip-flop1.ppt
flip-flop1.ppt
 
Combinational Logic Concept Powerpoint Presentation
Combinational Logic Concept Powerpoint PresentationCombinational Logic Concept Powerpoint Presentation
Combinational Logic Concept Powerpoint Presentation
 
Flipflops and Excitation tables of flipflops
Flipflops and Excitation tables of flipflopsFlipflops and Excitation tables of flipflops
Flipflops and Excitation tables of flipflops
 
Sequential Circuit
Sequential CircuitSequential Circuit
Sequential Circuit
 
DIGITAL ELECTRONICS PPT 1.ppt
DIGITAL ELECTRONICS PPT 1.pptDIGITAL ELECTRONICS PPT 1.ppt
DIGITAL ELECTRONICS PPT 1.ppt
 
Lec9
Lec9Lec9
Lec9
 
Sequential circuits
Sequential circuitsSequential circuits
Sequential circuits
 
Flipflop r012
Flipflop   r012Flipflop   r012
Flipflop r012
 
flip flops.pptx
flip flops.pptxflip flops.pptx
flip flops.pptx
 
Flip flop
Flip flopFlip flop
Flip flop
 
Sequential
SequentialSequential
Sequential
 
FlipFlopsLatches off different inputs a and b
FlipFlopsLatches off different inputs a and bFlipFlopsLatches off different inputs a and b
FlipFlopsLatches off different inputs a and b
 
FlipFlopsLatches1.ppt
FlipFlopsLatches1.pptFlipFlopsLatches1.ppt
FlipFlopsLatches1.ppt
 
FlipFlopsLatches1.ppt
FlipFlopsLatches1.pptFlipFlopsLatches1.ppt
FlipFlopsLatches1.ppt
 
FlipFlopsLatches1 (3).ppt
FlipFlopsLatches1 (3).pptFlipFlopsLatches1 (3).ppt
FlipFlopsLatches1 (3).ppt
 

Recently uploaded

Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
Epec Engineered Technologies
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
Kamal Acharya
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
AldoGarca30
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
pritamlangde
 

Recently uploaded (20)

A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)Theory of Time 2024 (Universal Theory for Everything)
Theory of Time 2024 (Universal Theory for Everything)
 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKARHAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
HAND TOOLS USED AT ELECTRONICS WORK PRESENTED BY KOUSTAV SARKAR
 
Moment Distribution Method For Btech Civil
Moment Distribution Method For Btech CivilMoment Distribution Method For Btech Civil
Moment Distribution Method For Btech Civil
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Learn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksLearn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic Marks
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 

unit3.ppt

  • 1. ELEC 256 / Saif Zahir UBC / 2000 Sequential Logic Design • Sequential Networks Simple Circuits with Feedback R-S Latch J-K Flipflop Edge -Triggered Flip-Flops • Timing Methodologies Cascading Flip-Flops for Proper Operation Narrow Width Clocking vs. Multiphase Clocking Clock Skew • Realizing Circuits with Flip-Flops Choosing a FF Type Characteristic Equations Conversion Among Types • Self-Timed Circuits
  • 2. ELEC 256 / Saif Zahir UBC / 2000 Sequential Switching Networks • Sequential logic forms basis for building "memory" into circuits. • Sequential logic is characterized by the presence of feedback paths. Combinational Logic Delay = D x1 x2 x3 x4 z1 z2 z3 z4 z3 = F(x1, ... ,x4,z3,z4) z3(t+D) = F(x1(t), ... ,x4(t),z3(t),z4(t)) Observations: • z3 and z4 appear as both inputs and outputs. • The “state” of variable z3 (or z4) at time t+D depends on its value at time t, i.e. z3(t+D) = F(z3(t)), hence, circuit has memory. • z3(t) and z4(t) are called state variables . Sequential Circuit
  • 3. ELEC 256 / Saif Zahir UBC / 2000 Simple Sequential Circuits Cascaded Inverters: Static Memory Cell "0" "1" Delay=D x(t) z(t) D D t x z Assuming D > 0 z(t+D) = x(t) z(t) if x(t) = 0 then z(t)=1 (stable state) if x(t) = 1 then z(t+D) = z(t) Another Example Observe that NAND gate with one input asserted acts as an inverter with respect to other input When x=1, equaivalent circuit z(t) Timing Waveform:
  • 4. ELEC 256 / Saif Zahir UBC / 2000 Inverter Chains and Ring Oscillators Inverter Chains Odd # of stages leads to ring oscillator Snapshot taken just before last inverter changes Output high propagating thru this stage Timing Waveform: A (=X) B C D E Period of Repeating Waveform (tp) Gate Delay ( td) 0 1 0 1 0 1 tp = n D n = no. inverters A B C D E 1 0 0 0 1 X
  • 5. ELEC 256 / Saif Zahir UBC / 2000 Cross-Coupled NOR Gates Observation NOR gate with one input=0, acts as an inverter with respect to other input. 0 x X x(t) z(t) x=1 --> z=0 x=0 --> z=1 Problem: how can we insert x in the loop? Simple-Latch: two-inverter loop q Q R S Equivalent NOR circuit with two control inputs (R and S) to break or close the loop R: Reset input (R=1 --> Q=0) S: Set input (S=1 --> Q=1) q Q R S Alternative representation
  • 6. ELEC 256 / Saif Zahir UBC / 2000 The RS Latch q=0 Q=1 R=0 S=0 • if R=S=0 then Q(t+D)=Q(t) (memory element) q=1 Q=0 R=0 S=0 q=0 Q=0 R=1 S=1 • if R=S=1 then q = Q = 0, which violates the inverter rule (q = 0, Q = 1) • if R and S chnage from 1-to-0 at precisely same moment, then RS latch will oscillate (provided the NOR gate delays are perfectly matched) q=0-->1-->0-->1-- Q=0-->1-->0-->1-- R=1-->0 S=1-->0 0-->1-->0-->1 0-->1-->0-->1
  • 7. ELEC 256 / Saif Zahir UBC / 2000 State Behavior of RS Latch Truth Table Summary of R-S Latch Behavior Q Q Q Q Q Q 0 1 1 0 0 0 Q Q 1 1 Q hold 0 1 unstable S 0 0 1 1 R 0 1 0 1 The response and transient behavior of the RS latch can be described using a state-diagram: 1- Nodes represent the unique states of the circuit 2- Arcs indicate state-transition under particular input combinations (arc labels). Because of the resulting unstable behavior the combination R=S=1 is called the forbidden input for the RS latch. state 0 state 3 state 1 state 2
  • 8. ELEC 256 / Saif Zahir UBC / 2000 State-Diagrams and State Tables Q Q Q Q Q Q 0 1 1 0 0 0 SR = 1 0 SR = 0 1 SR = 0 1 SR = 1 1 SR = 1 0 SR = 1 1 SR = 00, 01 SR = 00, 10 Q Q 1 1 SR = 0 0 SR = 0 0, 11 SR = 11 SR = 1 0 SR = 0 1 qQ SR SR SR SR 00 01 10 11 00 11 01 10 00 01 01 01 10 00 10 10 01 10 00 00 00 01 10 00 PS NS (q+, Q+) PS : present state NS: next state Q+ : Q(t+D) A state-table expresses the same information of the state-diagram in a tabular format Note the unstable behavior is now obvious from the continuous transition states 00 and 11 when SR changes from 11 to 00.
  • 9. ELEC 256 / Saif Zahir UBC / 2000 The D-Latch enabled when C=1 D C Clk Enable Q q if C=1 then Q=D if C=0 then Q(t+D)=Q(t) if C=0, then R=S=0 and Q(t+D)=Q(t) If C=1 and D=0 then R=1, S=0, and Q=0 if C=1 and D=1 then R=0, S=1, and Q=1 Realization using an RS latch Note that input R=S=1 can not occur R S Q q q D C RS Latch
  • 10. ELEC 256 / Saif Zahir UBC / 2000 Input Clock Tsu Th Steup and Hold Times Clock: Periodic Event, causes state of memory element to change. There is a timing "window" around the clocking event during which the input must remain stable and unchanged in order to be recognized Setup Time (Tsu): Minimum time before the clocking event by which the input must be stable Hold Time (Th) Minimum time after the clocking event during which the input must remain stable Primitive Memory Elements: Latches: Continuously sample their inputs. Any change in the level of the inputs is propagated through to the outputs (level sensitive). Flip-Flops: Outputs change only with respect to the clock, normally the rising edge or the falling edges of the clock.
  • 11. ELEC 256 / Saif Zahir UBC / 2000 Level Sensitive Latches S R Q Q enb Timing Diagram: Set Reset RS latch with active-low inputs and active-low Enable Truth Table enb S R Q+ 1 x x Q 0 0 0 Q 0 0 1 0 0 1 0 1 0 1 1 Unstable
  • 12. ELEC 256 / Saif Zahir UBC / 2000 Flip-Flops and Latches 7474 7476 Bubble here for negative edge triggered device Timing Diagram: Behavior is the same unless input changes occur while the clock is high Edge triggered devices sample inputs on the rising or falling edge of the Clock or the Enable. Transparent latches sample inputs as long as the clock is asserted - output changes with input (after certain delay). Positive edge-triggered flip-flop Level-sensitive latch D Q D Q C Clk Clk D Clk Q Q 7474 7476
  • 13. ELEC 256 / Saif Zahir UBC / 2000 Flip-Flops vs. Latches Input/Output Behavior of Latches and Flipflops Type When Inputs are Sampled When Outputs are Valid unclocked always propagation delay from latch input change level clock high propagation delay from sensitive (Tsu, Th around input change latch falling clock edge) positive edge clock lo-to-hi transition propagation delay from flipflop (Tsu, Th around rising edge of clock rising clock edge) negative edge clock hi-to-lo transition propagation delay from flipflop (Tsu, Th around falling edge of clock falling clock edge) master/slave clock hi-to-lo transition propagation delay from flipflop (Tsu, Th around falling edge of clock falling clock edge)
  • 14. ELEC 256 / Saif Zahir UBC / 2000 Flip-Flops: Typical Timing Specifications 74LS74 Positive Edge Triggered D Flipflop • Setup time • Hold time • Minimum clock width • Propagation delays (low to high, high to low, max and typical) All measurements are made from the clocking event that is, the rising edge of the clock D Clk Q Tsu 20 ns Th 5 ns Tw 25 ns Tplh 25 ns 13 ns Tsu 20 ns Th 5 ns Tphl 40 ns 25 ns
  • 15. ELEC 256 / Saif Zahir UBC / 2000 Latches: Typical Timing Specifications 74LS76 Transparent Latch • Setup time • Hold time • Minimum Clock Width • Propagation Delays: high to low, low to high, maximum, typical data to output clock to output Measurements from falling clock edge or rising or falling data edge Tsu 20 ns Th 5 ns Tsu 20 ns Th 5 ns Tw 20 ns Tplh C » Q 27 ns 15 ns Tphl C » Q 25 ns 14 ns Tplh D » Q 27 ns 15 ns Tphl D » Q 16 ns 7 ns D Clk Q
  • 16. ELEC 256 / Saif Zahir UBC / 2000 Designing Latches RS Latch Truth Table: Next State = F(S, R, Current State) Derived K-Map: Characteristic Equation: q(t+D)=s(t)+R(t)q(t) or q+=s + Rq R SR 00 01 11 10 0 0 X 1 1 0 X 1 0 1 Q(t) S q Q R S q q R S Compare to previous NOR implementation
  • 17. ELEC 256 / Saif Zahir UBC / 2000 The JK Latch The JK latch eliminates the forbidden state of the RS latch Basic principle: use output feedback to guarantee that R=S=1 never occurs J=K=1 yields toggle (q+ = Q) Characteristic Equation: Q+ = Q K + Q J R-S latch K J S R Q Q Q Q J K D C Q enb D-Latch
  • 18. ELEC 256 / Saif Zahir UBC / 2000 JK Latches q SR SR SR SR 00 01 10 11 0 0 0 1 x 1 1 0 1 x Q Q 0 1 x PS NS (q+, Q+) Simplified State-Tables q JK JK JK JK 00 01 10 11 0 0 0 1 1 1 1 0 1 0 Q Q 0 1 Q PS NS (q+, Q+) JK=01 , 11 JK=10 , 11 JK=00 , 10 JK=00, 01 Q=1 Q=0 J K Q+ 0 0 Q 0 1 0 1 0 1 1 1 Q
  • 19. ELEC 256 / Saif Zahir UBC / 2000 From JK Latch to JK Flip-Flop JK Latch: Race Condition J K Q Q 100 Set Reset Toggle Race Condition • Ideally, the Latch should toggle only once when JK=11. • Because of latch transparency, race conditions cause continuous toggrling. • Toggle Correctness: Single State change per clocking event • Solution: Master-Slave Flipflop
  • 20. ELEC 256 / Saif Zahir UBC / 2000 Master-Slave JK Flip-Flop Correct Toggle Operation Master Stage Slave Stage Sample inputs while clock high Sample inputs while clock low J R-S Latch R-S Latch K R S Clk Q Q P P R S Q Q Q Q Master outputs Slave outputs Set Reset Toggle 1's Catch 100 J K Clk P P Q Q Break feedback path, by dividing operation in two time periods (clock-high and clock-low)
  • 21. ELEC 256 / Saif Zahir UBC / 2000 The Toggle (T) FlipFlop State table T Q Q+ 0 0 0 0 1 1 1 0 1 1 1 0 T Q C T flipflop JK flipflop T J K C Q T-FF can be realized using a JK-FF Verification: J=K=T T Q+ 0 Q 1 Q or T J K Q+ 0 0 0 q 1 1 1 Q q+ = tQ+Tq D flipflop T D C Q T-FF can be realized using a D-FF
  • 22. ELEC 256 / Saif Zahir UBC / 2000 Edge-Triggered FlipFlops Characteristic equation Q+ = D Q Q D Clk=1 R S 0 0 D D D Holds D when clock goes low Holds D when clock goes low Negative edge-triggered D flipflop • Flipflop state changes right after the falling edge of the clock • 4-5 gate delays (longer than latches) • Setup and Hold times are necessary for correct operation Example: D Clk Q
  • 23. ELEC 256 / Saif Zahir UBC / 2000 Edge-Triggered D FlipFlopk Step-by-step analysis Q Q D Clk=0 R S D D D D D D When clock goes from high-to-low data is latched Q Q D' Clk=0 R S D D D D D' ° D 0 0 1 2 3 4 5 6 When clock is low data is held
  • 24. ELEC 256 / Saif Zahir UBC / 2000 Positive and Negative Edge Triggered FlipFlops Positive Edge Triggered Inputs sampled on rising edge Outputs change after rising edge Negative Edge Triggered Inputs sampled on falling edge Outputs change after falling edge Positive edge- triggered FF Negative edge- triggered FF D Clk Qpos Qpos Qneg Qneg 100 Timing Diagram
  • 25. ELEC 256 / Saif Zahir UBC / 2000 Comparison R-S Clocked Latch: used as storage element in narrow width clocked systems its use is not recommended! however, fundamental building block of other flipflop types J-K Flipflop: versatile building block can be used to implement D and T FFs usually requires least amount of logic to implement ƒ(In,Q,Q+) but has two inputs with increased wiring complexity because of 1's catching, never use master/slave J-K FFs Use edge-triggered varieties D Flipflop: minimizes wires, much preferred in VLSI technologies simplest design technique best choice for storage registers T Flipflops: don't really exist, constructed from J-K FFs usually best choice for implementing counters Asynchronous Preset and Clear inputs are highly desirable!
  • 26. ELEC 256 / Saif Zahir UBC / 2000 FlipFlop Excitation Tables Useful Design Tool: For each state-transition, the excitation table lists the required input combination(s) D Q+ 0 0 1 1 D Q C D flipflop q+ = d T Q C T flipflop q+ = tQ+Tq Q Q+ D 0 0 0 0 1 1 1 0 0 1 1 1 Excitation Table Q Q+ T 0 0 0 0 1 1 1 0 1 1 1 0 1. D FlipFlop 2. T FlipFlop Transition Table T Q+ 0 q 1 Q Excitation Table Transition Table
  • 27. ELEC 256 / Saif Zahir UBC / 2000 FlipFlop Excitation Tables q+ = s + Rq Q Q+ R S 0 0 X 0 0 1 0 1 1 0 1 0 1 1 0 X 1. SR FlipFlop R Q Clk SR flipflop S Transition Table Excitation Table R S Q+ 0 0 Q 0 1 1 1 0 0 1 1 forbid q+ = jQ + Kq Q Q+ J K 0 0 0 X 0 1 1 X 1 0 X 1 1 1 X 0 1. JK FlipFlop J Q Clk JK flipflop K Transition Table Excitation Table R S Q+ 0 0 q 0 1 1 1 0 0 1 1 Q Q=0 Q=1 JK= 10, 11 JK= 01, 11 JK=00,01 JK=00,10 Q=0 Q=1 RS= 01 RS=10 RS=00,10 RS=00,01
  • 28. ELEC 256 / Saif Zahir UBC / 2000 Conversion Between FlipFlop Types Procedure uses excitation tables Method: to realize a type A flipflop using a type B flipflop: 1. Start with the K-map or state-table for the A-flipflop. 2. Express B-flipflop inputs as a function of the inputs and present state of A-flipflop such that the required state transitions of A-flipflop are reallized. x y Q Type B x y Q g h CL CL Type A 1. Find Q+ = f(g,h,Q) for type A (using type A state-table) 2. Compute x = f1(g,h,Q) and y=f2(g,h,Q) to realize Q+.
  • 29. ELEC 256 / Saif Zahir UBC / 2000 Conversion Between FlipFlop Types Example: Use JK-FF to realize D-FF 1) Start transition table for D-FF 2) Create K-maps to express J and K as functions of inputs (D, Q) 3) Fill in K-maps with appropriate values for J and K to cause the same state transition as in the D-FF transition table D 0 1 0 1 T 0 1 1 0 Q+ 0 1 0 1 Q 0 0 1 1 S 0 1 0 X R X 0 1 0 K X X 1 0 J 0 1 X X D X X 1 0 K = D 0 1 0 1 Q D 0 1 X X J = D 0 1 0 1 Q State-Table D Q Q+ J K 0 0 0 0 X 0 1 0 X 1 1 0 1 1 X 1 1 1 X 0 e.g. when D=Q=0, then Q+= 0 the same transition Q-->Q+ is realize with J=0, K=X
  • 30. ELEC 256 / Saif Zahir UBC / 2000 Conversion Between FlipFlops Another Example: Implement JK-FF using a D-FF J K Q Q+ D T 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 0 1 0 0 1 1 0 1 1 0 00 01 11 10 J K JK Q 0 1 t= jQ + kq 0 0 1 1 1 0 0 1 00 01 11 10 J K JK Q 0 1 d= jQ + Kq J K D C Q Clk DFF J K T C Q Clk T-FF
  • 31. ELEC 256 / Saif Zahir UBC / 2000 Asynchronous Inputs PRESET and CLEAR: asynchronous, level-sensitive inputs used to initialize a flipflop. D C S R Q Q 0 1 0 1 0 1 Q Clk SET CLR T Q T SET CLR Clk 200 400 Clk T Q CLEAR PRESET PRESET, CLEAR: active low inputs PRESET = 0 --> Q = 1 CLEAR = 0 --> Q = 0 LogicWorks Simulation
  • 32. ELEC 256 / Saif Zahir UBC / 2000 In Q0 Q1 Clk 100 Proper Cascading of Flipflops Correct Operation, assuming positive edge triggered FF IN CLK Q0 Q1 D C Q Q D C Q Q FF0 FF1 Serial connection of positive edge-trigerred flipflops 1. on rising efge of CLK, FF1 reads Q0, and FF0 reads IN 2. during clock period FF1 performs Q1 <-- Q0, and FF0 performs Q0 <-- IN Shift-register