1 / 18

Introduzione ai circuiti sequenziali

Introduzione ai circuiti sequenziali. Introduzione ai circuiti sequenziali sincroni Introduzione : Circuiti combinatori e sequenziali Concetto di memoria e di stato Dalla specifica al dispositivo: Esempio. Introduzione. I circuiti digitali possono essere classificati in due categorie

margie
Download Presentation

Introduzione ai circuiti sequenziali

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduzione ai circuiti sequenziali Introduzione ai circuiti sequenziali sincroni Introduzione : Circuiti combinatori e sequenziali Concetto di memoria e di stato Dalla specifica al dispositivo: Esempio

  2. Introduzione • I circuiti digitali possono essere classificati in due categorie • Circuiti combinatori • Il valore delle uscite ad un determinato istante dipende unicamente dal valore degli ingressi in quello stesso istante. • Circuiti sequenziali • Il valore delle uscite in un determinato istante dipende • dalla condizione di partenza del circuito • sia dal valore degli ingressi in quell’istante sia dal valore degli ingressi in istanti precedenti • Per definire il comportamento di un circuito sequenziale è necessario tenere conto della storia passata del circuito stesso

  3. Memoria e concetto di stato • Le uscite di un circuito sequenziale in un dato istante di tempo dipendono: • Dalla condizione iniziale del circuito; • Dalla sequenza di ingressi, applicata in un arco temporale finito, fino all’istante considerato. • Questo aspetto implica che il dispositivo ha memoria degli eventi passati. • In un generico istante t l’informazione relativa al “contenuto” di questa memoria è rappresentata nel concetto di stato. • Nota: le reti combinatorie possono essere considerate un caso particolare di sistema sequenziale dove lo stato è unico. • Trattate solo Macchine a Stati Finiti Deterministiche • Per ragioni legate alla fisica realizzabilità, la memoria di una rete sequenziale è di dimensioni finite; • Dato uno stato ed una configurazione di ingresso il nuovo stato è identificato univocamente.

  4. Esempio: specifiche • Serratura a combinazione di una porta: Specifica • Fornire la combinazione di 3 valori in sequenza per aprire una porta; se si riconosce un errore la serratura deve rimanere chiusa ed è necessario ripartire dall’inizio; quando la porta viene chiusa, il circuito di controllo della serratura deve essere ri-inizializzato in attesa di una nuova sequenza • Ingressi: • Valore in ingresso che appartiene alla sequenza; • Reset (per inizializzare il sistema); • Uscite: • porta aperta/chiusa; • Combinazione: • Funzionalità cablata • La combinazione è parte della struttura del dispositivo da realizzare e staticamente definta. • Funzionalità programmata • Fornita in ingresso.

  5. Esempio: Implementazione software integer SerraturaCombinazione( ){integer v1, v2, v3;integer error = 0;static integer c[3]={3, 4, 8}; /* sequenza da riconoscere: intrinseca*/ while (!WaitValue( )); /* attendi nuovo valore */v1 = ReadValue( ); /* leggi nuovo valore */if (v1!=c[1]) then error=1; while (!WaitValue( )); v2 = ReadValue( ); if (v2!=c[2]) then error = 1; while (!WaitValue( )); v3 = ReadValue( ); if (v3!=c[3]) then error = 1; if (error == 1) then return(0); else return(1); }

  6. Esempio: Analisi per l’implementazione hardware • La specifica risulta incompleta. • Alcuni aspetti richiedono successive riflessioni: • Aspetti impliciti da evidenziare • Aspetti rilevanti e non espressi nemmeno implicitamente. • Aspetti non definiti e non impliciti: • Il numero bit per la codifica sia del valore in ingresso sia dell’uscita; • Si specifica che le cifre lette sono 3 ma non se ne definisce l’intervallo d’appartenenza. • Non è implicito che la tastiera sia costituita dalle 10 cifre 0:9. • Aspetti impliciti da evidenziare: • È indispensabile identificare che è stato fornito un nuovo valore in ingresso per evitare che l’inserimento di un valore (es. pressione di un tasto) venga considerato più di una volta; • Questo aspetto dipenderà da come viene sviluppato il dispositivo: sincrono o asincrono.

  7. Esempio: Analisi per l’implementazione hardware • Comportamento: • Il sistema è sequenziale: • È necessario fornire una sequenza di valori ricordando la storia degli ingressi; • È necessario ricordare se si è verificato un errore; • Nota: l’errore deve essere rivelato solo alla fine della sequenza per ragioni di sicurezza. • Come identificare che è stato fornito un nuovo valore in ingresso; • Il dispositivo è sincrono • Il clock regola l’evoluzione temporale dei sistema. • Gli ingressi devono essere campionati solo quando sono stabili. • È indispensabile avere un segnale di ingresso che rappresenti la validità del dato e la sua unicità • Non si vuole che la pressione di un tasto venga preso in considerazione più di una volta • Il dispositivo è asincrono • Il sistema evolve sulla base di eventi di ingresso.

  8. Logica Sequenziale: considerazioni • Un’astrazione fondamentale nel progetto digitale è che si ragiona, nella maggior parte dei casi, su sistemi con stati stabili • Osservazione delle uscite avviene solo dopo che è trascorso un tempo sufficientemente lungo affinché il sistema possa effettuare i cambiamenti e stabilizzare le uscite. • L’astrazione dello stato stabile è così utile che i progettisti hardware lo implementano nella realizzazione dei circuiti sequenziali: • La memoria del sistema è rappresentata dal suo stato • I cambiamenti di stato del sistema sono ammessi solo in particolari istanti di tempo controllati da un clock esterno periodico • Il periodo del clock è il tempo che trascorre tra i cambiamenti di stato e deve essere sufficientemente lungo per permettere al sistema di raggiungere lo stato stabile prima che avvenga il successivo cambiamento di stato al termine del periodo

  9. Analisi per l’implementazione hardware: Esempio • Rappresentazione logica del dispositivo • Pin-out logico Nuovo Valore Reset stato Clock Chiuso/Aperto

  10. Analisi per l’implementazione hardware: Esempio • Due possibili modi per implementare il sistema • Come unica macchina a stati • Ogni ingresso porta il sistema in uno stato che corrisponde o ad uno stato che relativo alla sequenza riconosciuta o ad uno stato che identifica la presenza di un errore. • L’identificazione della validità del valore immesso è intrinsecamente definito nel comportamento alla macchina a stati • Due possibilità • Gli ingressi raggiungono direttamente la macchina a stati (la struttura è di flessibilità nulla) • Rete combinatoria per la codifica dell’ingresso alla macchina a stati (normalizzazione degli ingressi); la struttura è più flessibile rispetto alla precedente poiché una modifica della sequenza incide solo sulla parte combinatoria di codifica degli ingressi.

  11. Unità di Controllo Unità di Elaborazione test Reset controllo Clock Analisi per l’implementazione hardware: Esempio • Due possibili modi per implementare il sistema (Cont.) • Come Unità di Controllo e Unità di Elaborazione • L’unità di controllo è realizzata come macchina a stati; risulta generale ed indipendente dalla sequenza da riconoscere. Comanda l’unità di elaborazione. • L’unità di elaborazione è controlla i valori immessi e restituisce alla unità di controllo un valore che modifica la sequenza di controllo.

  12. Macchina a stati – Descrizione a livello comportamentale: Esempio • La descrizione del comportamento di una macchina a stati è ottenuto attraverso un diagramma degli stati • Rappresenta il modo con cui la macchina a stati evolve • Stati e il modo con cui gli ingressi agiscono nel passaggio da uno stato all’altro (transizioni di stato) • Una configurazione d’uscita è associata ad ogni stato (questo caso) oppure è associata ad ogni transizione tra gli stati. Valore dell’ingresso in formato simbolico S4 chiuso Transizione di stato Nuovo & (Valore3) Nuovo’ S0 chiuso Reset Etichetta dello stato Valore della uscita in formato simbolico Nuovo’ Stato

  13. Macchina a stati: Esempio • Ipotesi: i valori da riconoscere sono 3,4,8 • 4 bit di ingresso (minimo valore) S3 chiuso S4 chiuso ERRORE chiuso Nuovo Nuovo Nuovo & (Valore3) Nuovo & (Valore4) Nuovo & (Valore8) - Nuovo’ Nuovo’ S0 chiuso S1 chiuso APERTO aperto S2 chiuso Nuovo & (Valore=3) Nuovo & (Valore=4) Nuovo & (Valore=8) Reset - Nuovo’ Nuovo’ Nuovo’ Dimensione dei segnali Reset: 1 bit Nuovo: 1 bit Valore: 4 bit Chiuso/Aperto: 2 bit Significato ’: NOT (es Nuovo’ è VERO se Nuovo=0 (equivalente a Nuovo=0)) &: AND (es Nuovo & (Valore=3) è VERO solo se Nuovo=1 e (Valore=3)è VERO -: per qualunque configurazione di ingresso

  14. Esempio:Macchina a stati con codifica sugli ingressi • Il funzionamento della macchina a stati è indipendente dai valori da identificare • La rete combinatoria codifica i valori di ingresso uniformandoli a quelli per i quali la macchina a stati è progettata • I valori da riconoscere sono arbitrariamente scelti in 0,1 e 2 • 2 bit (minimo) o 3 bit (massimo) di ingresso. S3 chiuso S4 chiuso ERRORE chiuso Nuovo Nuovo Nuovo & (Valore0) Nuovo & (Valore1) Nuovo & (Valore2) Nuovo’ Nuovo’ - S0 chiuso S1 chiuso APERTO aperto S2 chiuso Reset Nuovo&(Valore=0) Nuovo&(Valore=1) Nuovo&(Valore=2) - Nuovo’ Nuovo’ Nuovo’

  15. ONset di “Valore” V3V2V1V0 A B 0 0 1 1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 Esempio:Macchina a stati con codifica sugli ingressi • Mantenendo l’ipotesi sui valori da riconoscere (3,4,8), si ottiene: Nuovo Valore A=P0*(V3+V2’+V1+V0) B=P0*(V3’+V2+V1+V0) P0=(V3+V2+V1’+V0’) RC A B Esempio di altra sequenza Macchina a Stati Reset ONset di “Valore” con la sequenza(7,0,15) Clock V3V2V1V0 A B 0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 0 A=P0*(V3+V2+V1+V0) B=P0*(V3’+V2’+V1’+V0’) P0=(V3+V2’+V1’+V0’) Chiuso/Aperto

  16. Sintesi comportamentale • Il valore delle uscite all'istante t dipende dalla successione degli ingressi che precedono l'istante t • Ciò implica il concetto di stato • Una macchina sequenziale è definita dalla quintupla (I,U,S,d,l ) • I - Alfabeto di Ingresso • E' costituito dall'insieme finito dei simboli di ingresso • Con n linee di ingresso si hanno 2n simboli • U - Alfabeto d'Uscita • E' costituito dall'insieme finto dei simboli d'uscita • Con m linee d'uscita si hanno 2m simboli. • S - Insieme degli Stati • Insieme finito e non vuoto degli stati • - Funzione stato prossimo • - Funzione d’uscita

  17. x1 x2 xn z1 z2 zn RETE COMBINATORIA ,  y1 Y1 FF1 y2 Y2 FF2 yk Yk FFk Architettura generale • La struttura generale di una macchina sequenziale è la seguente: Ingressi Uscite Stato Presente St Stato Prossimo St+1 Registri di stato

  18. Architettura generale • Il problema della sintesi comportamentale di una rete sequenziale consiste nella: • Identificazione delle le funzioni d e l • Sintesi della rete combinatoria che le realizza • Gli elementi di memoria sono costituiti da bistabili • I flip-flop di tipo D sono quelli usati più comunemente • La funzione di stato prossimo dipende dal tipo di bistabili utilizzati • La funzione di uscita è indipendente dal tipo di bistabili utilizzati

More Related