Inhoud Analyse van sequentiële netwerken – 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 --1-- Decompositie en verfijning Informele vereisten Gedrag Synthese vraagt verfijning van initiële gedragsspecificatie = compositie van meer elementaire gedragingen Logische Structuur Systeem Algoritme R/T logisch circuit Fysische Structuur Digitale elektronica --2-- Decompositie en verfijning Informele vereisten Gedrag Elementaire knopen kunnen tot zelfde niveau behoren, of tot lager niveau Compositie volgens syntaxisregels van representatie (b.v. VHDL) Digitale elektronica Logische Structuur Systeem Algoritme R/T logisch circuit Fysische Structuur --3-- Decompositie en verfijning concretisering interpretatie 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 --4-- Spatiale en temporele interpretaties Spatiale interpretatie Temporele interpretatie • bouwblokken afgebeeld op afzonderlijke onderdelen • werken gelijktijdig • pijlen = verbindingen in de ruimte tussen bouwblokken • snelle, maar dure circuits • controle impliciet • 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 --5-- 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 --6-- 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 --7-- Temporele interpretaties combinatorisch voorbeeld (1) a 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; b c d e + + + + Repeat repeat until start = 0; repeat until start =1; done:= 0; T := a + b; T := T + c; T := T + d; out := T + e; done:= 1; until false; Digitale elektronica --8-- Temporele interpretaties ASIC-implementatie van voorbeeld a b c d e + + + + Digitale elektronica --9-- Temporele interpretaties sequentieel voorbeeld Digitale elektronica --10-- Spatiale interpretaties combinatorisch vorbeeld a b c d e + + Netwerk: • som-van-producten • meerniveau • ... + + Digitale elektronica --11-- Spatiale interpretaties sequentiële voorbeelden: algemene vorm Digitale elektronica --12-- Spatiale interpretaties sequentiële voorbeelden: cascadevorm (1) Stabiele partities (ABCDEFGH) 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 (ACEG)(BDFH) -- M1 (AE)(BF)(CG)(DH) -- M1,M2 (A)(B)(C)(D)(E)(F)(G)(H) -- M1,M2,M3=M Digitale elektronica --13-- Spatiale interpretaties sequentiële voorbeelden: cascadevorm (2) M1 0 1 ----------ACEG=a a b BDFH=b b a 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 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 Digitale elektronica --14-- Spatiale interpretaties sequentiële voorbeelden: parallelvorm (1) Stabiele partities (ABCDEF) M 0 1 -----A A B B B C C C D D D E E E F F F A M1 (ACE)(BDF) (AD)(BE)(CF) M2 (A)(B)(C)(D)(E)(F) -- M1,M2=M Digitale elektronica --15-- Spatiale interpretaties sequentiële voorbeelden: parallelvorm (2) M1 0 1 ----------ACE=a a b BDF=b b a M 0 1 -----A A B B B C C C D D D E E E F F F G M2 0 1 ----------AD=c c d BE=d d e CF=e e c Digitale elektronica --16-- Spatiale interpretaties sequentiële voorbeelden: factorisatie a b c d e + + + + Digitale elektronica --17-- 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 --18-- Synchrone composities is synchroon altijd synchroon? I11 I12 O11 I21 O12 I22 S1 O22 ? S2 I 12 O 22 I 22 O 12 O11 f o 11 (S 1,I 11,I 12 ) O12 f o 12 (S 1,I 11,I 12 ) s1 f s 1 (S 1,I 11,I 12 ) O I O21 O 21 f o 21 (S 2 ,I 21,I 22 ) O 22 f o 22 (S 2 ,I 21,I 22 ) s 2 f s 2 (S 2 ,I 21,I 22 ) I I 11,I 21 O O 11,O 21 S S 1,S 2 Digitale elektronica S O f o (S ,I ) s f s (S ,I ) --19-- Synchrone composities is synchroon altijd synchroon? s f s (S ,I ) s1, s 2 f s 1 (S 1,I 11,I 12 ),f s 2 (S 2 ,I 21,I 22 ) f s 1 (S 1,I 11,I 12 ),f s 2 (S 2 ,I 21,f o 12 (S 1,I 11,I 12 )) Elimineer I 12 I 12 O 22 f o 22 (S 2 ,I 21,I 22 ) f o 22 (S 2 ,I 21,f o 12 (S 1,I 11,I 12 )) Digitale elektronica --20-- Asynchrone composities C1 C2 Wat gebeurt er als wij twee automaten met verschillende klok aan elkaar verbinden? Digitale elektronica --21-- Asynchrone composities Er lopen meerdere draden van M1 naar M2 C1 C2 – op meer dan een flipflop overgangen mogelijk in Iinterval – uiteindelijk bereikte toestand kan verkeerd zijn Er loopt maar één draad van M1 naar M2. Problemen als C2 – input Hamming >1-overgang kan veroorzaken – input statische hazard kan genereren Digitale elektronica --22-- 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 --23-- 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 Iinterval kan aangelegd worden – Zorg dat meerbit-informatie geen hazards kan veroorzaken aan flipflop-inputs nooit meerdere transities in I-interval Digitale elektronica --24-- Asynchrone composities hoe communiceren wij meerbit-informatie? Digitale elektronica --25-- Asynchrone composities hoe communiceren wij meerbit-informatie? Digitale elektronica --26--