Advertisements

Gli automi finiti possono avere uscite corrispondenti ad ogni transizione. Ci sono due tipi di macchine a stati finiti che generano output −

  • Macchina farinosa
  • Macchina Moore

Macchina farinosa

Una macchina farinosa è un FSM il cui output dipende dallo stato attuale e dall’input presente.,

Può essere descritto da una tupla 6 (Q, ∑, O, δ, X, q0) dove −

  • Q è un insieme finito di stati.

  • ∑ è un insieme finito di simboli chiamato alfabeto di input.

  • O è un insieme finito di simboli chiamato alfabeto di output.

  • δ è la funzione di transizione in ingresso dove δ: Q × → → Q

  • X è la funzione di transizione in uscita dove X: Q × → → O

  • q0 è lo stato iniziale da cui viene elaborato qualsiasi input (q0 Q Q).,b424468″>

Output State Output → a b x1 c x1 b b x2 d x3 c d x3 c x1 d d x3 d x2

The state diagram of the above Mealy Machine is −

Moore Machine

Moore machine is an FSM whose outputs depend on only the present state.,

Una macchina di Moore può essere descritta da una tupla 6 (Q, ∑, O, δ, X, q0) dove −

  • Q è un insieme finito di stati.

  • ∑ è un insieme finito di simboli chiamato alfabeto di input.

  • O è un insieme finito di simboli chiamato alfabeto di output.

  • δ è la funzione di transizione in ingresso dove δ: Q × → → Q

  • X è la funzione di transizione in uscita dove X: Q → O

  • q0 è lo stato iniziale da cui viene elaborato qualsiasi input (q0 Q Q).,iv>

    Present state Next State Output Input = 0 Input = 1 → a b c x2 b b d x1 c c d x2 d d d x3

    The state diagram of the above Moore Machine is −

    Mealy Machine vs., Macchina Moore

    La seguente tabella evidenzia i punti che differenziano una macchina farinosa da una macchina Moore.

    Macchina farinosa Macchina Moore
    L’uscita dipende sia dallo stato attuale che dall’ingresso attuale L’uscita dipende solo dallo stato attuale.
    Generalmente, ha meno stati rispetto alla macchina di Moore. Generalmente, ha più stati rispetto alla macchina farinosa.,
    Il valore della funzione di output è una funzione delle transizioni e delle modifiche, quando viene eseguita la logica di input sullo stato attuale. Il valore della funzione di output è una funzione dello stato corrente e delle modifiche ai bordi dell’orologio, ogni volta che si verificano cambiamenti di stato.
    Le macchine farinose reagiscono più velocemente agli input. Generalmente reagiscono nello stesso ciclo di clock. Nelle macchine Moore, è necessaria più logica per decodificare le uscite con conseguente più ritardi del circuito. Generalmente reagiscono un ciclo di clock più tardi.,

    Moore Machine to Mealy Machine

    Algoritmo 4

    Input − Moore Machine

    Output − Mealy Machine

    Step 1 − Prendi un formato di tabella di transizione della macchina Mealy vuota.

    Fase 2-Copiare tutti gli stati di transizione macchina Moore in questo formato di tabella.

    Fase 3-Controllare gli stati presenti e le loro uscite corrispondenti nella tabella di stato macchina Moore; se per uno stato Qi uscita è m, copiarlo nelle colonne di uscita della tabella di stato macchina farinosa ovunque Qi appare nello stato successivo.,der the following Moore machine −

    Present State Next State Output
    a = 0 a = 1
    → a d b 1
    b a d 0
    c c c 0
    d b a 1

    Now we apply Algorithm 4 to convert it to Mealy Machine.,8″>

Output => a d 1 b 0 b a 1 d 1 c c 0 c 0 d b 0 a 1

Mealy Machine to Moore Machine

Algorithm 5

Input − Mealy Machine

Output − Moore Machine

Step 1 − Calculate the number of different outputs for each state (Qi) that are available in the state table of the Mealy machine.,

Passo 2-Se tutte le uscite di Qi sono uguali, copia stato Qi. Se ha n uscite distinte, rompere Qi in n stati come Qin dove n = 0, 1, 2…….

Passo 3-Se l’uscita dello stato iniziale è 1, inserire un nuovo stato iniziale all’inizio che dà 0 uscita.,b424468″>

Output Next State Output → a d 0 b 1 b a 1 d 0 c c 1 c 0 d b 0 a 1

Here, states ‘a’ and ‘d’ give only 1 and 0 outputs respectively, so we retain states ‘a’ and ‘d’., Ma gli stati ” b ” e ” c ” producono output diversi (1 e 0). Quindi, dividiamo b in b0, b1 e c in c0, c1.,”>

Output a = 0 a = 1 → a d b1 1 b0 a d 0 b1 a d 1 c0 c1 C0 0 c1 c1 C0 1 d b0 a 0

Advertisements

Articles

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *