This preview shows page 1. Sign up to view the full content.
Unformatted text preview: CSE 261 April 2008 A Generic Digital Processor
Building Blocks for Digital Architectures
RAM, ROM, Buffers, Shift registers Sequential Logic Design Principles INPUT  OUTPUT MEMORY CPU CONTROL DATAPATH
Finite state machine: PLA, Counters, ... Sequential Logic C7 #1 #1 Interconnect: Switches, Arbiters, Bus, ... Arithmetic Unit: Adder, multiplier, shifter, comparator, ... Sequential Logic C7 #2 #2 Sequential Logic C7 #3 #3 Sequential Logic C7 #4 #4 Analysis of State Machines CSE 261 April 2008 Outline
1. 2. Logic Devices
Combinational Logic: Current output depends on current input only Bistable Logic Elements and Metastability What are latches and flipflops? flip flops? Gates Decoders Multiplexers ALUs
Combinational Logic Types, Function, Structure 3. Analysis of State Machines Sequential Logic: Current output depends on past inputs as well as
current input; thus has a memory (state). state). General structure, Analysis procedure Latches and FlipFlops FlipState Machines Counters Shift Registers
Sequential Logic Memory
Sequential Logic C7 #6 #6 4. Synthesis of State Machines State minimization, State assignment Sequential Logic C7 #5 #5 Sequential Logic Definitions
STATE: STATE:
A Clock Characteristics
Clock  the master timing element behind the state changes. State change Frequency = 1/Period tH collection of state variables whose values contain all the information about the past values necessary to account for future behavior. (e.g. a TV tuner with up/down button) with n binary state variables has 2n possible states usually synchronized with a system clock Circuit Active High
Period tL Changes Duty Cycle = tH/Period Period: time between successive transitions in the same direction Digital sequential logic Also State change Duty Cycle: the percentage of time that a clock is at its assertion level. = tL/Period
Sequential Logic C7 #8 #8 known as a finite state machine (FSM). Active Low
Sequential Logic C7 #7 #7 tL Period tH Definitions Definitions Analysis of State Machines CSE 261 April 2008 Types of Sequential Logic
A Feedback Sequential Circuit uses gates with feedback to form memory elements (latches and flip/flops) used in state machines. Bistable Element
The simplest possible feedback sequential logic circuit is: A Clocked Synchronous State Machine uses clocked flipflops to form useful sequential logic functions or flipapplication. It is bistable because it has two stable states: State 1: If Q (Q=Vout1=Vin2) is high, the bottom inverter output (/Q =Vout2=Vin1) is low, which keeps the top inverter output Q high. State 2: If Q is low, the bottom inverter output /Q is high, which keeps the top inverter output Q low.
Definitions Sequential Logic C7 #9 #9 Bistable Logic Elements Sequential Logic C7 #10 #10 Bistable Element
The simplest sequential circuit Two states One state variable, Q HIGH LOW Bistable Element
The simplest sequential circuit Two states One state variable, Q LOW HIGH LOW HIGH HIGH LOW Bistable Logic Elements Sequential Logic C7 #11 #11 Bistable Logic Elements Sequential Logic C7 #12 #12 Analysis of State Machines CSE 261 April 2008 Analog Analysis of Bistable
Top Inverter alone Q Vout1 Bottom Inverter alone Vin2 Bistable and Metastability
There are not two stable states, but three (a problem!) (a problem!) Metastable point occurs when both outputs are halfway between high and low Vin1 Complete Bistable Vout1 =Vin2
Stable High Metastable Stable Low Vout2 /Q not a valid logic level!!! Could last forever, but noise pushes towards a stable state. Vin1 =Vout2
Metastability Sequential Logic C7 #13 #13 Metastability Sequential Logic C7 #14 #14 Metastability Metastability? Metastability?
All real systems are subject to it Problems are caused by "asynchronous inputs" that do not inputs" meet flipflop setup and hold times. flip Especially severe in highspeed systems high Since clock periods are so short, `metastability resolution time' can be longer than one clock period. time' Many digital designers, products, and companies have been burned by this phenomenon. phenomenon. Metastability Sequential Logic C7 #15 #15 Metastability Sequential Logic C7 #16 #16 Analysis of State Machines CSE 261 April 2008 Latches and Flipflops? FlipCommon feedback sequential circuits Latch Singlebit Single Changes Types of Latches and Flipflops FlipLatches SR Latch /S/R Latch /S SR Latch with Enable D Latch Flipflops Flip EdgeTriggered D FlipFlop EdgeFlip Master/Slave SR FlipFlop S Flip Master/Slave JK FlipFlop J Flip EdgeTriggered JK FlipFlop Edge J Flip T FlipFlop FlipLatches Sequential Logic C7 #18 #18 storage (memory) state at any time due to input change Flipflop Flip Also singlebit storage singlestate ONLY when a clock edge or pulse is applied Changes Latches Sequential Logic C7 #17 #17 Back to the bistable.... bistable...
Symbol Set Reset S R Q Q SR Latch
Q /Q
Hold Reset Function Table S 0 0 1 1 R 0 1 0 1 Q Last Q 0 1 0 /Q Last /Q 1 0 0 Schematic
R Set Q /Q ILLEGAL How to control it? Screwdriver Control inputs SR latch S Consider: 1. Timing Diagram 2. Propagation delay 3. Minimum pulse width 4. Oscillation Latches Sequential Logic C7 #19 #19 Latches Sequential Logic C7 #20 #20 Analysis of State Machines CSE 261 April 2008 SR latch operation
0 1 0 1
Schematic
R SR latch timing parameters
Q /Q S 0 0 ? 0
Propagation delay Minimum pulse width ? 0 Metastability is possible if S and R are negated simultaneously. Latches Sequential Logic C7 #21 #21 Latches Sequential Logic C7 #22 #22 SR latch symbols SR latch using NAND gates:/S/R Latch gates:/S Function Table /S Illegal Set Reset Hold
Latches Sequential Logic C7 #23 #23 Latches /R 0 1 0 1 Q 1 1 0 Last Q /Q 1 0 1 Last /Q 0 0 1 1 Sequential Logic C7 #24 #24 Analysis of State Machines CSE 261 April 2008 SR Latch with Enable
/S /R 0 1 0 1 x C 1 1 1 1 0 Q Last Q 0 1 1 Last Q /Q Last /Q 1 0 1 Last /Q D Latch
D C Q Q S C R Q Q 0 0 1 1 x Store a data bit, not set/reset
Only sensitive to S and R when enabled (C=1) Same oscillation problem
Latches Sequential Logic C7 #25 #25 Latches `Transparent latch' latch' Setup and Hold time
Sequential Logic C7 #26 #26 Dlatch timing parameters
Propagation delay
from C or D PositiveEdgeTriggered D FlipFlop Positive EdgeFlip D should not change during: tsetup (before C edge)+thold (after C edge) Latches Setup time HoldSequential Logic C7 #27 time #27 FlipFlop Flip Sequential Logic C7 #28 #28 Analysis of State Machines CSE 261 April 2008 D flipflop timing parameters flipPropagation delay
from CLK D flipflop versus latch flip D should not change during: tsetup (before C edge)+thold (after C edge) Setup time
FlipFlop Flip Hold time
Sequential Logic C7 #29 #29 FlipFlop FlipSequential Logic C7 #30 #30 Other D flipflop variations flipNegativeedge Negativetriggered Scan flipflops  for testing flip Clock Enable TE = 0 TE = 1 Scan normal operation test operation All of the flipflops are hooked together in a daisy chain from flipexternal test input TI. Load up ("scan in") a test pattern, do one normal operation, (" in" shift out ("scan out") result on TO. (" out"
Sequential Logic C7 #31 #31 FlipFlop FlipSequential Logic C7 #32 #32 FlipFlop Flip Analysis of State Machines CSE 261 April 2008 Asynchronous Inputs
Most flipflops have two asynchronous inputs flipPreset and Reset (or Clear) Directly set or reset the /S/R latches /SOperate independent of clock Good design practice: NEVER use asynchronous inputs for logic functions, only for system initialization to a known state Master/Slave SR FlipFlop S FlipS R X 0 0 1 1 C 0 Q Last Q Last Q 0 1 Undef /Q Last /Q Last /Q 1 0 Undef S C R Q Q X 0 0 1 1 S C R Q Q S C R Q Q FlipFlop Flip Sequential Logic C7 #33 #33 FlipFlop Flip "Pulsetriggered" SR flipflop Pulse triggered" flipPulsecatching behavior Pulse Sequential Logic C7 #34 #34 JK flipflops flip T (toggle) FlipFlop FlipT flipflop changes state on every clock tick. flipImportant for counters Not used much anymore
FlipFlop FlipSequential Logic C7 #35 #35 FlipFlop FlipSequential Logic C7 #36 #36 Analysis of State Machines CSE 261 April 2008 Sequential PALs
16R8 Analysis of State Machines
Characteristic Equations Describe the next state of a flipflop as function of current flipstate and inputs: QN = f (Q, inputs) Derived from basic function table for a given flipflop type flip Sequential PALs Sequential Logic C7 #37 #37 State Machine Analysis Sequential Logic C7 #38 #38 Characteristic Equations
Input D 0 0 1 1 Present state Q 0 1 0 1 Next state Input S 0 0 0 1 1 R 0 0 1 0 1 Present state Q 0 1 X X X Next state J 0 0 0 0 1 1 1 1 K 0 0 1 1 0 0 1 1 Characteristic Equations
Q 0 1 0 1 0 1 0 1 Q* 0 1 0 0 1 1 1 0 Q*
0 0 1 1 Q*
0 1 0 1 X hold reset set toggle EN 0 0 1 1 Q 0 1 0 1 Q* 0 1 1 0 Characteristic Equation: Q* = D Characteristic Equation: Q* = S + R' Q R' Characteristic Equation: Q* = J Q' + K' Q Q' K'
State Machine Analysis Characteristic Equation: Q* = EN Q' + EN' Q Q' EN' State Machine Analysis Sequential Logic C7 #39 #39 Sequential Logic C7 #40 #40 Analysis of State Machines CSE 261 April 2008 Characteristic Equations Summary
Device Type
SR latch D latch Edgetriggered D flipflop EdgeflipMaster/slave SR flipflop S flipMaster/slave JK flipflop J flipEdgetriggered JK flipflop EdgeJ flipT flipflop flipT flipflop with enable flip Clocked Synchronous Statemachine StateAnalysis
Analysis Characteristic Equation
Q* = S + R' Q R' Q* = D Q* = D Q* = S + R' Q R' Q* = J Q' + K' Q Q' K' Q* = J Q' + K' Q Q' K' Q* = Q' Q' Q* = EN Q' + EN' Q Q' EN' How does a given circuit work? What does it do? How do input sequences map to output sequences? Mealy Machine Next state = F (current state, inputs) Output = G (current state, inputs) Moore Machine Next state = F (current state, inputs) Output = G (current state)
Sequential Logic C7 #42 #42 State Machine Analysis Sequential Logic C7 #41 #41 State Machine Analysis Difference between Mealy & Moore Machines
Mealy Machine Basic Analysis of State Machines
Determine nextstate and output functions F and G next inputs NextNextState Logic next_state State Registers current_state Output Logic outputs Use F and G to construct a state table Draw a state diagram that represents the state table in graphical form clock Moore Machine
inputs NextNextState Logic next_state State Registers current_state Output Logic outputs clock
State Machine Analysis Sequential Logic C7 #43 #43 State Machine Analysis Sequential Logic C7 #44 #44 Analysis of State Machines CSE 261 April 2008 Detailed Analysis of State Machines Example 1  State Machine with T flipflops flipX X
E0 Find flipflop input excitation equations, D = f1 (state, inputs) flipequations, Substitute excitation equations into flipflop characteristic equations, flipgiving transition equations, Q* = f2 (state, inputs) equations, EN Q Q0 Q0* = E0 Q0' + E0' Q0 Q0' E0' T C
Output Equation: Construct a transition table from transition equations Find output equations, OUT = g (state) or g (state, inputs) equations, Add outputs to to transition table to form transition/output table Name states in transition/output table, giving state/output table Draw a state diagram and timing diagram from state/output table
E1 Z = Q0 + Q1 Q0
CLK EN Q T Q1 Q1* =E1 Q1'+ E1' Q1 Q1' E1' C RESET X.Q0 Characteristic Equation for T: Q* = EN. Q' + EN' Q Q' EN'
State Machine Analysis Sequential Logic C7 #45 #45 State Machine Analysis Sequential Logic C7 #46 #46 Example 1 TransitionState/Output Table TransitionX Q1Q0 A=00 B=01 C=10 D=11 0 00 01 10 11 1 01 10 11 00 Z 0 1 1 1
X S 0 A B C D 1 B C D A Z 0 1 1 1 A B C D Example 1  State Diagram
X=0 Output Equation: Z = Q0 + Q1 Moore Machine
X S A B C D 0 A B C D 1 B C D A Z 0 1 1 1 A
Z=0 X=1 B
Z=1 X=1 X=0 X=1 Q1*Q0*, Z X=0 D
Z=1 X=1 C
Z=1 X=0 S* Transition Equations: Q0* = X Q0' + X' Q0 Q0' X' Q1* = X Q0 Q1' + X' Q1 + Q0' Q1 Q1' X' Q0'
State Machine Analysis S*
Sequential Logic C7 #47 #47 State Machine Analysis Sequential Logic C7 #48 #48 Analysis of State Machines CSE 261 April 2008 Example 1  Timing diagram Example 2  State Machine with D Flipflops FlipExcitation Equations: D0 = X Y' Q2'; D1 = X Q0; D2 = Y' +Q1 Y' Q2' Y' CLK X RESET Y /Q2 D0 Q0
D CLK Q Q Z1 Z1 = X Q0 + Q1' (Mealy) Q1' X D1
Q0 STATE Q1 Q0 A A B C C D D A D CLK Q Q Q1 /Z2= /Z2= (Q1 Q2)' (Moore) Q2)' Q2 /Q2 /Z2 D2
Z Q1 CLK D CLK Q Q A mealy machine
Output Logic G
Sequential Logic C7 #50 #50 Excitation Logic F
State Machine Analysis Sequential Logic C7 #49 #49 State Machine Analysis State Memory Example 2  Equations
Characteristic Equation for D flipflop: Q* = D flipExcitation Equations: Next State Equations: Example 2  Transition / Output table
XY Q2 Q1 Q0
A=000 B=001 C=010 D=011 E=100 F=101 G=110 00
100, 11 100, 11 100, 01 100, 01 100, 11 100, 11 100, 00 100, 00 01
000, 11 000, 11 100, 01 100, 01 000, 11 000, 11 100, 00 100, 00 11
000, 11 010, 11 100, 01 110, 11 000, 11 010, 11 100, 00 110, 10 10
101, 11 111, 11 101, 01 111, 11 100, 11 110, 11 100, 00 110, 10 D0 = X Y' Q2' Y' Q2' D1 = X Q0 D2 = Y' + Q1
Output Equations: Q0* = X Y' Q2' Y' Q2' Q1* = X Q0 Q2* = Y' + Q1 Y' Z1 = X Q0 + Q1' (Mealy) Q1' /Z2= (Q1 Q2)' (Moore) /Z2= Q2)' A mealy machine H=111 Q2* Q1* Q0*, Z1 /Z2 Q0* = X Y' Q2' Y' Q2' Q1* = X Q0 Q2* = Y' + Q1 Y'
State Machine Analysis Sequential Logic C7 #51 #51 State Machine Analysis Z1 = X Q0 + Q1' Q1' /Z2= (Q1 Q2)' /Z2= Q2)'
Sequential Logic C7 #52 #52 Analysis of State Machines CSE 261 April 2008 Example 2  State / Output table
XY S
A B C D E F G H Example 2  State Diagram
Y, (11) X'Y, (11) B XY, (11) 00
E, 11 E, 11 E, 01 E, 01 E, 11 E, 11 E, 00 E, 00 01
A, 11 A, 11 E, 01 E, 01 A, 11 A, 11 E, 00 E, 00 11
A, 11 C, 11 E, 01 G, 11 A, 11 C, 11 E, 00 G, 10 10
F, 11 H, 11 F, 01 H, 11 E, 11 G, 11 E, 00 G, 10 S
A XY', (11) XY' A
X'Y', (11) C
X'Y', (11) D H
XY', (11) XY' G F
A, 11 F, 11 E S*, Z1 /Z2 XY = 00 XY = 01 XY = 11 XY = 10 E, 11 A, 11 B
State Machine Analysis Sequential Logic C7 #53 #53 E, 11 A, 11 C, 11 H, 11
Sequential Logic C7 #54 #54 State Machine Analysis Example 3  Circuit and Equations Example 3  Tables
Excitation/Output Tables: X
Y X CLK D Q Q Q Moore X 1
1 0 Q
0 1 0
0 0 Q* Z
0 1 Q
0 1 0
0,0 0,1 1
1,1 0,0 Mealey Q*, Y State/Output Tables: X
Moore Excitation: D = X Q' = Q* Output: Q = Q Mealy Excitation: D = X Q' = Q* Output: Y=XQ S
A B 0
A A Q* 1
B A Z
0 1 X S
A B 0
A, 0 A, 1 1
B, 1 A, 0 S*, Y
Sequential Logic C7 #56 #56 State Machine Analysis Sequential Logic C7 #55 #55 State Machine Analysis Analysis of State Machines CSE 261 April 2008 Example 3  State Diagrams
input X=1 X= 0 A
Z=0 B
Z=1 X=0,1 State
Output X= 0 (Z = 0) X=1 (Z = 1) A
X=0,1 (Z = 0) B State Machine Analysis Sequential Logic C7 #57 #57 Analysis of State Machines Mealey Moore ...
View
Full
Document
This note was uploaded on 05/08/2008 for the course CSE 261 taught by Professor Ercanli during the Spring '08 term at Syracuse.
 Spring '08
 Ercanli

Click to edit the document details