A.S.E ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 22 Riduzione del numero di statiRiduzione del numero di stati EsempioEsempio Assegnamento degli statiAssegnamento degli stati EsempiEsempi
A.S.E Richiami Descrizione di reti sequenzialiDescrizione di reti sequenziali Tabella delle transizioniTabella delle transizioni Stati equivalentiStati equivalenti Algoritmo per la individuazione degli stati equivalentiAlgoritmo per la individuazione degli stati equivalenti
A.S.E Riconoscitore di sequenza 0110 o 1001 (A) x 0 1 x 01 x 0 1 x 0 1 x 0 1 x 0 1 x 0 1 x 0 1 x 0 1 x 01 x 01 x 01 x 01 x 01 x 01 hijklmno defg 0 bc a Z=
A.S.E Tabella degli Stati (A) P.S. Next State Out Z X = 0 X = 1 X = 0 X = 1 abc00 bde00 cfg00 dhi00 ejk00 flm00 gno00 hhi00 ijk00 jlm00 kno10 lhi01 mjk00 nlm00 ono00
A.S.E Riconoscitore di sequenza 0110 o 1001 (B) x 0 x x x 1 x 1 x 0 1 x 1 0 F ij C E G 0 B D A Z=1
A.S.E Tabella degli stati (B) P.S. Next State Out Z X = 0 X = 1 X = 0 X = 1 ABC00 BBD00 CEC00 DEF00 EGD00 FEC10 GBD01 x 0 x x x 1 x 1 x 0 1 x 1 0 F ij C E G 0 B D A Z=
A.S.E Riduzione della tabella degli stati Meno stati => meno variabili di stato => meno flip-flop => meno ingressi e uscite della rete combinatoriaMeno stati => meno variabili di stato => meno flip-flop => meno ingressi e uscite della rete combinatoria A parità di variabili di stato (stessa potenza del 2) => meno stati = più don’t-care nelle tabelle della verità della rete combinatoria => maggiore semplificabilitàA parità di variabili di stato (stessa potenza del 2) => meno stati = più don’t-care nelle tabelle della verità della rete combinatoria => maggiore semplificabilità
A.S.E Coppie di stati equivalenti Due stati p e q di una rete sincrona sono equivalenti se e solo se per ciascuna combinazione dei valori delle variabili d’ingresso (1) le uscite relative sono identiche eDue stati p e q di una rete sincrona sono equivalenti se e solo se per ciascuna combinazione dei valori delle variabili d’ingresso (1) le uscite relative sono identiche e (2) gli stati successivi sono equivalenti(2) gli stati successivi sono equivalenti –Due stati sono equivalenti => le uscite devono essere non contraddittorie per ciascuna combinazione degli ingressi –Due stati sono equivalenti =>i relativi stati successivi non devono essere contraddittori per ciascuna combinazione degli ingressi
A.S.E Esempio di verifica dell’equivalenza 1.Verifica sua “A” e “B”: per X=1 le uscite sono in contraddizioneNO 2.Verifica per “A” e “E”: uscite OK, per X=0 gli stati successivi sono “A” e “B” che non sono equivalentiNO 3.Verifica per “A” e “D”: uscite OK, per X=0 gli stati successivi sono “A” e “D”, si se è verificata per X=1; per X=1 devono essere equivalenti “B” e “F”: uscite si, “C” e ”C” si (uno stato è equivalente a se stesso) devono essere equivalenti “D” e “G”, si se “D” e “A” sono equivalentiOK PSNS Out Z 0101 AAB00 BDC01 CFE00 DDF00 EBG00 FGC01 GAF00
A.S.E Metodo a tre passi 1.Individuazione di coppie di stati equivalenti 2.Date le coppie di stati equivalenti, determinazione degli insiemi di stati equivalenti 3.Generazione della tabella degli stati ridotta (sostituzione con un unico stato di più stati equivalenti) Metodo valido per tabelle degli stati completamente specificataMetodo valido per tabelle degli stati completamente specificata
A.S.E Algoritmo Passo A 1.Costruire la tabella delle implicazioni Ogni cella corrisponde a una coppia (q i,q k ) So presenti le coppie con k≠i L’ordine degli indici non conta ik=ki 2.La cella (q i,q k ) contiene X se le uscite sono contraddittorie per ingressi uguali Tutte le coppie di stati successivi relativi agli ingressi, senza duplicazione, (q h,q f )=(q f,q h ), (q l,q l ) no, se gli stati successivi sono uguali a quelli presenti no, se la cella è vuota si mette un marker 3.Ispezione => si mette una X se a una delle coppie contenute nella cella corrisponde una coppia di stati legati a una cella con X 4.Iterare il punto 3
A.S.E Costruzione della tabella delle implicazioni Data una tabella degli stati con “n” statiData una tabella degli stati con “n” stati Matrice diagonale inferiore (diagonale principale esclusa)Matrice diagonale inferiore (diagonale principale esclusa) Per 10 statiPer 10 stati si ha A B C D E F G H I J ABCDEFGHIJ
A.S.E Tabella degli statiTabella delle implicazioni PS.NS.OutX=0X=1X=0X=1 AAB00 BDC01 CFE00 DDF00 EBG00 FGC01 GAF00BXCA,FB,EX DB,FXD,EE,F EA,BB,GXB,FE,GB,DF,G FXD,GXXX GB,FXA,FE,FA,DA,BF,GX ABCDEF Manca A,D Manca C,C
A.S.E Tabella delle implicazioni passo 1 B CA,FB,E DB,FD,EE,F EA,BB,GB,FE,GB,DF,G FD,G GB,FA,FE,FA,DA,BF,G ABCDEFBCA,FB,E DB,FD,EE,F EA,BB,GB,FE,GB,DF,G FD,G GB,FA,FE,FA,DA,BF,G ABCDEF BCA,FB,E DB,FD,EE,F EA,BB,GB,FE,GB,DF,G FD,G GB,FA,FE,FA,DA,BF,G ABCDEFBCA,FB,E DB,FD,EE,F EA,BB,GB,FE,GB,DF,G FD,G GB,FA,FE,FA,DA,BF,G ABCDEF
A.S.E Tabella delle implicazioni passo 2 B CA,FB,E DB,FD,EE,F EA,BB,GB,FE,GB,DF,G FD,G GB,FA,FE,FA,DA,BF,G ABCDEFBCA,FB,E DB,FD,EE,F EA,BB,GB,FE,GB,DF,G FD,G GB,FA,FE,FA,DA,BF,G ABCDEF BCA,FB,E DB,FD,EE,F EA,BB,GB,FE,GB,DF,G FD,G GB,FA,FE,FA,DA,BF,G ABCDEF
A.S.E Coppie di stati equivalenti (Passo B) e Insiemi di stati equivalenti (Passo C) B CA,FB,E DB,FD,EE,F EA,BB,GB,FE,GB,DF,G FD,G GB,FA,FE,FA,DA,BF,G ABCDEFBCA,FB,E DB,FD,EE,F EA,BB,GB,FE,GB,DF,G FD,G GB,FA,FE,FA,DA,BF,G ABCDEF 1 A D, A G, B F, D G 2 (A,D,G), (B,F), (D,G) 3 {(A,D,G),(B,F),(C),(E)}
A.S.E PS.NS.OutX=0X=1X=0X=1 AAB00 BDC01 CFE00 DDF00 EBG00 FGC01 GAF00 Tabella degli stati minima (Passo D) PS.NS.OutX=0X=1X=0X=1 00 01 00 00 {(A,D,G),(B,F),(C),(E)} A=D=G= B=F= C= E=
A.S.E Tabella delle implicazioni 0110/1001 (Caso “A”) bb,dc,e cb,fc,gd,fe,g db,hc,id,he,if,hg,i eb,jc,kd,je,kf,jg,kh,ji,k fb,lc,md,le,mf,lg,mh,li,mj,lk,m gb,nc,od,ne,of,ng,oh,ni,oj,nk,ol,nm,o hb,hc,id,he,if,hg,ih,ji,kh,li,mh,ni,o ib,jc,kd,je,kf,jg,kh,ji,kj,lk,mj,nk,oh,ji,k jb,lc,md,le,mf,lg,mh,li,mj,lk,ml,nm,oh,li,mj,lk,m k l mb,jc,kd,je,kf,jg,kh,ji,kj,lk,mj,nk,oh,ji,kj,lk,m nb,lc,md,le,mf,lg,mh,li,mj,lk,ml,nm,oh,li,mj,lk,mj,lk,m ob,nc,od,ne,of,ng,oh,ni,oj,nk,ol,nm,oh,ni,oj,nk,ol,nm,oj,nk,ol,nm,o abcdefghijklmn PSPSPSPS Next State Out Z abc00 bde00 cfg00 dhi00 ejk00 flm00 gno00 hhi00 ijk00 jlm00 kno10 lhi01 mjk00 nlm00 ono00
A.S.E Tabella delle implicazioni 0110/1001 (Caso “A”) [passo2] bb,dc,e cb,fc,gd,fe,g db,hc,id,he,if,hg,i eb,jc,kd,je,kf,jg,kh,ji,k fb,lc,md,le,mf,lg,mh,li,mj,lk,m gb,nc,od,ne,of,ng,oh,ni,oj,nk,ol,nm,o hb,hc,id,he,if,hg,ih,ji,kh,li,mh,ni,o ib,jc,kd,je,kf,jg,kh,ji,kj,lk,mj,nk,oh,ji,k jb,lc,md,le,mf,lg,mh,li,mj,lk,ml,nm,oh,li,mj,lk,m k l mb,jc,kd,je,kf,jg,kh,ji,kj,lk,mj,nk,oh,ji,kj,lk,m nb,lc,md,le,mf,lg,mh,li,mj,lk,ml,nm,oh,li,mj,lk,mj,lk,m ob,nc,od,ne,of,ng,oh,ni,oj,nk,ol,nm,oh,ni,oj,nk,ol,nm,oj,nk,ol,nm,o abcdefghijklmn PSPSPSPS Next State Out Z abc00 bde00 cfg00 dhi00 ejk00 flm00 gno00 hhi00 ijk00 jlm00 kno10 lhi01 mjk00 nlm00 ono00
A.S.E Tabella delle implicazioni 0110/1001 (Caso “A”) [passo3] bb,dc,e cb,fc,gd,fe,g db,hc,id,he,if,hg,i eb,jc,kd,je,kf,jg,kh,ji,k fb,lc,md,le,mf,lg,mh,li,mj,lk,m gb,nc,od,ne,of,ng,oh,ni,oj,nk,ol,nm,o hb,hc,id,he,if,hg,ih,ji,kh,li,mh,ni,o ib,jc,kd,je,kf,jg,kh,ji,kj,lk,mj,nk,oh,ji,k jb,lc,md,le,mf,lg,mh,li,mj,lk,ml,nm,oh,li,mj,lk,m k l mb,jc,kd,je,kf,jg,kh,ji,kj,lk,mj,nk,oh,ji,kj,lk,m nb,lc,md,le,mf,lg,mh,li,mj,lk,ml,nm,oh,li,mj,lk,mj,lk,m ob,nc,od,ne,of,ng,oh,ni,oj,nk,ol,nm,oh,ni,oj,nk,ol,nm,oj,nk,ol,nm,o abcdefghijklmn PSPSPSPS Next State Out Z abc00 bde00 cfg00 dhi00 ejk00 flm00 gno00 hhi00 ijk00 jlm00 kno10 lhi01 mjk00 nlm00 ono00
A.S.E Coppie di stati equivalenti bb,dc,e cb,fc,gd,fe,g db,hc,id,he,if,hg,i eb,jc,kd,je,kf,jg,kh,ji,k fb,lc,md,le,mf,lg,mh,li,mj,lk,m gb,nc,od,ne,of,ng,oh,ni,oj,nk,ol,nm,o hb,hc,id,he,if,hg,ih,ji,kh,li,mh,ni,o ib,jc,kd,je,kf,jg,kh,ji,kj,lk,mj,nk,oh,ji,k jb,lc,md,le,mf,lg,mh,li,mj,lk,ml,nm,oh,li,mj,lk,m k l mb,jc,kd,je,kf,jg,kh,ji,kj,lk,mj,nk,oh,ji,kj,lk,m nb,lc,md,le,mf,lg,mh,li,mj,lk,ml,nm,oh,li,mj,lk,mj,lk,m ob,nc,od,ne,of,ng,oh,ni,oj,nk,ol,nm,oh,ni,oj,nk,ol,nm,oj,nk,ol,nm,o abcdefghijklmn PS Next State Out Z abc00 bde00 cfg00 dhi00 ejk00 flm00 gno00 hhi00 ijk00 jlm00 kno10 lhi01 mjk00 nlm00 ono00
A.S.E Insieme di stati equivalenti
A.S.E Classi di stati stati equivalenti Riordinando l’insieme si haRiordinando l’insieme si ha Battezzando i gruppi come segueBattezzando i gruppi come segue
A.S.E Fine Si ottiene la seguente tabella degli statiSi ottiene la seguente tabella degli stati P.S. Next State Out Z X = 0 X = 1 X = 0 X = 1 ABC00 BBD00 CEC00 DEF00 EGD00 FEC10 GBD01 P.S. Next State Out Z X = 0 X = 1 X = 0 X = 1 abc00 bde00 cfg00 dhi00 ejk00 flm00 gno00 hhi00 ijk00 jlm00 kno10 lhi01 mjk00 nlm00 ono00 Prima Dopo A=a, B=b=d=h, C=c=g=o, D=e=i=m, E=f,j,n, F=k G=l
A.S.E Confronto Tabella ottenuta da ASM Tabella semplificataTabella ottenuta da ASM Tabella semplificata P.S. Next State Out Z X = 0 X = 1 X = 0 X = 1 ABC00 BBD00 CEC00 DEF00 EGD00 FEC10 GBD01 P.S. Next State Out Z X = 0 X = 1 X = 0 X = 1 ABC00 BBD00 CEC00 DEF00 EGD00 FEC10 GBD01
A.S.E Assegnazione degli stati P.S. Next State Out Z X = 0 X = 1 X = 0 X = 1 ABC00 BBD00 CEC00 DEF00 EGD00 FEC10 GBD01 A B C D E F G A B C D E F G
A.S.E Assegnazione degli stati 1 P.S. Next State Out Z X= 0 X = 1 X = 0 X = Q1Q1Q1Q1 Q2Q2Q2Q2 Q3Q3Q3Q3X Q1+Q1+Q1+Q1+ Q2+Q2+Q2+Q2+ Q3+Q3+Q3+Q3+Z
A.S.E Variabile di stato Q 1 + & Q 2 + Q1Q1Q1Q1 Q2Q2Q2Q2 Q3Q3Q3Q3X Q1+Q1+Q1+Q1+ Q2+Q2+Q2+Q2+ Q3+Q3+Q3+Q3+Z Q1+Q1+Q1+Q1+ Q3 X Q1Q Q2+Q2+Q2+Q Q1Q
A.S.E Variabile di stato Q 3 + & uscita Z Q1Q1Q1Q1 Q2Q2Q2Q2 Q3Q3Q3Q3X Q1+Q1+Q1+Q1+ Q2+Q2+Q2+Q2+ Q3+Q3+Q3+Q3+Z Q3+Q3+Q3+Q3+ Q3 X Q1Q Z Q1Q Letterali
A.S.E Assegnazione degli stati 2 P.S. Next State Out Z X = 0 X = 1 X = 0 X = Q1Q1Q1Q1 Q2Q2Q2Q2 Q3Q3Q3Q3X Q1+Q1+Q1+Q1+ Q2+Q2+Q2+Q2+ Q3+Q3+Q3+Q3+Z
A.S.E Variabile di stato Q 1 + & Q 2 + Q1+Q1+Q1+Q1+ Q3 X Q1Q Q2+Q2+Q2+Q Q1Q Q1Q1Q1Q1 Q2Q2Q2Q2 Q3Q3Q3Q3X Q1+Q1+Q1+Q1+ Q2+Q2+Q2+Q2+ Q3+Q3+Q3+Q3+Z
A.S.E Variabile di stato Q 3 + & uscita Z Q3+Q3+Q3+Q3+ Q3 X Q1Q Z Q1Q Letterali Q1Q1Q1Q1 Q2Q2Q2Q2 Q3Q3Q3Q3X Q1+Q1+Q1+Q1+ Q2+Q2+Q2+Q2+ Q3+Q3+Q3+Q3+Z
A.S.E X Q1Q1Q1Q1 Q2Q2Q2Q2 Q3Q3Q3Q3 X Z D Q CK D Q CK D Q CK D Q CK Ck Schem a
A.S.E Regola 1 per l’assegnazione degli stati 1.Due o più stati presenti che hanno lo stesso stato futuro, per una data configurazione degli ingressi, dovrebbero essere adiacenti Q2+Q2+Q2+Q2+ Q3XQ3XQ3XQ3X Q1Q1Q2Q2Q1Q1Q2Q Stesso stato futuro Stesso ingresso stati presenti adiacenti
A.S.E Regola 2 per l’assegnazione degli stati 2.Per ciascun stato presente e due combinazioni adiacenti degli ingressi, i due stati futuri dovrebbero essere adiacenti Qn+Qn+Qn+Qn+ Q3XQ3XQ3XQ3X Q1Q1Q2Q2Q1Q1Q2Q Stesso stato presente Stesso stato futuro (tranne uno) Ingressi adiacenti
A.S.E Regola 3 per l’assegnazione degli stati 3.Due o più stati presenti che danno luogo ad identico valore dell’uscita (0 o 1), per una data configurazione degli ingressi, dovrebbero essere adiacenti (applicata per un solo valore) Z Q3XQ3XQ3XQ3X Q1Q1Q2Q2Q1Q1Q2Q Stesso stato futuro Stesso ingresso stati presenti adiacenti
A.S.E Adiacenze consigliate Regola 1Regola 1 –(A,B,G), (C,D,F), (A,C,F), (B,E,G) Regola 2Regola 2 Regola 3Regola 3 P.S. Next State Out Z X = 0 X = 1 X = 0 X = 1 ABC00 BBD00 CEC00 DEF00 EGD00 FEC10 GBD01 AAAABBBCCCDE BCFGEGGDFFFG BBBCCDE CDDEEGF AAAABBBCCD BCDECDEDEE
A.S.E Mappa d’assegnazione degli stati AB2XX AC2XX AD AE AF AG BC 2 BD 3XX BE2XX BG2 CD2 CE 3XX CF2XX DE DF DGXX EF EGXX Q2Q3Q2Q3Q2Q3Q2Q Q1Q1Q1Q10ABD- 1CEGF Q2Q3Q2Q3Q2Q3Q2Q Q1Q1Q1Q10ABEC 1-DGF
A.S.E Assegnazione degli stati P.S. Next State Out Z X = 0 X = 1 X = 0 X = 1 ABC00 BBD00 CEC00 DEF00 EGD00 FEC10 GBD01 A B C D E F G Q2Q3Q2Q3Q2Q3Q2Q Q1Q1Q1Q10ABD- 1CEGF
A.S.E Assegnazione degli stati 3 Q1Q1Q1Q1 Q2Q2Q2Q2 Q3Q3Q3Q3X Q1+Q1+Q1+Q1+ Q2+Q2+Q2+Q2+ Q3+Q3+Q3+Q3+Z P.S. Next State Out Z X = 0 X = 1 X = 0 X =
A.S.E Variabile di stato Q 1 + & Q 2 + Q1+Q1+Q1+Q1+ Q3 X Q1Q Q2+Q2+Q2+Q Q1Q Q1Q1Q1Q1 Q2Q2Q2Q2 Q3Q3Q3Q3X Q1+Q1+Q1+Q1+ Q2+Q2+Q2+Q2+ Q3+Q3+Q3+Q3+Z
A.S.E Variabile di stato Q 3 + & uscita Z Q3+Q3+Q3+Q3+ Q3 X Q1Q Z Q1Q Letterali Q1Q1Q1Q1 Q2Q2Q2Q2 Q3Q3Q3Q3X Q1+Q1+Q1+Q1+ Q2+Q2+Q2+Q2+ Q3+Q3+Q3+Q3+Z
A.S.E X Q1Q1Q1Q1 Q2Q2Q2Q2 Q3Q3Q3Q3 X Z D Q CK D Q CK D Q CK D Q CK Ck Schem a
A.S.E CONCLUSIONI Sintesi di reti sequenziali sincronizzate Tecnica di sintesiTecnica di sintesi EsempiEsempi Riduzione del numero di statiRiduzione del numero di stati Assegnamento degli statiAssegnamento degli stati EsempiEsempi