ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 24 Reti sequenziali sincronizzate complesse Macchina di Mealy ritardata Registro di stato Registro operativo Parte operativa Parte di controllo Esempio A.S.E.
Richiami Reti combinatorie Reti sequenziali Tecnica di sintesi (minimizzazione) strutturata Sintesi euristica Sommatore Sottrattore …….. Reti sequenziali Variabili di stato Tecnica di sintesi (minimizzazione degli stati) strutturata Contatori Shift register A.S.E.
Vantaggi delle soluzioni euristiche Esempio Moltiplicatore di interi positivi 16 x 16 Rete combinatoria con 32 ingressi e 32 uscite Tutte le possibili combinazioni degli ingressi sono necessarie Risultato della sintesi automatica una memoria ROM con 32 bit di indirizzo e parole di 32 bit Complessità globale 4 G parole da da 32 bit ( 16 GBYTE !!!!!) A.S.E.
Macchina di Mealy sincronizzata Le uscite sono funzioni delle variabili di stato e degli ingressi R R’ X1 Xn z1 sp1 sPk sn1 snk a1 an an+1 an+k zm zm+1 zm+k Ck La rete R’ è una rete combinatoria A.S.E.
Macchina di MOORE Le variabili d’uscita, in un determinato istante, sono funzione del sole variabili di stato R s’1 z1 X1 a1 z1 CN2 Xn CN1 an zm zW s1 an+1 zm+1 s’k sk zk an+k Ck A.S.E.
Macchina di Mealy Ritardata Le uscite sono funzioni delle variabili di stato e degli ingressi, ma risultano sincronizzate z1 z1 X1 a1 Xn zm zm an sp1 R’ sn1 an+1 zm+1 R sPk snk an+k zm+k Ck A.S.E.
Osservazioni La macchina di Mealy ritardata ha le uscite sincronizzate come quella di Moore La macchina di Mealy ritardata presenta meno stati interni di quella di Moore Nelle reti sequenziali complesse ha particolare importanza ridurre il numero delle variabili di stato Quindi la macchina di Mealy ritardata è da preferirsi a quella di Moore A.S.E.
Interpretazione diversa Il registro può essere visto come più registri che svolgono funzioni diverse DR0 R C IN OUT DRn X SR Ck A.S.E.
Osservazioni 1 Registro SR (Status Register) Contiene le variabili di stato Registro DR0 (Data Register) Contiene parte delle variabili d’uscita (Dati) ….. Registro RDn (Data Register) NOTE La suddivisione in vari “registri dati” è funzionale al progetto Non 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) Anche la rete combinatoria può essere interpretata come più reti combinatorie A.S.E.
Scomposizione della “RC” DR0 Parte Operativa IN OUT DRn X C B SR Parte di Controllo Ck 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) microistruzioni Genera 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 controllo A.S.E.
Ulteriore suddivisione La parte operativa può essere ulteriormente suddivisa in due parti RC Operativa IN RC Condizionamento Parte Operativa C B A.S.E. Ck
Osservazioni La suddivisione vista è dettata da: Le reti sequenziali complesse sono difficili ad essere gestite Le funzioni della parte operativa solitamente sono. OPERAZIONI ARITMETICHE OPERAZIONI LOGICHE SHIFT MULTIPLEX 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 cascata Descrizione X1 = 1, X0 = 0 Riconoscitore di due sequenze in cascata Ingressi X1, X0 Uscite Z3, Z2, Z1, Z0 Descrizione 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.
Occorrono 8 blocchi simili al seguente Diagramma di flusso {00-01-10}_ {11-01-10} Y 00 01 10 Z=1 11 Z=2 Occorrono 8 blocchi simili al seguente A.S.E.
Osservazioni In totale si hanno 6 x 8 = 48 stati interni Occorrono 6 variabili di stato 26 = 64, potenza del 2 immediatamente superiore a 48 Rete combinatoria a 6 + 2 = 8 ingressi e 4 uscite Non è possibile ottimizzarla manualmente _________________________________________ Considerando la macchina come macchina sequenziale complessa si ha A.S.E.
Macchina sequenziale complessa Parte operativa La parte operativa può essere un contatore modulo 16 che si incrementa quando La parte di controllo ha verificato che sono passati due termini della sequenza giusta E gli ingressi assumono il valore X1 = 1, X0 = 0 A.S.E.
Schema della parte operativa Incrementa se (X1 = 1 e X0 = 0) e se il segnale “B”, della parte di controllo vale 1 Contatore Mod 16 Z3 X0 E X1 Z2 Z1 B Z1 Ck {00-01-10}_ {11-01-10} Ck A.S.E.
Parte operativa Soluzione alternativa Soluzione che evidenzia la rete combinatoria 4 4 M U X 4 4 Z 4 M U X S 1 Ck X1 W X0 B A.S.E.
Parte di controllo Il diagramma ASM delle parte di controllo diviene Y 00 01 10 B=1 11 A.S.E.
Si può provare ad eseguire un precondizinamento degli ingressi OSSERVAZIONI Sono ora necessari 6 stati interni 3 variabili di stato + 2 ingessi Rete combinatoria sempre troppo grossa Si può provare ad eseguire un precondizinamento degli ingressi A.S.E.
Considerazioni sulla sequenza Si definiscono due variabili di condizionamento C0 e C1 La sequenza che inizia con 00 deve essere riconosciuta quando l’uscita è pari Z0 = 0 La sequenza che inizia con 11 deve essere riconosciuta quando l’uscita è dispari Z0 = 1 Si pone C0 = 1 se X1,X0 = 00 e Z0 = 0 e se X1,X0 = 11 e Z0 = 1 C1 = 1 se X1,X0 = 01 {00-01-10} _ {11-01-10} A.S.E.
Rete Combinatoria di condizionamento Tabella di verità X1 X0 Z0 C0 C1 1 A.S.E.
Rete Combinatoria di condizionamento X1 X0 Z0 C0 C1 A.S.E.
Parte di controllo Gli ingressi della parte di controllo sono C0 e C1 Ricordando che la parte di condizionamento fornisce C0 = 1 se X1,X0 = 00 e Z0 = 0 e se X1,X0 = 11 e Z0 = 1 C1 = 1 se X1,X0 = 01 Gli ingressi della parte di controllo sono C0 e C1 Le sequenze iniziano quando è C0 = 1 Il secondo passo della sequenza si ha per C1 = 1 Il caso C0 e C1 = 1 non si può mai verificare Ora si attiva la parte operativa B = 1 A.S.E.
Diagramma di Flusso della Parte di controllo Variabili d’ingresso C1C0, variabili di stato S1S0 X1 X0 Z0 C1 C0 1 Y X0 01 B 00 a b c 10 {00-01-10} _ {11-01-10} A.S.E.
Tabella delle transizioni C1 C0 B 1 -- Y X0 01 B 00 a b c 10 A.S.E.
Minimizzazione SN0 00 01 11 10 1 -- SN1 00 01 11 10 -- 1 B 1 -- A.S.E. C1 C0 B 1 -- C1C0 00 01 11 10 1 -- S1S0 SN1 C1C0 00 01 11 10 -- 1 S1S0 B SN0 1 -- SN1 A.S.E.
Parte di Controllo Osservazioni La variabile B coincide con SN1 La rete può essere sintetizzata in modo classico come una macchina di MOORE SR C0 RC 1 RC 2 C1 B A.S.E.
Riconoscitore di Sequenze X DR RC 2 B RC Op Z RC 1 RC Con SR C Parte di Controllo Parte Operativa A.S.E.
Temporizzazione 1 1 1 1 1 1 Ck X1 X0 W C0 C1 B S0 S1 Z0 Z1 A.S.E.
Conclusioni Reti sequenziali sincronizzate complesse Esempio Macchina di Mealy ritardata Registro di stato Registro operativo Parte operativa Parte di controllo Esempio A.S.E.