Inhoud Synthese van sequentiële netwerken incrementele gedragsbeschrijvingen toestandsminimalisatie toestandsassignatie Digitale elektronica
Het syntheseprobleem Opgave: gegeven het gewenst sequentieel I/O-gedrag, leid een circuit af dat dit gedrag correct realiseert, en dit op een optimale manier Deelproblemen: hoe gewenst gedrag specificeren wat zijn de optimaliteitscriteria? wat zijn de synthesestappen en de optimalisaties? Digitale elektronica
Incrementele gedragsbeschrijvingen Sequentieel gedrag is relatie tussen ingangs- en uitgangssequenties Niet rechtstreeks te vertalen naar structuur van circuit Relatie naar circuit wel duidelijk vanuit een incrementeel gedragsmodel: ttt of transitiediagram Doel: zo snel mogelijk komen tot incrementeel model uitgaande van initiële gedragsbeschrijving Digitale elektronica
Incrementele gedragsbeschrijvingen Methode vertaal opgelegde I/O-sequenties naar ‘algoritme’ in goto-stijl, dat de correcte outputs berekent elke plaats in algoritme stelt informatie voor over voorbije inputs doel: hou zo weinig mogelijk informatie bij om outputs correct te kunnen berekenen gedrag is realiseerbaar als eindige automaat als procedure een eindig algoritme oplevert Digitale elektronica
Incrementele gedragsbeschrijvingen voorbeeld 1 Opgave realiseer synchroon sequentieel circuit dat alle optredens van 11010 detecteert in een binaire sequentie. Input =X, output=Y Analyse synchroon = aanwezigheid van kloksignaal, inputsymbolen aangelegd één per klokperiode timing van output: twee mogelijkheden Digitale elektronica
Incrementele gedragsbeschrijvingen voorbeeld 1 Algoritme Digitale elektronica
Incrementele gedragsbeschrijvingen voorbeeld 1 Algoritme Digitale elektronica
Incrementele gedragsbeschrijvingen voorbeeld 1 Algoritme Digitale elektronica
Incrementele gedragsbeschrijvingen voorbeeld 2 Opgave realiseer asynchroon sequentieel circuit dat de waarde op D opslaat en naar buiten brengt bij een stijgflank op C Analyse asynchroon = afwezigheid van kloksignaal, inputveranderingen aangelegd volgens SIC en fundamentele mode C D Q Digitale elektronica
Incrementele gedragsbeschrijvingen voorbeeld 2 Algoritme Digitale elektronica
Incrementele gedragsbeschrijvingen voorbeeld 2 Algoritme= primitieve ttt Digitale elektronica
Incrementele gedragsbeschrijvingen voorbeeld 3 Opgave realiseer synchroon sequentieel circuit dat Y=1 genereert telkens een priem aantal maal X=1 is geweest Analyse synchroon = aanwezigheid van kloksignaal, inputsymbolen aangelegd één per klokperiode C X Y 1 2 3 4 5 6 7 Digitale elektronica
Incrementele gedragsbeschrijvingen voorbeeld 3 Algoritme ... termineert niet! gedrag niet realiseerbaar met eindige automaat Digitale elektronica
Toestandsminimalisatie doelstelling Waarom? Meestal bevat primitieve ttt te veel rijen en kan men een ttt vinden met minder rijen, die zelfde gedrag heeft Wanneer mag men een rij uit een tabel schrappen? Toestandsequivalentie Digitale elektronica
Toestandsminimalisatie equivalentie Definities (ttt A,a) (dit is ttt A in toestand a) is equivalent met (ttt B, b) als beide onder alle inputsequenties precies dezelfde outputs genereren vanuit resp. a en b als begintoestand toestanden a en b zijn equivalent, a~b, in dezelfde ttt a.s.a (ttt,a) ~ (ttt,b) als a equivalent is met b, mag men de rij die correspondeert met a schrappen, als alle referenties naar a vervangen worden door referenties naar b Digitale elektronica
Toestandsminimalisatie equivalentie Berekening verfijn de definitie van equivalentie: op basis hiervan kan men een effectieve procedure uitwerken, aangezien S eindig is twee toestanden zijn niet equivalent als zij verschillende outputs generen, of als zij leiden naar een niet-equivalent koppel Digitale elektronica
Toestandsminimalisatie equivalentie Voorbeeld 1: tabel volledig bepaald Digitale elektronica
Toestandsminimalisatie reductie Voorbeeld 1: tabel volledig bepaald Digitale elektronica
Toestandsminimalisatie equivalentie Voorbeeld 2: tabel NIET volledig bepaald Digitale elektronica
Toestandsminimalisatie reductie Is geen equivalentierelatie meer! Digitale elektronica
Toestandsminimalisatie reductie B C D E F G H I J Zoeken van maximaal compatibele klassen Digitale elektronica
Toestandsminimalisatie reductie Zoeken van minimale stabiele bedekking stabiel: opvolgerverzamelingen steeds volledig in een originele verzameling bedekking: alle originele toestanden aanwezig minimaal: met minimum aantal blokken Digitale elektronica
Toestandsminimalisatie reductie Zoeken van minimale stabiele bedekking Digitale elektronica
Toestandsminimalisatie reductie Zoeken van minimale stabiele bedekking Digitale elektronica
Toestandsassignatie Doelstelling: vastleggen van minimum aantal toestandsvariabelen (cellen, lussen) optimale afbeelding van toestanden op bitpatronen: voor synchrone automaten: economie voor asynchrone automaten: correctheid, dan economie Digitale elektronica
Toestandsassignatie synchrone automaten Aantal mogelijkheden: Digitale elektronica
Toestandsassignatie synchrone automaten: afstandsmethode Concept: probeer assignatie zo te doen dat twee-niveauminimalisatie van functies zo eenvoudig mogelijk wordt dit kan door eentjes in karnaugh-kaarten te clusteren aantal heuristische regels die “aantrekkingskracht” tussen toestanden voorstellen Digitale elektronica
Toestandsassignatie synchrone automaten: afstandsmethode Regels: Digitale elektronica
Toestandsassignatie synchrone automaten: afstandsmethode Digitale elektronica
Toestandsassignatie synchrone automaten: afstandsmethode 6 9 5 5 G 3 C 1 7 7 3 7 7 7 D F 4 5 E D F 7 Digitale elektronica
Toestandsassignatie synchrone automaten: afstandsmethode 0000 0001 0011 0010 0100 0101 0111 0110 1100 1101 1111 1110 1000 1001 1011 1010 X S1 S2 S3 0000 0001 0011 0010 0100 0101 0111 0110 1100 1101 1111 1110 1000 1001 1011 1010 X S1 S2 S3 S1 S2 d d 0000 0001 0011 0010 0100 0101 0111 0110 1100 1101 1111 1110 1000 1001 1011 1010 X S1 S2 S3 0000 0001 0011 0010 0100 0101 0111 0110 1100 1101 1111 1110 1000 1001 1011 1010 X S1 S2 S3 S3 Y d d Digitale elektronica
Toestandsassignatie synchrone automaten: eindresultaat Digitale elektronica
Toestandsassignatie synchrone automaten: partitiemethode Methode steunt op concept stabiele partitie is partitie van toestandsruimte voor elke input X wordt elk blok afgebeeld door fs op een verzameling volledig begrepen in een blok: Digitale elektronica
Toestandsassignatie synchrone automaten: partitiemethode Essentie van stabiele partitie: Wanneer men een stabiele partitie p heeft met k blokken kan men j = log2 k bits (S1,...,Sj) gebruiken om het blok aan te geven de waarde van fS op deze bits hangt enkel af van de huidige waarde van deze bits (en de input) de overige bits (Sj+1,...,Sj+m) dienen om in elk blok de toestand uniek te identificeren; m = max log2 |Bi| Digitale elektronica
Toestandsassignatie eigenschappen van stabiele partities Beide operaties bewaren stabiliteit: stabiele partities vormen tralie Minimaal element: alle singletons Maximaal element: hele toestandsruimte Tralie kan gegenereerd worden uit atomen Digitale elektronica
Toestandsassignatie zoeken naar stabiele partities Tralie van stabiele partities kan berekend worden door alle atomen op te sporen. Atomen zijn kleinste niet-triviale elementen. Atomen kunnen gevonden worden door voor elk koppel toestanden de minimale stabiele partitie te zoeken die dit koppel bevat alle andere elementen te vormen door herhaalde combinaties van gekende elementen: leidt tot dekpunt Digitale elektronica
Toestandsassignatie zoeken naar stabiele partities: voorbeeld A,C C,D A,E C,F A,D A,G A,F C,G C,E D,F D,G E,F E,G F,G D,E EG: (AEG)(CF)(D) Digitale elektronica
Toestandsassignatie zoeken naar stabiele partities: voorbeeld A,C C,D C,G D,G D,E A,E A,D A,F F,G E,G C,F D,F EG: (AEG)(CF)(D) DF: (AEG)(CDF) C,E E,F A,G Digitale elektronica
Toestandsassignatie zoeken naar stabiele partities: voorbeeld A,C C,D C,G D,G D,E A,E A,D A,F F,G E,G C,F D,F EG: (AEG)(CF)(D) DF: (AEG)(CDF) CG: (ACDEFG) C,E E,F A,G Digitale elektronica
Toestandsassignatie encoderen met stabiele partities: voorbeeld (AEG)(CF)(D) (AEG)(CDF) (ACDEFG) (AG)(CF)(D)(E) (A)(C)(D)(E)(F)(G) bit 1 bit 2 bit 3 Digitale elektronica
Toestandsassignatie encoderen met stabiele partities: voorbeeld (AEG)(CF)(D) (AEG)(CDF) (ACDEFG) (AG)(CF)(D)(E) (A)(C)(D)(E)(F)(G) bit 1 bit 2 bit 3 Digitale elektronica
Toestandsassignatie encoderen met stabiele partities: resultaat Digitale elektronica