Sunteți pe pagina 1din 9

Platformdeelearningicurriculecontent pentrunvmntulsuperiortehnic

ProiectareaLogic

24.Echivalentastarilor

Proiectarea Logic

STARILE ECHIVALENTE DIN CIRCUITELE SECVENTIALE

Realizarea unui circuit secvenial care implementeaz o anumit funcionare nu are ntotdeauna soluie unic. Este, adesea, posibil construcia unor circuite secveniale care s aib acelai comportament funcional dar, care s prezinte complexiti distincte i costuri diferite. Se consider, tradiional, c dintre toate circuitele secveniale care implementeaz aceeai funcie este mai simplu i realizabil cu costuri reduse acela care are un numr mai mic de stri. Acest motiv dar i altele similare au impulsionat cutarea reducerii strilor unui automat dar pstrnd aceiai funcionalitate. Atunci cnd se construiete diagrama sau tabelul de stri pentru un automat finit, ori atunci cnd se descrie un automat finit printr-un cod HDL, se ntmpl adesea s se introduc stri redundante. Strile redundante sunt stri a cror funcie poate fi ndeplinit de alte stri ale aceleiai maini. n fapt, strile redundante sunt stri echivalente ca funcie n automatul respectiv i, din acest motiv, este suficient una singur. Criteriul dup care se stabilete faptul c n automatul M starea Sa este redundant n raport cu starea Sb este transformarea ir de valori de intrare ir de valori de ieire definit de automatul finit M, atunci cnd acesta este iniializat ntr-una dintre cele dou stri Sa ori Sb. Utiliznd descrierea automatului, presupus complet definit, se poate stabili inductiv, pornind dintr-o stare arbitrar Sw i utiliznd un ir oarecare de valori posibile de intrare (u1 u2 uq), irul de valori de ieire produs (v1 v2 vq): (Sw , u1 u2 uq) (v1 v2 vq) Aceast coresponden este definitorie pentru funcionarea unui automat finit, indiferent de secvena de stri parcurs prin automatul respectiv. Corespondena este, tradiional, notat prin: ( Sw , u1 u2 uq) = (v1 v2 ,vq), unde este funcia ieirii unui automat finit, aplicat n cazul de fa iterativ: ( Sw , u1 u2 uq) = ( Sw , u1) (( Sw, u1), u2) (( ( ( (Sw, u1) u2) )), uq). n vederea micorrii numrului de stri ale unui automat se investigheaz acele stri care realizeaz aceiai funcie iar reducerea acestora conduce la o main cu stri mai puine dar care funcioneaz echivalent celei iniiale. Se spune c, n general, dou maini finite sunt echivalente dac, atunci cnd sunt iniializate corespunztor i li se aplic aceleai iruri de valori de intrare se produc, ntotdeauna, aceleai iruri de valori de ieire. Dou stri Sa i Sb ale unei maini M sunt distinctibile dac i numai dac exist cel puin un ir finit de valori de intrare, care atunci cnd aceasta se aplic mainii M, produce dou secvene, iruri, de valori de ieirie diferite, dup cum starea iniial a mainii este Sa ori Sb.

-1-

Proiectarea Logic

irul de valori de intrare care distinge strile Sa i Sb se numete secven de distingere a perechii de stri respective i atunci cnd aceasta are lungimea q se spune c perechea de stri Sa i Sb sunt q-distinctibile. Sunt de interes, n general, secevnele cele mai scurte de distingere (prima apariie a unor valori diferite n irul de valori de ieire poate fixa lungimea minim de distingere). Conceptul de q-distinctibilitate conduce la definirea q-echivalenei i respectiv a echivalenei a dou stri Si i Sj ale aceluiai automat M. Strile care nu sunt qdistinctibile se spune c sunt q-echivalente. Se poate remarca o proprietate simpl a strilor q-echivalente, i anume c dou stri q-echivalente sunt p-echivalente pentru orice p < q. Strile care sunt q-echivalente pentru orice valoare (natural) q se spune c sunt echivalente. Altfel spus, pentru strile echivalente nu exist nici o seceven care s le disting. Dac strile Sa i Sb sunt echivalente atunci echivalena lor se noteaz prin Sa = Sb. Definiia strilor echivalente urmeaz aceste considerente. Definiia 1: Dou stri Sa i Sb ale mainii M se spune c sunt echivalente dac i numai dac oricare ar fi irul de valori posibile de intrare aplicat se produce aceiai secven de valori de ieire indiferent c starea iniial a mainii M este Sa ori Sb. Se poate remarca, fr mari dificulti, c echivalena strilor dintr-o main finit, aa cum a fost aceasta introdus, este o relaie de echivalen. Aceasta se demonstreaz probnd reflexivitatea, simetria i tranzitivitatea relaiei. Propoziia 1: Partiionarea mulimii strilor n clase de echivalen este unic. Demonstraie: Prin reducere la absurd, se consider dou partiionri P1 i P2 n clase de echivalen a mulimii strilor unui automat M, astfel nct P1 P2. Fie strile Sa i Sb astfel nct acestea sunt n aceiai clas n prima partiie i sunt n clase diferite n cea de-a doua partiie. Deoarece cele dou stri sunt n clase diferite n cadrul celei de-a doua partiii, exist un ir de simboluri de intrare care le fac distinctibile ceea ce contrazice faptul c ar putea fi echivalente. O consecin fireasc a acestei proprieti este partiionarea mulimii strilor unei maini finite n clase de echivalen (disjuncte). Dou sau mai multe stri aparin aceleiai clase de echivalen dac sunt echivalente. Un automat poate fi privit ca avnd pentru fiecare stare intern o clas de echivalen asociat acelei stri, astfel nct ori de cte ori automatul tranziteaz spre una dintre strile unei clase de echivalen nu are importan care dintre strile echivalente ale respectivei clase este activat. Faptul c o clasa de echivalen a unui automat finit conine cel puin o stare face ca automatul cu cele mai puine stri s fie cel ale crui clase de echivalene conin, fiecare, doar o singur stare. Reducerea numrului de stri interne ale unui automat M revine la nlocuirea automatului M prin automatul N, n care cel de-al doilea automat are n fiecare clas

-2-

Proiectarea Logic

de echivalen (a strilor) o singur stare. Avnd n vedere definia criteriului de echivalare al strilor se poate introduce definiia automatelor finite echivalente. Definiia 2: Fie M i N dou automate finite complet determinate avnd aceleai valori, simboluri, de intrare din mulimea U. Fie (u1 u2 , uq), cu uiU, 1 i q un ir oarecare de valori de intrare, de lungime arbitrar. Atunci strile Sx M i Sy N sunt echivalente dac i numai dac: M( Sx , u1 u2 uq) = N( Sy , u1 u2 uq). Definiia care urmeaz introduce ntr-un cadru mai general echivalena a dou maini finite M i N.

Definiia 3: Dou automate finite M i N sunt echivalente dac pentru fiecare stare S din M exist o stare echivalent T din N i reciproc. Atunci se noteaz echivalena celor dou automate prin M = N. Exemplul 1:
Se consider circuitul secvenial A definit prin tabelul 1 i circuitul secvenial B definit prin tabelul 2. Aceste dou circuite sunt echivalente. Acest fapt este demonstrat prin aplicarea direct a definiiei aa cum se poate urmri n tabelul 3. Astfel, dup cum rezult din tabelul 3, n urma aplicrii secvenelor de intrri 00110 circuitului A aflat n starea p1 sau n starea p3, se obine aceiai secven de valori la ieiri. Acelai lucru se constat aplicnd secvena de valori de intrare 1110. Aplicnd aceste secvene de valori ale intrrii sau oricare altele se obine acelai rspuns al circuitului secvenial A aflat iniial n starea p1 sau p3, ca i pentru circuitul secvenial B, aflat iniial n starea q1. Prin urmare p1 = p3, p1 = q1 i p3 = q1. n mod similar se poate arta c strile p2 i q2 sunt echivalente.

Intrri 0 Starea actual p1 p2 p3 1 Starea actual q1 q2

Intrri 0 1

p3/0 p1/1 p1/0

p2/1 p2/0 p2/1

q1/0 q1/1

q2/1 q2/0

Tabelul 1. Circuitul secvenial A.

Tabelul 2. Circuitul secvenial B.

-3-

Proiectarea Logic

Numrul curent 1 2 3 4 5 1 2 3 4

Intrri 0 0 1 1 0 1 1 1 0

Automatul finit A Automatul finit B Starea Starea Starea Starea actual viitoare Ieirea actual viitoare Ieirea p1 p3 0 q3 q1 0 p3 p1 0 q1 q3 0 p1 p2 1 q3 1 q2 p2 p2 0 0 q2 q2 p2 p1 1 1 q1 q2 p1 p2 1 q3 1 q2 p2 p2 0 0 q2 q2 p2 p2 0 0 q2 q2 p2 p1 1 1 q1 q2

Tabelul 3. Gsirea strilor echivalente n cele dou circuite secveniale prin aplicarea direct a definiiei. Problema minimizrii numrului de stri ale unui circuit secvenial revine la stabilirea claselor de echivalen ale mulimii strilor acestuia. Aplicarea definiiei, ca n multe alte cazuri similare, nu ofer soluia cea mai eficient.

Partiionarea strilor unui circuit secvenial n clase de echivalen


Exist mai multe metode de calcul al claselor de echivalen peste strile unui automat cu stri finite i complet definit. Toate metodele utilizeaz att definiia strilor echivalente ct i cteva condiii necesare de realizare a echivalenei strilor. Condiia necesar cel mai des utilizat se refer la totalitatea valorilor de ieire (scalare sau vectoriale) ale unei stri. Aceast totalitate rezum n fapt valorile ieirii circuitului, ntr-o stare dat, pentru toate valorile posibile ale intrrilor. Daca totalitatea valorilor de ieire pentru o stare p difer de totalitatea valorilor de ieire pentru starea q atunci strile p i q nu sunt echivalente, notat p q. n fapt, dat un circuit secvenial A, se poate estima de la bun nceput o margine inferioar a numrului claselor de echivalen. Anume, se formeaz totalitatea valorilor ieirii pentru fiecare stare i se calculeaz cuantumul situaiilor distincte. Aceasta este marginea inferioar a numrului claselor de echivalen. Astfel circuitul secvenial din tabelul 4 are o margine inferioar a numrului de clase de echivalen egal cu patru: {1, 5}, {2, 4, 8}, {3, 6, 9}, {7, 10, 11, 12} pentru totalitatea ieirilor (0, 0, 0, 0), (0, 1, 0, 0), (1, 0, 1, 1) i respectiv (1, 1, 1, 1). Oricare circuit secvenial are i o margine superioar a numrului de clase de echivalen. Aceast margine este egal cu numrul de stri ale circuitului. Dac un circuit nu are echivalene printre strile sale atunci aceast margine va fi atins, fiecare stare fiind unic membr a cte unei clase de echivalen. -4-

Proiectarea Logic

Algoritmul Paull-Unger
Acest algoritm utilizeaz un tabel n care se nscriu, pentru fiecare pereche de stri care ar putea fi echivalente, implicaiile echivalenei respective sau condiiile care ar trebui ndeplinite pentru ca respectiva pereche de stri s fie echivalente. Tabelul are numrul de linii i de coloane egal cu numrul strilor mai puin o unitate. Pe rnduri sunt notate n ordine cresctoare, de sus n jos, toate strile exceptnd prima stare. Pe coloane, la baza tabelului, sunt notate n ordine cresctoare, de la stnga la dreapta, toate strile exceptnd ultima stare. Din raiuni de simetrie, tabelul este suficient s fie completat doar jumtate. Tradiional se completeaz jumtatea stng. Intrri Starea actual 1 2 3 4 5 6 7 8 9 10 11 12 1 2/0 3/0 2/1 3/0 2/0 2/1 1/1 6/0 2/1 1/1 1/1 1/1 2 3/0 7/1 1/0 10/0 6/0 1/0 4/1 11/1 5/0 2/1 2/1 3/1 3 2/0 6/0 7/1 3/0 2/0 11/1 3/1 6/0 11/1 6/1 6/1 2/1 4 4/0 1/0 8/1 1/0 8/0 4/1 5/1 5/0 4/1 5/1 5/1 1/1

Tabelul 4. Circuitul secvenial al exemplului 2. n elementul i,j al tabelului, corespunztor interseciei liniei strii i i coloanei strii j, sunt nscrise condiiile pentru ca respectivele stri s fie echivalente sau sunt notate orice alte remarci privitor la echivalena acestor stri. n cadrul utilizrii elementelor tabelului sunt utilizate trei reguli. Prima regul stabilete c toate perechile de stri care au totalitatea ieirilor diferit sunt stri incompatibile i se bareaz celula tabelului corespunztoare acestora. Perechile de stri pentru care coincide totalitatea ieirilor pot fi echivalente dac sunt satisfcute condiiile de echivalen ale strilor corespunztoare intrrilor specifice. A doua regul este iterativ i aplic un procedeu de omogenizare a condiiilor. Astfel toate condiiile de incompatibilitate (corespunztoare celulelor barate) sunt verificate n listele de condiii de echivalen ale celulelor ne-barate. Prezena unei incompatibiliti ntr-o condiiile de echivalen a unei celule ne-barate conduce la bararea acesteia i la trecerea perechi de stri corespunztoare n categoria perechilor de stri incompatibile. La pasul iterativ urmtor aceast pereche va fi verificat ca prezen n toate celulele ne-barate dar cu condiii nscrise .a.m.d. Atunci cnd dup o parcurgere complet a tabelului nu mai sunt descoperite noi -5-

Proiectarea Logic

perechi de stri incompatibile se trece la aplicarea celei de-a treia reguli. A treia regul, i ultima, extrage din tabel toate condiiile de compatibilitate i utiliznd tranzitivitatea stabilete clasele de echivalen.

4 5 6 7 8 9 10 11 12 1 3,6 4,8

7,10 3,6

7,11 4,8

3,6 7,11 1,5 1,5 7,11 4,8

3,6 10,11 1,5 1,5 2,4 3,6 2,4 3,6 3,4 3,2 1,5 2,3 2,6 1,5 8 9 10 2,3 2,6 1,5 11

Tabelul 5. Aplicarea algoritmului Paull-Unger circuitului secvenial din Exemplul 2. Pentru simplitatea expunerii i uurina nelegerii aplicrii algoritmului se va apela la urmrirea exemplului 2. Exemplul 2:
Se consider circuitul secvenial descris prin tabelul 4. Construcia, n conformitate cu algoritmul Paull-Unger, a tabelului de gsire a strilor echivalente este prezentat n tabelul 5. Prima regul a algoritmului vizeaz completarea iniial a elementelor tabelului.

-6-

Proiectarea Logic

Toate elementele (csuele) tabelului care sunt barate reprezint perechi de stri ne-echivalente sau, altfel spus, incompatibile. Astfel, starea 1 i starea 2 din tabelul 4 nu sunt echivalente deoarece ieirea lor pentru intrarea 2 difer. Exist, pe de-alt parte stri evident echivalente. n tabelul 4 se remarc, fr nici un dubiu, echivalena strilor 10 i 11 (celula respectiv este marcat cu caracterul ). Acolo unde totalitatea ieirilor coincide se pot formula condiiile de echivalen. Astfel, pentru ca starea 11 s fie echivalent strii 12 mai trebuie ca 2 = 3, 2 = 6 i 1 = 5. Aceste condiii sunt nscrise sub forma unor perechi (perechea 2,3 spre exemplu), n elementul tabelului corespunztor liniei 12 i coloanei 11. A doua regul a algoritmului propag toate incompatibilitile celulelor barate din tabel i n celulele ne-barate dar care utilizeaz condiii explicite de echivalen. Atunci cnd o celul, ne-barat, conine o condiie de echivalen contrazis de o incompatibilitate, aceasta se bareaz devenind incompatibilitate la rndul su i putnd propaga alte incompatibiliti printre echivalenele condiionate. Aceast a doua regul se recomand s se aplice ordonat n tabel (ca parcurgere) i iterativ. Astfel, dac se parcurge tabelul 5 pornind din colul dreapta jos, prima incompatibilitate corespunde perechii (9,12) dar, care nu apare menionat ca i condiie de echivalen n nici un element al tabelei. Nu acelai lucru se ntmpl cu perechea incompatibil (3,4) care apare ca i condiie de echivalen a strilor 7 i 12. n consecin se bareaz celula (7,12), care avea dealtfel i condiia incompatibil (2,3). Deoarece acest mod de barare este ulterior celui iniial, celula (12, 7) n tabelul 5, pentru mai mult claritate a fost barat printr-o elips desenat punctat i nscris n celul. Incompatibilitatea strilor 2 i 3 bareaz att perechea (10,12) ct i perechea (11,12) (aveau i (2,6) a doua pereche incompatibil dealtfel). Ambele celule din tabel sunt barate similar celulei (12,7) din tabelul 5. n continuare nu mai apar incompatibiliti i se ncheie de aplicat regula a doua. Tabelul conine acum informaii despre toate perechile de stri echivalente. Aplicnd cea de-a treia regul se extrag perechile care s-au pstrat: 10 = 1, 7 = 11, 1 = 10, 6 = 9, 3 = 9, 4 = 8, 2 = 8, 3 = 6, 1 = 5 i 2 = 4. Se grupeaz aceste perechi n clase de echivalene utiliznd tranzitivitatea relaiei: {10, 11, 7}, {6, 9, 3}, {4, 8, 2} i {1, 5}. La aceste clase de echivalen formate din dou sau mai multe stri se adaug ultima clas de echivalen a acestui circuit secvenial coninnd o singur stare {12}. S-au obinut, n total, 5 clase de echivalen ale circuitului descris prin tabelul 4, cu una mai mult dect marginea inferioar estimat iniial.

n cazul circuitelor secveniale complet definite, partiia mulimii strilor obinut prin relaia de echivalen a strilor reprezint unica posibilitate de obinere a unui numr minim de grupe de stri echivalente, deoarece fiecare stare este inclus ntr-o unic clas (de echivalen).

-7-

Proiectarea Logic

Aceast partiie are proprietatea c fiecare clas de stri poate fi reprezentat printr-o singur stare din clasa respectiv. Prin urmare este suficient ca fiecare clas s fie reprezentat printr-o unic stare n circuitul secvenial minim.

-8-

S-ar putea să vă placă și