SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
POLITECNICO DI MILANO


Sintesi comportamentale di
  reti sequenziali sincrone
           Ant Brain
     DRESD How To (DHow2) – L6


              DRESD Team
             info@dresd.org
Sintesi
    La sintesi si svolge nei seguenti passi:
    1. Realizzazione del diagramma degli stati a partire dalle
       specifiche informali del problema
    2. Costruzione della tabella degli stati
    3. Riduzione del numero degli stati: ottimizzazione
    4. Costruzione della tabella delle transizioni
         – Assegnamento degli stati: Codice & codifica
    5. Costruzione della tabella delle eccitazioni
         – Scelta degli elementi di memoria
    6. Sintesi sia della rete combinatoria che realizza la
       funzione stato prossimo sia della rete combinatoria che
       realizza la funzione d'uscita



2
Ant Brain




3
Ant Brain: Specifiche
    Sensori:
       L e R antenne;
       Assumono valore 1 se toccano il muro.

    Attuatori:
       F: procedi dritto;
       TL: Gira piano a sinistra;
       TR : Gira piano a destra.

    Goal: trovare l’uscita dal labirinto

    Strategia: tenere il muro a destra




4
Comportamento Formica

    A: Segui il muro toccandolo.           B: Segui il muro senza toccarlo.
                                           Vai dritto, girando leggermente
    Vai dritto, girando leggermente
                                            a destra.
     a sinistra.



                                              D: Toccato il muro nuovamente.
         C: Rottura nel muro.
         Vai dritto, girando leggermente      Torna allo stato A.
          a destra.


        E: Muro di fronte.                     F: ...siamo qui, stessa
        Gira a sinistra finchè…                situazione dello stato B.



     LOST: Dritto fino a quando non            G: Gira a sinistra finchè…
     Tocchi qualche cosa.



5
Sintesi
    La sintesi si svolge nei seguenti passi:
    1. Realizzazione del diagramma degli stati a partire
       dalle specifiche informali del problema (15 min)
    2. Costruzione della tabella degli stati
    3. Riduzione del numero degli stati: ottimizzazione
    4. Costruzione della tabella delle transizioni
         – Assegnamento degli stati: Codice & codifica
    5. Costruzione della tabella delle eccitazioni
         – Scelta degli elementi di memoria
    6. Sintesi sia della rete combinatoria che realizza la
       funzione stato prossimo sia della rete combinatoria che
       realizza la funzione d'uscita



6
Disegno del Cervello della Formica:
                   Diagramma degli Stati




                                   L+R                              L’ R
              L+R                             L
      LOST                                                  A
                            E/G
       (F)                                                (TL, F)
                            (TL)


                                         R
    L’ R’           L’ R’                                      R
                                                  L’ R’

                                                            C
                          B
                                                                       R’
                                                          (TR, F)
                        (TR, F)
                                             R’




7
Sintesi
    La sintesi si svolge nei seguenti passi:
    1. Realizzazione del diagramma degli stati a partire
       dalle specifiche informali del problema
    2. Costruzione della tabella degli stati (10min)
    3. Riduzione del numero degli stati: ottimizzazione
    4. Costruzione della tabella delle transizioni
         – Assegnamento degli stati: Codice & codifica
    5. Costruzione della tabella delle eccitazioni
         – Scelta degli elementi di memoria
    6. Sintesi sia della rete combinatoria che realizza la
       funzione stato prossimo sia della rete combinatoria che
       realizza la funzione d'uscita



8
Tabella degli stati


    Il comportamento di una FSM può essere descritto mediante la
        Tabella degli stati

      Gli indici di colonna sono i simboli di ingresso iα ∈ I
      Gli indici di riga sono i simboli di stato sj ∈ S che indicano lo
      stato presente
                                                                i1        i2     ..
      Gli elementi della tabella sono:                    S1t Sjt+1/uj Skt+1/uk . . .
            Macchine di Mealy                             S2t Smt+1/um Slt+1/ul . . .
            la coppia {uβ ,sj }
                                                          . .. . .       ...     ...
            uβ = λ(iα, sj ) è il simbolo di uscita
            sj = δ(iα, sj ) è il simbolo stato prossimo             i1    i2     ..
                                                           S1t Sjt+1     Skt+1          u1
                                                                                 ...
                                                           S2t Smt+1     Slt+1          u2
                                                                                 ...
            Macchine di Moore                               .......              ...    ..
            Il simbolo stato prossimo sj
            sj = δ(iα, sj ) è il simbolo stato prossimo
9           i simboli d'uscita sono associati allo stato presente
Macchine di Mealy e Macchine di Moore
     Macchine di Mealy

         la funzione di uscita costituisce la risposta della
         macchina quando, trovandosi in un certo stato
         presente, riceve un simbolo di ingresso
         nelle macchine di Mealy, l’uscita va “letta” mentre la
         macchina subisce una transizione di stato

     Macchine di Moore

         la funzione di uscita costituisce la risposta della
         macchina associata allo stato in cui si trova nelle
         macchine di Moore, l’uscita viene letta mentre la
         macchina si trova in un determinato stato

     E’ possibile trasformare una macchina di Mealy in una macchina
     equivalente di Moore, e viceversa

10
Tabella degli stati: Moore
                                             L+R                               L’ R
                     LOST             E/G                         A
                            L+R                     L
                      (F)             (TL)                      (TL, F)

                                               R
                    L’ R’         L’ R’                             R
                                                        L’ R’

                                      B                           C
                                    (TR, F)                     (TR, F)
                                                   R’
          L’R’ L’R LR LR’                                                 R’
     Lost Lost E/G E/G E/G    F TR’ TL’
     E/G   B   E/G E/G E/G    F’ TR’ TL
     A     B    A  E/G E/G    F TR’ TL
     B     C    A   A   C     F TR TL’
     C     C    A   A   C     F TR TL’

11
Tabella degli stati: Mealy




              L’R’             L’R             LR            LR’
     Lost   Lost/F TR’ TL’   E/G/F TR’ TL’   E/G/F TR’ TL’ E/G/F TR’ TL’
     E/G    B/F’ TR’ TL      E/G/F’ TR’ TL   E/G/F’ TR’ TL E/G/F’ TR’ TL
     A      B/F TR’ TL       A/F TR’ TL      E/G/F TR’ TL E/G/F TR’ TL
     B      C/F TR TL’       A/F TR TL’      A/F TR TL’ C/F TR TL’
     C      C/F TR TL’       A/F TR TL’      A/F TR TL’ C/F TR TL’




12
Sintesi
     La sintesi si svolge nei seguenti passi:
     1. Realizzazione del diagramma degli stati a partire dalle
        specifiche informali del problema
     2. Costruzione della tabella degli stati
     3. Riduzione del numero degli stati: ottimizzazione (15
        min)
     4. Costruzione della tabella delle transizioni
          – Assegnamento degli stati: Codice & codifica
     5. Costruzione della tabella delle eccitazioni
          – Scelta degli elementi di memoria
     6. Sintesi sia della rete combinatoria che realizza la
        funzione stato prossimo sia della rete combinatoria che
        realizza la funzione d'uscita


13
Riduzione del numero degli stati: macchine equivalenti
        Date due macchine completamente specificate M1 e
        M2 si dicono equivalenti se e solo se:
           per ogni stato si di M1, esiste uno stato sj di M2 tale
           che ponendo la macchina M1 in si e la macchina M2 in
           sj
           e applicando alle due macchine una qualunque sequenza
           di ingresso I
           le due sequenze di uscita sono identiche.
           E viceversa per M2 rispetto ad M1


        Nota: nella definizione di equivalenza sono considerate solo le
        relazioni ingresso-uscita quindi le due macchine possono avere un
        insieme di stati diverso e in particolare di diversa cardinalità

14
Rivisitazione dell’Ant Brain
     Nessuno stato equivalente?




                                     L+R                              L’ R
                L+R                             L
         LOST                 E/G                             A
          (F)                 (TL)                          (TL, F)


                                           R
       L’ R’          L’ R’                                      R
                                                    L’ R’

                            B                                 C
                                                                         R’
                          (TR, F)                           (TR, F)
                                               R’




15
Riduzione del numero degli stati:
             stati indistinguibili di una stessa macchina
     Data una macchina completamente specificata, siano:
        Iα - una generica sequenza di ingresso ij, ..., ik
        Uα - la sequenza d'uscita ad essa associata ottenuta attraverso
        λ.
        si, sj - due generici stati


     I due stati si e sj appartenenti ad S sono indistinguibili se:

             Uα,i = λ(si, Iα) = λ(sj, Iα) = Uα,j           ∀ Iα

        ponendo la macchina in si oppure in sj e applicando una qualsiasi

        sequenza di ingresso, le uscite sono identiche.



     L’indistinguibilità tra si e sj si indica con: si ~ sj

16
Riduzione del numero degli stati:
              identificazione degli stati equivalenti
     La definizione di indistinguibilità tra stati è di difficile
     applicabilità poiché richiederebbe di considerare tutte
     le sequenze di ingresso (a priori infinite)

     Si ricorre ad una regola introdotta da Paull – Unger
         Due stati si e sj appartenenti ad S sono indistinguibili
         se e solo se per ogni simbolo di ingresso ia :
                   λ(si,ia )=λ(sj,ia) (Le uscite sono uguali per ogni
       

         simbolo di ingresso)

                   δ(si,ia)~δ(sj,ia) (Gli stati prossimi sono
       

         indistinguibili)


     La regola di Paull – Unger è iterativa
17
Tabella delle implicazioni




              L’R’             L’R             LR            LR’
     Lost   Lost/F TR’ TL’   E/G/F TR’ TL’   E/G/F TR’ TL’ E/G/F TR’ TL’
     E/G    B/F’ TR’ TL      E/G/F’ TR’ TL   E/G/F’ TR’ TL E/G/F’ TR’ TL
     A      B/F TR’ TL       A/F TR’ TL      E/G/F TR’ TL E/G/F TR’ TL
     B      C/F TR TL’       A/F TR TL’      A/F TR TL’ C/F TR TL’
     C      C/F TR TL’       A/F TR TL’      A/F TR TL’ C/F TR TL’




18
Tabella delle implicazioni


                  x
     E/G
               x        x
      A

      B       x        x      x
              x        x      x        ~
      C
             Lost E/G        A         B

19
Nuovo Cervello Migliorato

     Unione degli stati B e C;
     Il comportamento è esattamente quello del cervello
     a 5 stati;
     Ora ci servono solo 2 variabili di stato invece di 3.
                                        L+R                             L’ R
                  L+R                             L
           LOST                  E/G                            A
            (F)                  (TL)                         (TL, F)


                                              R
         L’ R’           L’ R’
                                                      L’ R’

                               B/C
                    R’
                             (TR, F)



20
Sintesi
     La sintesi si svolge nei seguenti passi:
     1. Realizzazione del diagramma degli stati a partire dalle
        specifiche informali del problema
     2. Costruzione della tabella degli stati
     3. Riduzione del numero degli stati: ottimizzazione
     4. Costruzione della tabella delle transizioni (10 min)
          – Assegnamento degli stati: Codice & codifica
     5. Costruzione della tabella delle eccitazioni
          – Scelta degli elementi di memoria
     6. Sintesi sia della rete combinatoria che realizza la
        funzione stato prossimo sia della rete combinatoria che
        realizza la funzione d'uscita



21
Sintesi: Scelta del codice
     Il processo di codifica degli stati ha l’obiettivo di
     identificare per ogni rappresentazione simbolica dello stato
     una corrispondente rappresentazione binaria.

     Due problemi paralleli:
         Scelta del codice.
              A minimo numero di bit
                  – n°di elementi di memoria=  log2 |S| (codifica densa)
              One-Hot
                  – n°di elementi di memoria= |S| (codifica sparsa)
              Distanza Minima
                  – Gli stati che sono in corrispondenza delle transizioni più
                    frequenti sono poste a distanza Hamming più piccola
                    possibile ponendo il vincolo del minor numero possibile di
                    bit.
              …
         Identificazione della codifica di ogni stato.

22
Assegnamento degli stati
     2 Stati:
        Richieste almeno 2 variabili di stato: X, Y;
        Almeno 2 bistabili.



                    LOST            -   00
                    E/G             -   01
                    A               -   10
                    B/C             -   11



23
Tabella delle transizioni




          00    01   11    10
     00   00    01   01    01    100
     01   11    01   01    01    001
     11   11    10   10    11    110
     10   11    10   01    01    101




24
Assegnamento degli stati:
                      caso non ottimizzato
     5 Stati:
        Richieste almeno 3 variabili: X, Y, Z




                    LOST           -   000
                    E/G            -   001
                    A              -   010
                    B              -   011
                    C              -   100


25
Tabella delle transizioni:
               caso non ottimizzato




           L’R’       L’R        LR       LR’
                                                100
     000   000        001        001      001
                                                001
     001   011        001        001      001
     010   011        010        001      001   101
                                                110
     011   100        010        010      100
                                                110
     100   100        010        010      100




26
Sintesi
     La sintesi si svolge nei seguenti passi:
     1. Realizzazione del diagramma degli stati a partire dalle
        specifiche informali del problema
     2. Costruzione della tabella degli stati
     3. Riduzione del numero degli stati: ottimizzazione
     4. Costruzione della tabella delle transizioni
          – Assegnamento degli stati: Codice & codifica
     5. Costruzione della tabella delle eccitazioni (10 min)
          – Scelta degli elementi di memoria
     6. Sintesi sia della rete combinatoria che realizza la
        funzione stato prossimo sia della rete combinatoria che
        realizza la funzione d'uscita



27
Implementazione: caso ottimizzato
     Le uscite sono funzioni solo dello stato corrente:
     Macchiana di Moore



                                                    F
                    Logica d’uscita                 TR
                                                    TL
                                      Nuovo Stato
           L           Logica
           R         Nuovo Stato
                                       X+   Y+




                 Stato Corrente
                                       X    Y




28
Tabella delle eccitazioni

                      Tabella delle eccitazioni
                      di un bistabile di tipo D
                                 Q   Q’        D
                                 0   0         0
                                 0   1         1
                                 1   0         0
                                 1   1         1

                                                                 Tabella delle
     Tabella delle transizioni                                eccitazioni (con D)
          00   01   11   10                        LR
                                          XY             00      01    11      10
     00   00   01   01   01                         00   00      01    01      01
     01   11   01   01   01                         01   11      01    01      01
                                                    11   11      10    10      11
     11   11   10   10   11                         10   11      10    10      01
     10   11   10   10   01

29
Tabella delle eccitazioni

                      Tabella delle eccitazioni
                      di un bistabile di tipo SR
                              Q   Q’   SR
                              0   0    0-
                              0   1    10
                              1   0    01
                              1   1    -0


                                                     Tabella delle eccitazioni
     Tabella delle transizioni                               (con SR)
          00   01   11   10                  LR
                                                   00      01      11      10
                                       XY
     00   00   01   01   01                 00    0- 0-   0- 10   0- 10   00 10
     01   11   01   01   01                 01    10 -0   0- -0   0- -0   0- -0
                                            11    -0 -0   -0 01   -0 01   -0 -0
     11   11   10   10   11                 10    -0 10   -0 0-   -0 0-   01 10
     10   11   10   10   01

30
Sintesi: Mappe di Karnaugh

     Le quattro mappe di Karnaugh che si ottengono sono
       quindi:
                       00   01   11   10                   00   01   11   10
                  00    0    1    1    1              00    -    0    0    0
                  01    -    -    -    -              01    0    0    0    0
                  11    -    0    0    -              11    0    1    1    0
                  10    1    0    0    1              10    0    -    -    0

        Set0= …                            Res0=…

                       00   01   11   10                   00   01   11   10
                  00    0    0    0    0              00    -    -    -    0
                  01    1    0    0    0              01    0    -    -    -
                  11    -    -    -    -              11    0    0    0    0
                  10    -    -    -    0              10    0    0    0    1

                                                    Res1=…
        Set1= …

31
Implementazione: caso non ottimizzato

     Le uscite sono funzioni solo dello stato corrente:
     Macchiana di Moore



                                                         F
                    Logica d’uscita                      TR
                                                         TL
                                      Nuovo Stato
           L           Logica
           R         Nuovo Stato
                                       X+   Y+      Z+




                 Stato Corrente
                                       X    Y       Z




32
Sintesi
     La sintesi si svolge nei seguenti passi:
     1. Realizzazione del diagramma degli stati a partire dalle
        specifiche informali del problema
     2. Costruzione della tabella degli stati
     3. Riduzione del numero degli stati: ottimizzazione
     4. Costruzione della tabella delle transizioni
          – Assegnamento degli stati: Codice & codifica
     5. Costruzione della tabella delle eccitazioni
          – Scelta degli elementi di memoria
     6. Sintesi sia della rete combinatoria che realizza la
        funzione stato prossimo sia della rete combinatoria
        che realizza la funzione d'uscita (casa)



33
Questions




34

Contenu connexe

Plus de Marco Santambrogio (20)

RCIM 2008 - - UniCal
RCIM 2008 - - UniCalRCIM 2008 - - UniCal
RCIM 2008 - - UniCal
 
RCIM 2008 - - ALTERA
RCIM 2008 - - ALTERARCIM 2008 - - ALTERA
RCIM 2008 - - ALTERA
 
DHow2 - L6 VHDL
DHow2 - L6 VHDLDHow2 - L6 VHDL
DHow2 - L6 VHDL
 
DHow2 - L5
DHow2 - L5DHow2 - L5
DHow2 - L5
 
RCIM 2008 - - ALaRI
RCIM 2008 - - ALaRIRCIM 2008 - - ALaRI
RCIM 2008 - - ALaRI
 
RCIM 2008 - Modello Scheduling
RCIM 2008 - Modello SchedulingRCIM 2008 - Modello Scheduling
RCIM 2008 - Modello Scheduling
 
RCIM 2008 - HLR
RCIM 2008 - HLRRCIM 2008 - HLR
RCIM 2008 - HLR
 
RCIM 2008 - Modello Generale
RCIM 2008 - Modello GeneraleRCIM 2008 - Modello Generale
RCIM 2008 - Modello Generale
 
RCIM 2008 - Allocation Relocation
RCIM 2008 - Allocation RelocationRCIM 2008 - Allocation Relocation
RCIM 2008 - Allocation Relocation
 
RCIM 2008 - - hArtes_Ferrara
RCIM 2008 - - hArtes_FerraraRCIM 2008 - - hArtes_Ferrara
RCIM 2008 - - hArtes_Ferrara
 
RCIM 2008 - Janus
RCIM 2008 - JanusRCIM 2008 - Janus
RCIM 2008 - Janus
 
DHow2 - L2
DHow2 - L2DHow2 - L2
DHow2 - L2
 
DHow2 - L1
DHow2 - L1DHow2 - L1
DHow2 - L1
 
RCW@DEI - Treasure hunt
RCW@DEI - Treasure huntRCW@DEI - Treasure hunt
RCW@DEI - Treasure hunt
 
RCW@DEI - ADL
RCW@DEI - ADLRCW@DEI - ADL
RCW@DEI - ADL
 
RCW@DEI - Design Flow 4 SoPc
RCW@DEI - Design Flow 4 SoPcRCW@DEI - Design Flow 4 SoPc
RCW@DEI - Design Flow 4 SoPc
 
RCW@DEI - Real Needs And Limits
RCW@DEI - Real Needs And LimitsRCW@DEI - Real Needs And Limits
RCW@DEI - Real Needs And Limits
 
RCW@DEI - Basic Concepts
RCW@DEI - Basic ConceptsRCW@DEI - Basic Concepts
RCW@DEI - Basic Concepts
 
RCW@DEI - Reconf Comp
RCW@DEI - Reconf CompRCW@DEI - Reconf Comp
RCW@DEI - Reconf Comp
 
Blanket project presentation
Blanket project presentationBlanket project presentation
Blanket project presentation
 

DHow2 - L6 Ant

  • 1. POLITECNICO DI MILANO Sintesi comportamentale di reti sequenziali sincrone Ant Brain DRESD How To (DHow2) – L6 DRESD Team info@dresd.org
  • 2. Sintesi La sintesi si svolge nei seguenti passi: 1. Realizzazione del diagramma degli stati a partire dalle specifiche informali del problema 2. Costruzione della tabella degli stati 3. Riduzione del numero degli stati: ottimizzazione 4. Costruzione della tabella delle transizioni – Assegnamento degli stati: Codice & codifica 5. Costruzione della tabella delle eccitazioni – Scelta degli elementi di memoria 6. Sintesi sia della rete combinatoria che realizza la funzione stato prossimo sia della rete combinatoria che realizza la funzione d'uscita 2
  • 4. Ant Brain: Specifiche Sensori: L e R antenne; Assumono valore 1 se toccano il muro. Attuatori: F: procedi dritto; TL: Gira piano a sinistra; TR : Gira piano a destra. Goal: trovare l’uscita dal labirinto Strategia: tenere il muro a destra 4
  • 5. Comportamento Formica A: Segui il muro toccandolo. B: Segui il muro senza toccarlo. Vai dritto, girando leggermente Vai dritto, girando leggermente a destra. a sinistra. D: Toccato il muro nuovamente. C: Rottura nel muro. Vai dritto, girando leggermente Torna allo stato A. a destra. E: Muro di fronte. F: ...siamo qui, stessa Gira a sinistra finchè… situazione dello stato B. LOST: Dritto fino a quando non G: Gira a sinistra finchè… Tocchi qualche cosa. 5
  • 6. Sintesi La sintesi si svolge nei seguenti passi: 1. Realizzazione del diagramma degli stati a partire dalle specifiche informali del problema (15 min) 2. Costruzione della tabella degli stati 3. Riduzione del numero degli stati: ottimizzazione 4. Costruzione della tabella delle transizioni – Assegnamento degli stati: Codice & codifica 5. Costruzione della tabella delle eccitazioni – Scelta degli elementi di memoria 6. Sintesi sia della rete combinatoria che realizza la funzione stato prossimo sia della rete combinatoria che realizza la funzione d'uscita 6
  • 7. Disegno del Cervello della Formica: Diagramma degli Stati L+R L’ R L+R L LOST A E/G (F) (TL, F) (TL) R L’ R’ L’ R’ R L’ R’ C B R’ (TR, F) (TR, F) R’ 7
  • 8. Sintesi La sintesi si svolge nei seguenti passi: 1. Realizzazione del diagramma degli stati a partire dalle specifiche informali del problema 2. Costruzione della tabella degli stati (10min) 3. Riduzione del numero degli stati: ottimizzazione 4. Costruzione della tabella delle transizioni – Assegnamento degli stati: Codice & codifica 5. Costruzione della tabella delle eccitazioni – Scelta degli elementi di memoria 6. Sintesi sia della rete combinatoria che realizza la funzione stato prossimo sia della rete combinatoria che realizza la funzione d'uscita 8
  • 9. Tabella degli stati Il comportamento di una FSM può essere descritto mediante la Tabella degli stati Gli indici di colonna sono i simboli di ingresso iα ∈ I Gli indici di riga sono i simboli di stato sj ∈ S che indicano lo stato presente i1 i2 .. Gli elementi della tabella sono: S1t Sjt+1/uj Skt+1/uk . . . Macchine di Mealy S2t Smt+1/um Slt+1/ul . . . la coppia {uβ ,sj } . .. . . ... ... uβ = λ(iα, sj ) è il simbolo di uscita sj = δ(iα, sj ) è il simbolo stato prossimo i1 i2 .. S1t Sjt+1 Skt+1 u1 ... S2t Smt+1 Slt+1 u2 ... Macchine di Moore ....... ... .. Il simbolo stato prossimo sj sj = δ(iα, sj ) è il simbolo stato prossimo 9 i simboli d'uscita sono associati allo stato presente
  • 10. Macchine di Mealy e Macchine di Moore Macchine di Mealy la funzione di uscita costituisce la risposta della macchina quando, trovandosi in un certo stato presente, riceve un simbolo di ingresso nelle macchine di Mealy, l’uscita va “letta” mentre la macchina subisce una transizione di stato Macchine di Moore la funzione di uscita costituisce la risposta della macchina associata allo stato in cui si trova nelle macchine di Moore, l’uscita viene letta mentre la macchina si trova in un determinato stato E’ possibile trasformare una macchina di Mealy in una macchina equivalente di Moore, e viceversa 10
  • 11. Tabella degli stati: Moore L+R L’ R LOST E/G A L+R L (F) (TL) (TL, F) R L’ R’ L’ R’ R L’ R’ B C (TR, F) (TR, F) R’ L’R’ L’R LR LR’ R’ Lost Lost E/G E/G E/G F TR’ TL’ E/G B E/G E/G E/G F’ TR’ TL A B A E/G E/G F TR’ TL B C A A C F TR TL’ C C A A C F TR TL’ 11
  • 12. Tabella degli stati: Mealy L’R’ L’R LR LR’ Lost Lost/F TR’ TL’ E/G/F TR’ TL’ E/G/F TR’ TL’ E/G/F TR’ TL’ E/G B/F’ TR’ TL E/G/F’ TR’ TL E/G/F’ TR’ TL E/G/F’ TR’ TL A B/F TR’ TL A/F TR’ TL E/G/F TR’ TL E/G/F TR’ TL B C/F TR TL’ A/F TR TL’ A/F TR TL’ C/F TR TL’ C C/F TR TL’ A/F TR TL’ A/F TR TL’ C/F TR TL’ 12
  • 13. Sintesi La sintesi si svolge nei seguenti passi: 1. Realizzazione del diagramma degli stati a partire dalle specifiche informali del problema 2. Costruzione della tabella degli stati 3. Riduzione del numero degli stati: ottimizzazione (15 min) 4. Costruzione della tabella delle transizioni – Assegnamento degli stati: Codice & codifica 5. Costruzione della tabella delle eccitazioni – Scelta degli elementi di memoria 6. Sintesi sia della rete combinatoria che realizza la funzione stato prossimo sia della rete combinatoria che realizza la funzione d'uscita 13
  • 14. Riduzione del numero degli stati: macchine equivalenti Date due macchine completamente specificate M1 e M2 si dicono equivalenti se e solo se: per ogni stato si di M1, esiste uno stato sj di M2 tale che ponendo la macchina M1 in si e la macchina M2 in sj e applicando alle due macchine una qualunque sequenza di ingresso I le due sequenze di uscita sono identiche. E viceversa per M2 rispetto ad M1 Nota: nella definizione di equivalenza sono considerate solo le relazioni ingresso-uscita quindi le due macchine possono avere un insieme di stati diverso e in particolare di diversa cardinalità 14
  • 15. Rivisitazione dell’Ant Brain Nessuno stato equivalente? L+R L’ R L+R L LOST E/G A (F) (TL) (TL, F) R L’ R’ L’ R’ R L’ R’ B C R’ (TR, F) (TR, F) R’ 15
  • 16. Riduzione del numero degli stati: stati indistinguibili di una stessa macchina Data una macchina completamente specificata, siano: Iα - una generica sequenza di ingresso ij, ..., ik Uα - la sequenza d'uscita ad essa associata ottenuta attraverso λ. si, sj - due generici stati I due stati si e sj appartenenti ad S sono indistinguibili se: Uα,i = λ(si, Iα) = λ(sj, Iα) = Uα,j ∀ Iα ponendo la macchina in si oppure in sj e applicando una qualsiasi sequenza di ingresso, le uscite sono identiche. L’indistinguibilità tra si e sj si indica con: si ~ sj 16
  • 17. Riduzione del numero degli stati: identificazione degli stati equivalenti La definizione di indistinguibilità tra stati è di difficile applicabilità poiché richiederebbe di considerare tutte le sequenze di ingresso (a priori infinite) Si ricorre ad una regola introdotta da Paull – Unger Due stati si e sj appartenenti ad S sono indistinguibili se e solo se per ogni simbolo di ingresso ia : λ(si,ia )=λ(sj,ia) (Le uscite sono uguali per ogni simbolo di ingresso) δ(si,ia)~δ(sj,ia) (Gli stati prossimi sono indistinguibili) La regola di Paull – Unger è iterativa 17
  • 18. Tabella delle implicazioni L’R’ L’R LR LR’ Lost Lost/F TR’ TL’ E/G/F TR’ TL’ E/G/F TR’ TL’ E/G/F TR’ TL’ E/G B/F’ TR’ TL E/G/F’ TR’ TL E/G/F’ TR’ TL E/G/F’ TR’ TL A B/F TR’ TL A/F TR’ TL E/G/F TR’ TL E/G/F TR’ TL B C/F TR TL’ A/F TR TL’ A/F TR TL’ C/F TR TL’ C C/F TR TL’ A/F TR TL’ A/F TR TL’ C/F TR TL’ 18
  • 19. Tabella delle implicazioni x E/G x x A B x x x x x x ~ C Lost E/G A B 19
  • 20. Nuovo Cervello Migliorato Unione degli stati B e C; Il comportamento è esattamente quello del cervello a 5 stati; Ora ci servono solo 2 variabili di stato invece di 3. L+R L’ R L+R L LOST E/G A (F) (TL) (TL, F) R L’ R’ L’ R’ L’ R’ B/C R’ (TR, F) 20
  • 21. Sintesi La sintesi si svolge nei seguenti passi: 1. Realizzazione del diagramma degli stati a partire dalle specifiche informali del problema 2. Costruzione della tabella degli stati 3. Riduzione del numero degli stati: ottimizzazione 4. Costruzione della tabella delle transizioni (10 min) – Assegnamento degli stati: Codice & codifica 5. Costruzione della tabella delle eccitazioni – Scelta degli elementi di memoria 6. Sintesi sia della rete combinatoria che realizza la funzione stato prossimo sia della rete combinatoria che realizza la funzione d'uscita 21
  • 22. Sintesi: Scelta del codice Il processo di codifica degli stati ha l’obiettivo di identificare per ogni rappresentazione simbolica dello stato una corrispondente rappresentazione binaria. Due problemi paralleli: Scelta del codice. A minimo numero di bit – n°di elementi di memoria=  log2 |S| (codifica densa) One-Hot – n°di elementi di memoria= |S| (codifica sparsa) Distanza Minima – Gli stati che sono in corrispondenza delle transizioni più frequenti sono poste a distanza Hamming più piccola possibile ponendo il vincolo del minor numero possibile di bit. … Identificazione della codifica di ogni stato. 22
  • 23. Assegnamento degli stati 2 Stati: Richieste almeno 2 variabili di stato: X, Y; Almeno 2 bistabili. LOST - 00 E/G - 01 A - 10 B/C - 11 23
  • 24. Tabella delle transizioni 00 01 11 10 00 00 01 01 01 100 01 11 01 01 01 001 11 11 10 10 11 110 10 11 10 01 01 101 24
  • 25. Assegnamento degli stati: caso non ottimizzato 5 Stati: Richieste almeno 3 variabili: X, Y, Z LOST - 000 E/G - 001 A - 010 B - 011 C - 100 25
  • 26. Tabella delle transizioni: caso non ottimizzato L’R’ L’R LR LR’ 100 000 000 001 001 001 001 001 011 001 001 001 010 011 010 001 001 101 110 011 100 010 010 100 110 100 100 010 010 100 26
  • 27. Sintesi La sintesi si svolge nei seguenti passi: 1. Realizzazione del diagramma degli stati a partire dalle specifiche informali del problema 2. Costruzione della tabella degli stati 3. Riduzione del numero degli stati: ottimizzazione 4. Costruzione della tabella delle transizioni – Assegnamento degli stati: Codice & codifica 5. Costruzione della tabella delle eccitazioni (10 min) – Scelta degli elementi di memoria 6. Sintesi sia della rete combinatoria che realizza la funzione stato prossimo sia della rete combinatoria che realizza la funzione d'uscita 27
  • 28. Implementazione: caso ottimizzato Le uscite sono funzioni solo dello stato corrente: Macchiana di Moore F Logica d’uscita TR TL Nuovo Stato L Logica R Nuovo Stato X+ Y+ Stato Corrente X Y 28
  • 29. Tabella delle eccitazioni Tabella delle eccitazioni di un bistabile di tipo D Q Q’ D 0 0 0 0 1 1 1 0 0 1 1 1 Tabella delle Tabella delle transizioni eccitazioni (con D) 00 01 11 10 LR XY 00 01 11 10 00 00 01 01 01 00 00 01 01 01 01 11 01 01 01 01 11 01 01 01 11 11 10 10 11 11 11 10 10 11 10 11 10 10 01 10 11 10 10 01 29
  • 30. Tabella delle eccitazioni Tabella delle eccitazioni di un bistabile di tipo SR Q Q’ SR 0 0 0- 0 1 10 1 0 01 1 1 -0 Tabella delle eccitazioni Tabella delle transizioni (con SR) 00 01 11 10 LR 00 01 11 10 XY 00 00 01 01 01 00 0- 0- 0- 10 0- 10 00 10 01 11 01 01 01 01 10 -0 0- -0 0- -0 0- -0 11 -0 -0 -0 01 -0 01 -0 -0 11 11 10 10 11 10 -0 10 -0 0- -0 0- 01 10 10 11 10 10 01 30
  • 31. Sintesi: Mappe di Karnaugh Le quattro mappe di Karnaugh che si ottengono sono quindi: 00 01 11 10 00 01 11 10 00 0 1 1 1 00 - 0 0 0 01 - - - - 01 0 0 0 0 11 - 0 0 - 11 0 1 1 0 10 1 0 0 1 10 0 - - 0 Set0= … Res0=… 00 01 11 10 00 01 11 10 00 0 0 0 0 00 - - - 0 01 1 0 0 0 01 0 - - - 11 - - - - 11 0 0 0 0 10 - - - 0 10 0 0 0 1 Res1=… Set1= … 31
  • 32. Implementazione: caso non ottimizzato Le uscite sono funzioni solo dello stato corrente: Macchiana di Moore F Logica d’uscita TR TL Nuovo Stato L Logica R Nuovo Stato X+ Y+ Z+ Stato Corrente X Y Z 32
  • 33. Sintesi La sintesi si svolge nei seguenti passi: 1. Realizzazione del diagramma degli stati a partire dalle specifiche informali del problema 2. Costruzione della tabella degli stati 3. Riduzione del numero degli stati: ottimizzazione 4. Costruzione della tabella delle transizioni – Assegnamento degli stati: Codice & codifica 5. Costruzione della tabella delle eccitazioni – Scelta degli elementi di memoria 6. Sintesi sia della rete combinatoria che realizza la funzione stato prossimo sia della rete combinatoria che realizza la funzione d'uscita (casa) 33