Het Ontwerp van Digitale Systemen

advertisement
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--
Download