Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Sources Gang Quan Univ. of Notre Dame Finite State Machines."— 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 Key_on/Start timer Key_off /Stop timer Timer>5 Timer>10, or belt_on, or key_off /Stop timer Wait Alarm On Alarm Off Alarm Off An FSM

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, s 0,, ) – S = {s 0,s 1,…,s k } – I = {i 1,i 2,…,i m } – O = {o 1,o 2,…,o n } – : 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 s 0,,and.

7 Representation States Alarm off (s 0 ), Alarm on (s 1 ), Wait (s 2 ) Initial State Alarm off (s 0 ) Inputs Turn on/off the key (i 0 /i 1 ), fasten the seat belt (i 2 ), timer > 5 (i 3 ), time > 10 (i 4 ) Outputs Start/stop the timer (o 0 /o 1 ) Given

8 Transition Graph i 0 /o 0 i 1 /o 1 i2i2 (i 1 +i 2 +i 4 )/o 1 S1S1 S2S2 Alarm Off S0S0

9 Transition Function s1 = s0 * i0 s0=s1*i1 s2=s1 * i3 s0=s2*(i1+i2+i4) Output Function O 0 = s 0 * i 0 O 1 =s 1 *i 1 O 1 =s 2 *(i 1 +i 2 +i 4 )

10 Transition Table S0S0 S1S1 S2S2 i0i0 S1S1 XX i1i1 XS0S0 S0S0 i2i2 XS2S2 S0S0 i3i3 XXX i4i4 XXS0S0 S0S0 S1S1 S2S2 i0i0 o0o0 -- i1i1 -o1o1 o1o1 i2i2 --o1o1 i3i3 --- i4i4 --o1o1 StateOutput 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 Key_on Key_off Timer>5 Timer>10, or belt_on, or key_off Wait Alarm /Start Alarm Init/stop timer stop alarm Timer /Start Timer Timer<=5

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 NFSM and FSM i 0 /o 0 i 1 /o 1 i2i2 (i 1 +i 2 +i 4 ) /o 1 S1S1 S2S2 S0S0 i 0 /o 0 i 1 /o 1 i2i2 S1S1 S2S2 S0S0 i 2 /o 1 i 4 /o 1 i0/i0/ i3/i3/ i1/i1/ i2/i2/ i3/i3/ i4/i4/ i0/i0/ i2/i2/ i4/i4/

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

18 Equivalence 1/1 S1S1 S2S2 S0S0 S3S3 0/0 1/1 0/0 1/1 S1S1 S0S0 0/01/1 0/0

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 until no mark is possible Unmarked pairs are equivalent

21 Minimization S 0 /0 S 2 /1 S 3 /1 S 1 /1 1 1 1 1 0 0 0 0 (s0, s1) (s0,s2) (s0,s3) (s1,s2) (s1,s3) (s2,s3)

22 Minimization S 0 /0 S 2 /1 S 3 /1 1 1 0 0,1 0 (s0, s1) (s0,s2) (s0,s3) (s1,s2) (s1,s3) (s2,s3)

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

24 Review for Exams (2)Review for Exams (2) 1.What is minimization of a Finite State Machine? 2.Show example of state minimization 3.Show example of output minimization 4.Show example of input minimization 5.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.


Download ppt "Sources Gang Quan Univ. of Notre Dame Finite State Machines."

Similar presentations


Ads by Google