Inhoud Analyse van sequentiële netwerken Sequentiële bouwblokken het gedrag van teruggekoppelde poortnetwerken races en hazards synchroon versus asynchroon gedrag, geheugencellen Sequentiële bouwblokken Synthese van sequentiële netwerken incrementele gedragsbeschrijvingen toestandsminimalisatie Toestandsassignatie Aspecten van compositie en decompositie Verfijning en decompositie Spatiale versus temporale decomposities Composities van synchrone automaten Digitale elektronica
Decompositie en verfijning Informele vereisten Systeem Algoritme circuit Gedrag Logische Structuur Fysische Structuur R/T logisch Synthese vraagt verfijning van initiële gedragsspecificatie = compositie van meer elementaire gedragingen Digitale elektronica
Decompositie en verfijning Informele vereisten Systeem Algoritme circuit Gedrag Logische Structuur Fysische Structuur R/T logisch Elementaire knopen kunnen tot zelfde niveau behoren, of tot lager niveau Compositie volgens syntaxisregels van representatie (b.v. VHDL) Digitale elektronica
Decompositie en verfijning interpretatie concretisering spatiaal (parallel) temporeel (sequentieel) Concrete representatie is voorstelling van meer abstracte interne representatie van gedrag Synthese = interpretatie van deze abstracte representatie Kan op diverse manieren: spatiaal vs. temporeel Digitale elektronica
Spatiale en temporele interpretaties Spatiale interpretatie bouwblokken afgebeeld op afzonderlijke onderdelen werken gelijktijdig pijlen = verbindingen in de ruimte tussen bouwblokken snelle, maar dure circuits controle impliciet Temporele interpretatie bouwblokken afgebeeld op invocaties van onderdelen werken na elkaar pijlen = verbindingen in de tijd tussen bouwblokken (geheugen) trage, goedkope circuits expliciete controle nodig Digitale elektronica
Temporele interpretaties Essentie van temporele interpretatie: algoritme Implementatie vereist processor-achtige architectuur: tijd wordt expliciet in klok er is geheugen nodig voor tussenresultaten en toestand er is controle nodig voor externe synchronisatie en interne geleiding van uitvoering Digitale elektronica
Temporele interpretaties Mogelijke uitvoeringsvormen (van traag en goedkoop naar snel en duur) Standaard-computer = zuivere software-implementatie Bordniveau op standaard bus (VME, PCI, …) met standaard bord = zuivere software-implementatie Bordniveau op standaard bus, met standaard processor, maar eigen bord Chipniveau met standaard processor als kern Chipniveau met ASIP-processor (programmeerbaar) Chipniveau met ASIC-processor (ingebakken programma) Chipniveau met automaat Digitale elektronica
Temporele interpretaties combinatorisch voorbeeld (1) + a b c d e + a b c d e Repeat repeat until start = 0; repeat until start =1; done:= 0; T1 := a + b; T2 := c + d; T2 := T1 + T2; out := T2 + e; done:= 1; until false; T := a + b; T := T + c; T := T + d; out := T + e; Digitale elektronica
Temporele interpretaties ASIC-implementatie van voorbeeld + a b c d e Digitale elektronica
Temporele interpretaties sequentieel voorbeeld Digitale elektronica
Spatiale interpretaties combinatorisch vorbeeld + a b c d e Netwerk: som-van-producten meerniveau ... Digitale elektronica
Spatiale interpretaties sequentiële voorbeelden: algemene vorm Digitale elektronica
Spatiale interpretaties sequentiële voorbeelden: cascadevorm (1) (ABCDEFGH) (A)(B)(C)(D)(E)(F)(G)(H) (AE)(BF)(CG)(DH) (ACEG)(BDFH) Stabiele partities -- M1 -- M1,M2 -- M1,M2,M3=M M 0 1 ------ A A B B B C C C D D D E E E F F F G G G H H H A Digitale elektronica
Spatiale interpretaties sequentiële voorbeelden: cascadevorm (2) ----------- ACEG=a a b BDFH=b b a M2 0,- 1,a 1,b -------------------- ABEF=c c c d CDGH=d d d c M3 0,- 1,ac 1,ad 1,bc 1,bd ------------------------------- ABCD=e e e e e f EFGH=f f f f f f M 0 1 ------ A A B B B C C C D D D E E E F F F G G G H H H A Digitale elektronica
Spatiale interpretaties sequentiële voorbeelden: parallelvorm (1) (ABCDEF) (A)(B)(C)(D)(E)(F) Stabiele partities -- M1,M2=M (ACE)(BDF) M1 M2 (AD)(BE)(CF) M 0 1 ------ A A B B B C C C D D D E E E F F F A Digitale elektronica
Spatiale interpretaties sequentiële voorbeelden: parallelvorm (2) ----------- ACE=a a b BDF=b b a M2 0 1 AD=c c d BE=d d e CF=e e c M 0 1 ------ A A B B B C C C D D D E E E F F F G Digitale elektronica
Spatiale interpretaties sequentiële voorbeelden: factorisatie + a b c d e Digitale elektronica
Synchrone composities is synchroon altijd synchroon? Combineer twee synchrone automaten met identiek klokgedrag op algemene manier Is resultaat altijd synchrone schakeling met verwacht aantal toestanden? Digitale elektronica
Synchrone composities is synchroon altijd synchroon? Digitale elektronica
Synchrone composities is synchroon altijd synchroon? Digitale elektronica
Asynchrone composities Wat gebeurt er als wij twee automaten met verschillende klok aan elkaar verbinden? Digitale elektronica
Asynchrone composities Er lopen meerdere draden van M1 naar M2 op meer dan een flipflop overgangen mogelijk in I-interval uiteindelijk bereikte toestand kan verkeerd zijn Er loopt maar één draad van M1 naar M2. Problemen als input Hamming >1-overgang kan veroorzaken input statische hazard kan genereren C2 Digitale elektronica
Asynchrone composities CONCLUSIE Asynchrone informatie moet beperkt blijven tot één bit (meerdere inputs van verschillende bronnen mogelijk) Mag rechtstreeks slechts Hamming-1-transities genereren Mag geen aanleiding geven tot statische of dynamische combinatorische hazards Digitale elektronica
Asynchrone composities hoe communiceren wij meerbit-informatie? Gebruik synchronisatieprotocol Asynchrone eendraadcommunicatie om interval aan te geven waarin meerbit-informatie stabiel is Zorg dat meerbitsinformatie alleen dan in I-interval kan aangelegd worden Zorg dat meerbit-informatie geen hazards kan veroorzaken aan flipflop-inputs nooit meerdere transities in I-interval Digitale elektronica
Asynchrone composities hoe communiceren wij meerbit-informatie? Digitale elektronica
Asynchrone composities hoe communiceren wij meerbit-informatie? Digitale elektronica