A.S.E.24.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 24 Reti sequenziali sincronizzate complesseReti sequenziali sincronizzate complesse –Macchina di Mealy ritardata –Registro di stato –Registro operativo –Parte operativa –Parte di controllo EsempioEsempio
A.S.E.24.2 Richiami Reti combinatorieReti combinatorie –Tecnica di sintesi (minimizzazione) strutturata –Sintesi euristica SommatoreSommatore SottrattoreSottrattore ……..…….. Reti sequenzialiReti sequenziali –Variabili di stato –Tecnica di sintesi strutturata –Sintesi euristica ContatoriContatori Shift registerShift register ……..……..
A.S.E.24.3 Vantaggi delle soluzioni euristiche EsempioEsempio –Moltiplicatore di interi positivi 16 x 16 –Rete combinatoria con 32 ingressi e 32 uscite Tutte le possibili combinazioni degli ingressi sono necessarieTutte le possibili combinazioni degli ingressi sono necessarie –Risultato della sintesi automatica una memoria ROM con 32 bit di indirizzo e parole di 32 bituna memoria ROM con 32 bit di indirizzo e parole di 32 bit Complessità globaleComplessità globale 4 G parole da da 32 bit ( 16 G BYTE !!!!!)4 G parole da da 32 bit ( 16 G BYTE !!!!!)
A.S.E.24.4 Macchina di MEALY Le variabili d’uscita, in un determinato istante, sono funzione del valore degli ingressi e delle variabili di statoLe variabili d’uscita, in un determinato istante, sono funzione del valore degli ingressi e delle variabili di stato R R’ X1X1 XnXn z1z1 zmzm s1s1 sksk s’ 1 s’ k a1a1 La rete R’ è una rete combinatoria anan a n+1 a n+k z1z1 zmzm z m+1 z m+k
A.S.E.24.5 Macchina di Mealy sincronizzata Le uscite sono funzioni delle variabili di stato e degli ingressiLe uscite sono funzioni delle variabili di stato e degli ingressi R R’ X1X1 XnXn z1z1 s p1 s Pk s n1 s nk a1a1 anan a n+1 a n+k z1z1 zmzm z m+1 z m+k zmzm Ck
A.S.E.24.6 Macchina di MOORE Le variabili d’uscita, in un determinato istante, sono funzione del sole variabili di statoLe variabili d’uscita, in un determinato istante, sono funzione del sole variabili di stato R CN 1 X1X1 XnXn z1z1 zWzW s1s1 sksk s’ k s’ 1 a1a1 anan a n+1 a n+k z1z1 zmzm z m+1 zkzk CN 2 Ck
A.S.E.24.7 Macchina di Mealy Ritardata Le uscite sono funzioni delle variabili di stato e degli ingressi, ma risultano sincronizzateLe uscite sono funzioni delle variabili di stato e degli ingressi, ma risultano sincronizzate R R’ X1X1 XnXn z1z1 s p1 s Pk s n1 s nk a1a1 anan a n+1 a n+k z1z1 zmzm z m+1 z m+k zmzm Ck
A.S.E.24.8 Interpretazione diversa Il registro può essere visto come più registri che svolgono funzioni diverseIl registro può essere visto come più registri che svolgono funzioni diverse RCRC IN OUT SR DR n DR 0 Ck X
A.S.E.24.9 Osservazioni 1 Registro SR(Status Register)Registro SR(Status Register) –Contiene le variabili di stato Registro DR 0 (Data Register)Registro DR 0 (Data Register) –Contiene parte delle variabili d’uscita (Dati) …..….. Registro RD n (Data Register)Registro RD n (Data Register) –Contiene parte delle variabili d’uscita (Dati) NOTENOTE La suddivisione in vari “registri dati” è funzionale al progettoLa suddivisione in vari “registri dati” è funzionale al progetto Non tutti gli RD servono per le variabili d’uscitaNon tutti gli RD servono per le variabili d’uscita
A.S.E Osservazione 2 La suddivisione dei registri è funzionale al fatto di ridurre considerevolmente gli stati interni della macchina (solo SR da luogo a variabili di stato)La suddivisione dei registri è funzionale al fatto di ridurre considerevolmente gli stati interni della macchina (solo SR da luogo a variabili di stato) Anche la rete combinatoria può essere interpretata come più reti combinatorieAnche la rete combinatoria può essere interpretata come più reti combinatorie
A.S.E Scomposizione della “RC” Parte Operativa IN OUT SR DR n DR 0 Ck X Parte di Controllo CB
A.S.E Osservazioni La parte operativa esegue determinate operazioni sulle variabili d’ingresso, in funzione delle variabili d’uscita e delle informazioni fornite dalla parte di controllo (B) microistruzioniLa parte operativa esegue determinate operazioni sulle variabili d’ingresso, in funzione delle variabili d’uscita e delle informazioni fornite dalla parte di controllo (B) microistruzioni Genera le variabili di condizionamento (C) e le nuove uscitaGenera le variabili di condizionamento (C) e le nuove uscita La parte di controllo determina i vari passi da eseguire, in funzione delle variabili di stato e delle variabili di controlloLa parte di controllo determina i vari passi da eseguire, in funzione delle variabili di stato e delle variabili di controllo
A.S.E Ulteriore suddivisione La parte operativa può essere ulteriormente suddivisa in due partiLa parte operativa può essere ulteriormente suddivisa in due parti RC Operativa IN Ck RC Condizionamento Parte Operativa BC
A.S.E Osservazioni La suddivisione vista è dettata da:La suddivisione vista è dettata da: –Le reti sequenziali complesse sono difficili ad essere gestite –Le funzioni della parte operativa solitamente sono. OPERAZIONI ARITMETICHEOPERAZIONI ARITMETICHE OPERAZIONI LOGICHEOPERAZIONI LOGICHE SHIFTSHIFT MULTIPLEXMULTIPLEX –Una soluzione “guidata” è solitamente più veloce e più efficiente –(i criteri d’ottimizzazione sono scelti dal progettista)
A.S.E Esempio Riconoscitore di due sequenze in cascataRiconoscitore di due sequenze in cascata –Ingressi X 1, X 0X 1, X 0 –Uscite Z 3, Z 2, Z 1, Z 0Z 3, Z 2, Z 1, Z 0 DescrizioneDescrizione –prima riconosce la sequenza 00, 01,10 –dopo riconosce la sequenza 11, 01,10 –Incrementa l’uscita tutte le volte che una sequenza viene riconosciuta (modulo 16)
A.S.E Diagramma di flusso Y Z=1 Y Z=2 Y Y Y Y Y Y Y Y Occorrono 8 blocchi simili al seguente
A.S.E OSSERVAZIONI Le uscite possono essere fornite da un contatore modulo 16Le uscite possono essere fornite da un contatore modulo 16 –condizioni di conteggio –ingressiX 1 = 1, X 0 = 0 –Parte di controllo verifica che le precedenti due configurazioni formano la sequenza voluta (B) La parte di condizionamento deve riconoscere i primi due termini delle sequenzeLa parte di condizionamento deve riconoscere i primi due termini delle sequenze –C 0 = 1 se X 1,X 0 = 00 e Z 0 = 0 e se X 1,X 0 = 11 e Z 0 = 1 –C 1 = 1 se X 1,X 0 = 01
A.S.E Temporizzazione Ck X1 X0 W C1 C0 S0 S1 Z1 Z0 B
A.S.E Rete combinatoria operativa MUXMUX MUXMUX 1 X1 X0 0 0 Ck B Z W
A.S.E Rete Combinatoria di condizionamento Tabella di veritàTabella di verità X1X0Z0C0C
A.S.E Rete Combinatoria di condizionamento X1 X0 Z0 C0C1
A.S.E Parte di controllo Diagramma di Flusso Variabili d’ingresso C 1 C 0, variabili di stato S 1 S 0Variabili d’ingresso C 1 C 0, variabili di stato S 1 S 0 Y X B 10 Y Y Y Y a00 b01 c10
A.S.E Parte di controllo Tabella delle transizioni C1C0S1S0S1S0B C1C0S1S0S1S0B
A.S.E Minimizzazione S N0 C1C0C1C0C1C0C1C0 S1S0S1S0S1S0S1S S N1 C1C0C1C0C1C0C1C0 S1S0S1S0S1S0S1S B S N0 S N1
A.S.E Parte di Controllo OsservazioniOsservazioni –La variabile B coincide con S N1 –La rete può essere sintetizzata in modo classico come una macchina di MOORE RC 1 RC 2 SR C0 C1B
A.S.E Riconoscitore di Sequenze RC Op RC Con RC 2 RC 1 DR Z X SR Parte di Controllo Parte Operativa B C
A.S.E Conclusioni Reti sequenziali sincronizzate complesseReti sequenziali sincronizzate complesse –Macchina di Mealy ritardata –Registro di stato –Registro operativo –Parte operativa –Parte di controllo EsempioEsempio