La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Split Condizionatore Rete sequenziale asincrona..

Presentazioni simili


Presentazione sul tema: "Split Condizionatore Rete sequenziale asincrona.."— Transcript della presentazione:

1 Split Condizionatore Rete sequenziale asincrona.

2 Introduzione Progetto di una rete sequenziale asincrona per la gestione di uno split di un condizionatore in grado di pompare aria calda o fredda. La rete ha in ingresso 3 segnali. Il segnale C è inviato da un pulsante. Al rilascio del pulsante la rete dovrà passare dal pompare aria calda al pompare aria fredda e viceversa. Il segnale T è inviato da un sensore. Quando questo segnale va ad 1 significa che la temperatura impostata dallesterno è stata raggiunta. Il segnale A (Alert) che è inviato dal motore (e da altri device) allo split. Quando questo segnale va ad 1 significa che la rete dovrà fermare lerogazione dellaria, in quanto vi è un problema. La rete fornirà due uscite: S: (Stop). Quando è a 1 ordina a chi riceve il segnale di terminare loperazione (in tal caso, lerogazione/pompaggio dellaria al motore). U: (Uscita). Quando è a 1 il motore pomperà aria calda. Per laria fredda sarà a 0. Vincolo: il sistema ci assicura che non arriverà mai in ingresso alla rete, la configurazione C=1, T=1, A=1.

3 Progettazione: grafo degli stati

4 Progettazione: commento al grafo. Come si può notare, il grafo degli stati (primitivo) è simmetrico in quanto nel problema in sé vi è simmetria tra lerogazione di caldo (colore rosso) e di freddo (colore azzurro). Le scelte fatte nella stesura del grafo sono: Indifferenza nelluscita U, quando S = 1. Cioè, non avrebbe avuto senso dare un uscita specificata alla pompa del caldo/freddo quando il motore è Spento. Indifferenza su entrambe le uscite solo quando il pulsante è premuto.

5 Progettazione: tabella degli stati. Ho creato la tabella degli stati codificado gli ingressi nellordine CTA. TABELLA STATI STATO SU A AE-D---B00 B C---F-GB-- C CL-I---K01 D A-HDF---1- E AEH---G-1- F ---DF--B-- G -E----GB1- H -EHD I C-NIJ---1- J ---IJ--K-- K A---J-MK-- L CLN---M-1- M -L----MK1- N -LNI----1-

6 Progettazione: riduzione degli stati, tabella triangolare di compatibilità. Ho indicato con X gli stati non compatibili, con – quelli compatibili. TABELLA DI COMPATIBILITA'/ RIDUZIONE STATI BX CXX DXXX EXXX- F--X-- GX-X--- HX-X---- IXXXXXX-X JXX-X-XXX- KXXXXXXX-X- LXXXXX-XX--X MXXX-XXXX---- NX-XXXXXX----- ABCDEFGHIJKLM

7 Progettazione: Ricerca stati compatibili e nuove assegnazioni Nellassegnazione dei valori numerici ai nuovi stati, ho cercato di effettuare quanto più possibile unassegnazione ottima, in modo da ridurre il numero di corse critiche e riuscire ad evitare di aggiungere un ulteriore variabile di stato per correggere queste corse. Ricerca degli stati compatibili a due a due. BF, BG, BH, CJ, DE, DF, DG, DH, DM, EF, EG, EH, EJ, FG, FH, FL, GH, GI, HK, IJ, IL, IM, IN, JK, JL, JM, JN, KM, KN, NM Classi massime di compatibilità: AF, BFGH, CJ, DEFGH, IJL, KNM ASSEGNAZIONE NUOVI STATI 000=AF=a 011=BFGH=b 111=CJ=c 001=DEFGH=d 110=IJL=e 100=KNM=f

8 Progettazione: tabella degli stati ridotta TABELLA STATI RIDOTTA SU aad-da--b00 bcddda-db1- cce-ee--f01 daddda-db1- ecefee-ff1- faefe--ff1- Assegnamento con correzione corse y 1,2, SU In rosso sono evidenziate la posizioni delle uniche due corse critiche, in questa tabella già facilmente corrette. Notare il non ordine (al momento) di colonna, delle variabili di stato y1,y2 e y3.

9 Progettazione: ordinamento variabili di stato e sintesi uscite. U = y1 y2 y3 S = !y1 y2 y3 + !y1!y2 y3 + y1 y2 !y3 Riordinate le variabili di stato (a distanza di Hamming unitaria) y 1,2, SU

10 Sintesi variabili di stato Y 1,2,3 Y1 = !C !T !A y2 + A y1 + T y1 + Cy1 Y2 = !T !A !y1 y2 + !C !T A y1 + T !A y1 + !C !T !A !y1 Y3 = !C !T !A y2 +!y1 y2 !y3 + y1y2y3 !T !A + !y1 !C A + !y1 !C T + C !T !y1 y3 Ho scelto quindi di sintetizzare in maniera non minima (e a tratti ridondante) le due funzioni y2 e y3 per tentare di ridurre al minimo le instabilità della rete. Ovviamente è stato aggiunto alle 3 funzioni un «and not(reset)» alla fine, da utilizzare per portare la rete in condizione di stabilità allavvio dello split. Sintesi Y1 y 1,2, Sintesi Y2 y 1,2, Sintesi Y3 y 1,2,

11 Implelentazione in VHDL/Schematico Le due implementazioni in VHDL e schematico sono identiche nel contenuto, differenti solo nella forma, in quanto sono esattamente le espressioni booleane trovate nella sintesi. Essendo le due implementazioni identiche nella sostanza, anche le simulazioni sono identiche.

12 Implementazione in VHDL --uscite U <= x1 and x2 and x3; S <= (not(x1) and x2 and x3) or (not(x1) and not(x2) and x3) or (x1 and x2 and not(x3)); --funzioni di stato x1 <= ( (not(C) and not(T) and not(A) and x2) or (A and x1) or (T and x1) or (C and x1) ) and not(reset); --minima x2 <= ((not(C) and not(T) and not(A) and x2) or (not(C) and not(T) and A and x1) or (T and not(A) and x1) or (C and not(T) and not(A) and not(x1))) and not(reset); --ridondante x3 <= ((not(C) and not(T) and not(A) and x2) or (not(x1) and not(C) and A) or (not(x1) and not(C) and T) or (C and A and not(x1)) or (C and not(T) and not(x1) and x3) or (not(x1) and x2 and not(x3) and C) or (x1 and x2 and x3 and C and not(T))) and not(reset); --ridondante y1 <= x1; y2 <= x2; y3 <= x3;

13 Implementazione mediante schematico

14 Simulazione: introduzione Il testbench dello split realizzato in VHDL è lo stesso utilizzato per la realizzazione mediante schematico. Sono stati utilizzati gli stessi nomi e gli stessi colori. Le due simulazioni sono identiche. Il testbench consiste nel: Partire da una condizione iniziale di funzionamento con aria fredda Pressione del pulsante e (al rilascio) funzionamento con aria calda Raggiungimento della temperatura (T=1) con spegnimento del motore Perdita della temperatura (T=0) con accensione del motore e ripresa dellerogazione di aria calda. Il file del testbench è opportunamente commentato.

15 Simulazione: behavioral Si porta la rete in uno stato stabile tramite il reset. Si può notare come la rete inizi lerogazione di aria fredda (Ingressi CTA = 000): S= 0, u = 0. Al momento della pressione del tasto (C=1), la rete «spegne» il motore con S=1. Al rilascio si attiva lerogazione dellaria calda (u=1) e il motore riparte. Alla nuova pressione e corrispondente rilascio, la rete torna ad erogare aria fredda. Al momento in cui la temperatura viene raggiunta (T=1) il motore si spegne. Se non viene più segnalato il raggiungimento della temperatura (T=0), si riprende lerogazione. Al momento di un Alert (A=1), la rete spegne il motore finché lalert non rientra, continuando poi a erogare aria fredda. Infine viene premuto nuovamente il pulsante C due volte per cambiare la modalità di erogazione (caldo, poi freddo). La simulazione termina con il raggiungimento della temperatura e lo spegnimento «definitivo» del motore.

16 Simulazione: post-route La simulazione post-route è identica alla behavioral, se non per i ritardi (dellordine dei picosecondi) nel passaggio da uno stato allaltro. Inoltre, da questo screenshot si può notare come la rete parta con degli stati indefiniti e come lazione del reset li stabilizzi. Un altro ritardo che si può notare, è che sia alla pressione che al rilascio del pulsante (C=1, C= 0), gli stati y1, y2 e y3 non rispondono immediatamente. Questi ritardi sono causati dalla tecnologia usata nellimplementazione fisica della rete, qui simulati.


Scaricare ppt "Split Condizionatore Rete sequenziale asincrona.."

Presentazioni simili


Annunci Google