1 / 24

Sources Gang Quan Univ. of Notre Dame

Sources Gang Quan Univ. of Notre Dame. Finite State Machines. Review. Data Flow Graph data dependency Control/Data Flow Graph control dependency How about a reactive system?. Finite State Machine. What ? . If the driver turns on the key, and does not

jetta
Download Presentation

Sources Gang Quan Univ. of Notre Dame

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sources Gang Quan Univ. of Notre Dame Finite State Machines

  2. Review • Data Flow Graph • data dependency • Control/Data Flow Graph • control dependency • How about a reactive system?

  3. Finite State Machine • What ? If the driver turns on the key, and does not fasten the seat belt within 5 seconds then an alarm beeps for 5 seconds, or until the driver fastens the seat belt, or until the driver turns off the key

  4. An FSM Key_on/Start timer Alarm Off Alarm Off Wait Key_off /Stop timer Timer>5 Timer>10, or belt_on, or key_off /Stop timer Alarm On

  5. An FSM (Cont’d) • States • Alarm off, Alarm on, Wait • Initial State • Alarm off • Inputs • Turn on/off the key, fasten the seat belt, timer reads • Outputs • Start/stop the timer • Start transitions • Alarm off+ Turn on the key  Wait • Output • Alarm off + Turn on the key start the timer

  6. Finite State Machine • FSM = ( S, I, O, s0, , ) • S = {s0,s1,…,sk} • I = {i1,i2,…,im} • O = {o1,o2,…,on} • : S x I  S (Transition function) • : S x I  O (Output function) • Given an input sequence, an output sequence is produced which is depended on s0, ,and .

  7. Representation • Given • States • Alarm off (s0), Alarm on (s1), Wait (s2) • Initial State • Alarm off (s0) • Inputs • Turn on/off the key (i0/i1), fasten the seat belt (i2), timer > 5 (i3), time > 10 (i4) • Outputs • Start/stop the timer (o0/o1)

  8. Transition Graph i0/o0 Alarm Off S0 S1 i1/o1 i2 (i1+i2+i4)/o1 S2

  9. Transition Function • Transition Function • s1 = s0 * i0 s0=s1*i1 s2=s1 * i3 s0=s2*(i1+i2+i4) • Output Function O0 = s0 * i0 O1=s1*i1 O1=s2*(i1+i2+i4)

  10. Transition Table State Output X: don’t care

  11. Mealy Machine and Moore Machine • Mealy Machine • The output is a function of both the current state and the input • Moore Machine • The output is only a function of the current state

  12. Transition Graph For Moore Machine Timer/Start Timer Key_on Timer<=5 Init/stop timer stop alarm Wait Key_off Timer>5 Timer>10, or belt_on, or key_off Alarm /Start Alarm

  13. Mealy/Moore Machine • An FSM can be realized either by Mealy or Moore machine • Mealy machine may use less flip-flops and output signals are immediately after the transition • Moore machine may use more flip-flops and output signals valid except during the transition

  14. Nondeterministic FSM • Deterministic FSM • Given a state and input, there is exactly one next state • Nondeterministic FSM (NFSM) • Given a state and input, there maybe more than one next state, or a state can transform from one state to anther without any input, or for some given input there no next state at all • For any NFSM, there is always one equivalent FSM

  15. Nondeterministic FSM • For unknown/unspecified behavior • Less states, more compact • Useful for • Optimization • Verification • Can be refined • For any NFSM, there is always one equivalent DFSM

  16. i0/ i1/ i2/ i0/o0 i0/o0 i2/ i3/ S0 S1 S0 S1 i1/o1 i1/o1 i4/ i2 i2 i1/o1 i2/o1 i4/ (i1+i2+i4)/o1 S2 S2 i4/o1 i3/ i0/ NFSM and FSM

  17. Equivalence • Two FSMs are equivalent iff for any given input sequence, identical output sequences are produced

  18. Equivalence 0/0 1/1 0/0 1/1 1/1 S0 S1 1/1 S0 S1 0/0 0/0 S2 S3 0/0 1/1 0/0 1/1

  19. Minimization • What • Given an FSM, find the equivalent FSM with a minimum number of states • Two states s1 and s2 in an FSM are equivalent iff each input sequence beginning from s1 yields an output sequence identical to that obtained by starting from s2 • How

  20. Minimization(Moore Machine) For each pair of the states (si,sj) If si and sj have different output Mark si and si as not equivalent End for Do for each unmarked pair for each input, si and sj are transferred to states which are not equivalent Mark si and sj as not equivalent end for end for until no mark is possible Unmarked pairs are equivalent

  21. Minimization 0 S1/1 S0/0 1 1 0 1 S3/1 S2/1 1 0 0 (s2,s3) (s1,s2) (s1,s3) (s0, s1) (s0,s2) (s0,s3)

  22. Minimization S0/0 1 0 1 S3/1 S2/1 0 0,1 (s2,s3) (s1,s2) (s1,s3) (s0, s1) (s0,s2) (s0,s3)

  23. Review for Exams (1) • Finite State Machine Types • Mealy • Moore • Rabin-Scott • Timing of Machine • Synchronous • Asynchronous • Globally Asynchronous Locally Synchronous • Memory in Logic • Determinism • Deterministic • Non-deterministic • Probabilistic • Entangled (only in quantum) • What is attached to Machine • Reactive Subsumption Architecture • Stack Machine • Turing Machine • Hybrid Machine

  24. Review for Exams (2) • What is minimization of a Finite State Machine? • Show example of state minimization • Show example of output minimization • Show example of input minimization • What is state assignment of FSM? Remember that I do not require full procedures for minimization, verification, partitioning, decomposition or state assignment. I require only understanding of these concepts.

More Related