EE121 John Wakerly Lecture - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

EE121 John Wakerly Lecture

Description:

Open for the sequence. X1, X2, X2 (one input per clock) ... Transition table specifies each state variable (Q1 , Q2 ) as a combinational ... – PowerPoint PPT presentation

Number of Views:90
Avg rating:3.0/5.0
Slides: 21
Provided by: johnf209
Category:
Tags: ee121 | john | lecture | open | table | wakerly

less

Transcript and Presenter's Notes

Title: EE121 John Wakerly Lecture


1
EE121 John Wakerly Lecture 11
  • Sequential-circuit design
  • Sequential-circuit synthesis

2
State-machine design and synthesis
  • Example Design a combination lock with two
    inputs, X1 and X2. Open for the sequence X1,
    X2, X2 (one input per clock).

3
  • Example Design a combination lock with two
    inputs, X1 and X2. Open for the sequence X1,
    X2, X2 (one input per clock).
  • Specification ambiguities are resolved in the
    state table.

State X1 X2 --------------------------
----------------------------------------------- Me
aning Name 00 01 10
11 UNLOCK --------------------------
-----------------------------------------------
Start A A A B A 0 Got X1 B A C A A 0 Got
X1,X2 C A D A A 0 Got X1,X2,X2 D A A B A 1
(D)
4
State Assignment
  • Can minimize number of states (see text), but
    hardly anyone bothers anymore.
  • Need to assign state-variable combinations to
    states.
  • Minimum number of variables for n states is ?log2
    n?
  • Using more than minimum number may be
    advantageous in some situations, e.g., one
    variable per state (one-hot) (see text).
  • Example -- 4 states, 2 state variables (Q1,Q2)

A gt 00 B gt 01 C gt 10 D gt 11
Up to this point is art, the rest is just
turning the crank.
5
Transition table
  • Substitute state-variable combinations for states
    in the state table.

State X1 X2 --------------------------
----------------------------------------------- Me
aning Q1 Q2 00 01 10
11 UNLOCK --------------------------
-----------------------------------------------

----------------------------------------------

Q1? Q2?
Start 0 0 0 0 0 0 0 1 0 0 0 Got X1 0 1 0 0 1 0 0
0 0 0 0 Got X1,X2 1 0 0 0 1 1 0 0 0 0 0 Got
X1,X2,X2 1 1 0 0 0 0 0 1 0 0 1
6
Transition equations circuit
  • Transition table specifies each state variable
    (Q1?, Q2?) as a combinational logic function of
    Q1, Q2, X1, X2.
  • Find a realization of each function by your
    favorite means -- ad hoc, minimal
    sum-of-products, etc.
  • Build the circuit.

7
Design using ABEL state diagrams
state_diagram LOCKST state A if X1!X2 then B
else A state B if !X1X2 then C else A state
C if !X1X2 then D else C state D if X1!X2
then B else A equations UNLOCK (LOCKSTD)
8
Another design example (from text)
  • Design a machine with inputs A and B and output Z
    that is 1 if
  • A had the same value at the two previous ticks
  • B has been 1 since the last time the above was
    true

9
State assignment
  • There are 6,720 different state assignments of 5
    states to 3 variables.
  • And there are even more using 4 or more variables
  • Here are a few obvious or interesting ones

10
Transition/output table (decomposed assignment)
  • Simple textual substitution
  • With D flip-flops, excitation table is identical
    to transition table.

11
Develop excitation equations
  • Assume unused states have next-state 000

12
Same example using ABEL
  • Note about reset inputs
  • You always need a power-on reset input for a
    sequential circuit.
  • Previous example did not use synchronous reset
    because of manual-synthesis complexity.
  • Asynchronous reset is sometimes used (PR and CLR
    inputs of flip-flops).

13
State Diagram
This essentially mimics the state table.
14
State assignment
  • Note definition of extra states.

15
Odds n ends
  • Good behavior for extra states
  • Clock and output equations
  • Alternative state assignments are easy
  • Modify state definitions and possibly output pins
    and extra states.
  • Unspecified states go to 0,0,0.

16
ABEL-derived excitation equations
  • Equivalent to what was derived by hand, with the
    addition of the RESET input.

17
And now for something completely different...
  • ABELs language features can be used to enable a
    different, hybrid approach.
  • Use one register to keep track of the previous
    value of A use a state machine for the rest.

Records previous value of A
18
Simpler, more natural state machine
  • Really an example of state-machine
    decomposition.

19
Equations and state assignments
20
Wrap-up
  • Next time PLD-based state-machine design
    examples
  • Discussion of Lab 5
  • How to deal with pushbuttons, edge detection,
    etc.
Write a Comment
User Comments (0)
About PowerShow.com