420 likes | 566 Views
Inhoud. Synthese van sequentiële netwerken incrementele gedragsbeschrijvingen toestandsminimalisatie toestandsassignatie. 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
E N D
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 gedragsbeschrijvingenvoorbeeld 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 gedragsbeschrijvingenvoorbeeld 1 Algoritme Digitale elektronica
Incrementele gedragsbeschrijvingenvoorbeeld 1 Algoritme Digitale elektronica
Incrementele gedragsbeschrijvingenvoorbeeld 1 Algoritme Digitale elektronica
Incrementele gedragsbeschrijvingenvoorbeeld 2 C D Q 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 Digitale elektronica
Incrementele gedragsbeschrijvingenvoorbeeld 2 Algoritme Digitale elektronica
Incrementele gedragsbeschrijvingenvoorbeeld 2 Algoritme= primitieve ttt Digitale elektronica
Incrementele gedragsbeschrijvingenvoorbeeld 3 C X Y 1 2 2 3 3 4 5 6 7 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 Digitale elektronica
Incrementele gedragsbeschrijvingenvoorbeeld 3 Algoritme ... termineert niet! gedrag niet realiseerbaar met eindige automaat Digitale elektronica
Toestandsminimalisatiedoelstelling 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
Toestandsminimalisatieequivalentie 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
Toestandsminimalisatieequivalentie 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
Toestandsminimalisatieequivalentie Voorbeeld 1: tabel volledig bepaald Digitale elektronica
Toestandsminimalisatiereductie Voorbeeld 1: tabel volledig bepaald Digitale elektronica
Toestandsminimalisatieequivalentie Voorbeeld 2: tabel NIET volledig bepaald Digitale elektronica
Toestandsminimalisatiereductie Is geen equivalentierelatie meer! Digitale elektronica
Toestandsminimalisatiereductie A J B C I D H E G F Zoeken van maximaal compatibele klassen Digitale elektronica
Toestandsminimalisatiereductie 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
Toestandsminimalisatiereductie Zoeken van minimale stabiele bedekking Digitale elektronica
Toestandsminimalisatiereductie 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
Toestandsassignatiesynchrone automaten Aantal mogelijkheden: Digitale elektronica
Toestandsassignatiesynchrone 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
Toestandsassignatiesynchrone automaten: afstandsmethode Regels: Digitale elektronica
Toestandsassignatiesynchrone automaten: afstandsmethode Digitale elektronica
Toestandsassignatiesynchrone automaten: afstandsmethode 7 D F A 6 9 5 5 G 3 C 1 7 7 3 7 7 7 D F 5 4 E Digitale elektronica
Toestandsassignatiesynchrone automaten: afstandsmethode X X X X d d d d d d d d S3 S3 S3 S3 d d d d d d d d 0000 0000 0000 0000 0100 0100 0100 0100 1100 1100 1100 1100 1000 1000 1000 1000 S2 S2 S2 S2 0001 0001 0001 0001 0101 0101 0101 0101 1101 1101 1101 1101 1001 1001 1001 1001 S1 S1 S1 S1 0011 0011 0011 0011 0111 0111 0111 0111 1111 1111 1111 1111 1011 1011 1011 1011 0010 0010 0010 0010 0110 0110 0110 0110 1110 1110 1110 1110 1010 1010 1010 1010 S1 S2 Y S3 Digitale elektronica
Toestandsassignatiesynchrone automaten: eindresultaat Digitale elektronica
Toestandsassignatiesynchrone automaten: partitiemethode Methode steunt op concept stabiele partitie • is partitie van toestandsruimte • voor elke input X wordt elk blok afgebeeld door fsop een verzameling volledig begrepen in een blok: Digitale elektronica
Toestandsassignatiesynchrone automaten: partitiemethode Essentie van stabiele partitie: • Wanneer men een stabiele partitie p heeft met k blokken kan men j = log2k 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
Toestandsassignatieeigenschappen 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
Toestandsassignatiezoeken 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
Toestandsassignatiezoeken naar stabiele partities: voorbeeld A,C C,G C,D D,G A,E D,E A,D F,G A,F C,F E,G D,F C,E E,F A,G EG: (AEG)(CF)(D) Digitale elektronica
Toestandsassignatiezoeken naar stabiele partities: voorbeeld A,C C,G C,D D,G A,E D,E A,D F,G A,F C,F E,G D,F EG: (AEG)(CF)(D) DF: (AEG)(CDF) C,E E,F A,G Digitale elektronica
Toestandsassignatiezoeken naar stabiele partities: voorbeeld A,C C,G C,D D,G A,E D,E A,D F,G A,F C,F E,G D,F EG: (AEG)(CF)(D) DF: (AEG)(CDF) CG: (ACDEFG) C,E E,F A,G Digitale elektronica
Toestandsassignatieencoderen met stabiele partities: voorbeeld (ACDEFG) (AEG)(CDF) bit 1 (AEG)(CF)(D) bit 2 (AG)(CF)(D)(E) bit 3 (A)(C)(D)(E)(F)(G) Digitale elektronica
Toestandsassignatieencoderen met stabiele partities: voorbeeld (ACDEFG) (AEG)(CDF) bit 1 (AEG)(CF)(D) bit 2 (AG)(CF)(D)(E) bit 3 (A)(C)(D)(E)(F)(G) Digitale elektronica
Toestandsassignatieencoderen met stabiele partities: resultaat Digitale elektronica