Het Ontwerp van Digitale Systemen

advertisement
Digitale Elektronica
Projectiemateriaal
Jan Van Campenhout
AJ 2004-2005
Digitale Elektronica
--1--
Doelstellingen
Doelstellingen
– Vertrouwd worden met begrip ontwerpruimte
– Vertrouwd worden met wiskundige achtergronden van logische
schakelingen
– Verbanden tussen wiskundige modellen en circuits doorgronden
– Belangrijkste basisalgoritmen voor analyse en ontwerp van digitale
schakelingen (logisch niveau) leren kennen
– Effectieve beheersing verwerven over VHDL
– Een goed overzicht krijgen over technologie voor digitaal ontwerp
– Inzicht verwerven in synchroon gedrag, compositie en decompositie
Voorkennis
– Elementaire begrippen van discrete wiskunde: logica,
verzamelingleer, relaties, functies, ordeningen
– Beperkte hoeveelheid elektronica
– Enige vertrouwdheid met MAPLE
Digitale Elektronica
--2--
Feiten en data
Lestijden
– maandag 8:30 -- 9:45, woensdag 8:30 – 9:45
Oefeningen op maandag 10:00 – 12:45
– Oefeningen op de computer, in de PC-klas
– Practicum in de practicumzaal van ELIS
– Aard: analyse en gedeeltelijke synthese met behulp van
VHDL
– Verantwoordelijken: dr. ir. J. Dambre, ir. H. Eeckhaut, ir.
W. Heirman
Evaluatie
– combinatie van jaarwerk (1/2) en examen (1/2)
– examen mondeling, gesloten boek
Digitale Elektronica
--3--
Inhoud (1)
De ontwerpruimte en haar terminologie
–
–
De ontwerpruimte
Het ontwerptraject
Boole-algebra en functies
–
–
Definities en eigenschappen van Boole-algebra en functies
Representaties van Boolese functies
Schakelnetwerken en hun bouwstenen
–
–
–
–
–
Poortnetwerken versus taknetwerken
Analyse van taknetwerken
Standaardcomponenten
Programmeerbare componenten
ASIC-bouwstenen
Synthese van poortnetwerken
–
–
–
–
Algebraïsche minimalisatie
Implicantenmethoden: McCluskey’s algoritme
Topologische en heuristische methoden
Meerniveausynthese
Digitale Elektronica
--4--
Inhoud (2)
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
--5--
Inhoud (1)
De ontwerpruimte en haar terminologie
– De ontwerpruimte
– Het ontwerptraject
Boole-algebra en functies
– definities en eigenschappen van Boole-algebra en
functies
– representaties van Boolese functies
Schakelnetwerken en hun bouwstenen
–
–
–
–
–
poortnetwerken versus taknetwerken
analyse van taknetwerken
Standaardcomponenten
Programmeerbare componenten
ASIC-bouwstenen
Synthese van poortnetwerken
–
–
–
–
Algebraïsche minimalisatie
Implicantenmethoden: McCluskey’s algoritme
Topologische en heuristische methoden
Meerniveausynthese
Digitale Elektronica
--6--
De ontwerpruimte
Een definitie van termen
Gedrag
Logische
Structuur
Systeem
Algoritme
R/T
logisch
circuit
Fysische
Structuur
Digitale Elektronica
--7--
De Ontwerpruimte
Hierachisch Gedrag
niveau
Logische
Structuur
Systeem
Communicerende
Processen
Multiprocessor,
LANs,
Computernetwerk Kasten
Algoritme
Sequentiële
Algoritmen
Processor,
Geheugen,
Periferie
Bordniveau,
Moederbord,
ASIC
R/T
Machinetaal,
Microcode,
Register transfer spec.
ALU, Datapad,
Registers,
Controller
Macro-cellen,
FPGA-macros,
MSI/LSI-logica
Logisch
Eindige Automaten,
Boolese Functies
Poortdiagram,
Flip-flops
Standaardcellen,
FPGA-primitieven,
SSI-logica
Circuit
Differentiaalvergelijkingen
Transistordiagram
Rechthoeken,
Discrete elementen
Digitale Elektronica
Fysische
Structuur
--8--
De gedragshiërarchie
Elk hiërarchisch niveau heeft zijn eigen representatievormen voor de voorstelling van gedrag
Relatie tussen lagen:
– Opstijgen in de hiërarchie = abstraheren
– Afdalen = concretiseren
Belangrijke aspecten:
– aard: declaratief vs. proceduraal
– karakteristieken: tijd, datatypes
Digitale Elektronica
--9--
De gedragshiërarchie
het circuitniveau
Continu tijdsmodel
Grootheden
Continue fysische en elektrische grootheden: V, I, Z.
Verbindingen niet-gericht
Gedragsmodellen
Modellen voor elektrische en elektronische schakelingen
Analytisch: lineaire netwerken, Ebers-Moll, Gummel-Poon,
Giacoletto
Wiskundig: stelsels van differentiaalvergelijkingen
Digitale Elektronica
--10--
Voorbeeld: combinatorisch circuit
circuitniveau en logisch niveau
Gedrag
Logische structuur
Fysische structuur
x = a·sel + b·sel’
ID 
n 0  I W 
dL
 VGS  Vt VDS

VDS 2 


2 
Digitale Elektronica
--11--
De gedragshiërarchie
abstractie: van circuit naar logisch
Grootheden
Worden afgebeeld op eindige verzamelingen
(binair, n-air). Boole-algebra is model voor
binaire representaties, maar meestal niet voor n-aire!
Gedragsmodellen: functionaliteit
geheugenloos gedrag = stelsel Boolese functies
sequentieel gedrag = eindige automaat
Gedragsmodellen: tijd
wordt partieel geordende verzameling van gebeurtenissen
gebeurtenis = overgang tussen discrete niveaus
Digitale Elektronica
--12--
Logische niveaus
de digitale abstractie
i1
i2
Men wil schakelingen maken
die goed logisch gedrag
vertonen
Logisch gedrag = abstractie
van elektrisch gedrag op
circuitniveau
Abstractiefunctie D beeldt
analoge waarden af op
digitale
o
D
v1
v3
v2
V3=f(v1,v2)
Digitale Elektronica
--13--
Logische niveaus
de digitale abstractie
D beeldt analoge
waarden af op
digitale via de
definitie van de
intervallen L en H
1
x
0
D
H
L
Digitale Elektronica
--14--
Logische niveaus en transfercurve
de eigenschappen van D en f
D en f moeten aan een
i1
i2
aantal voorwaarden
voldoen om nuttige
logische functies te
realiseren
o
D
i 1,i 2  {0,1} 2 :
D- 1(i 1),
v 1 
D- 1(i 2 ) :
v 2
D(f (v 1,v 2 ))  o(i1,i2 )
v1
v3
v2
V3=f(v1,v2)
Digitale Elektronica
--15--
Logische niveaus en transfercurve
de eigenschappen van D en f
Voor een invertor:
– curve mag niet in
verboden gebied
– circuit moet zowel
spannings- als
vermogenversterking
realiseren
H
Curve hangt af van
belasting,
voedingsspanning,
temperatuur,...
Lineaire of passieve
netwerken voldoen niet!
L
L
Digitale Elektronica
H
--16--
De gedragshiërarchie
logische niveaus
Digitale Elektronica
--17--
Ruismarges
het ontstaan van stoorspanningen
In reële circuits is
ingangsspanning van poort
nooit gelijk aan
uitgangsspanning van
sturende poort:
– ground bounce
– capacitieve koppeling
– inductieve koppeling
Digitale Elektronica
--18--
Ruismarges
de opbouw van reële circuits: bordniveau
Digitale Elektronica
--19--
Ruismarges
de opbouw van reële circuits: chipniveau
Digitale Elektronica
--20--
Ruismarges
De ruismarge is de reserve
die men heeft op de
uitgangsspanning
alvorens de
ingangsspanning
ongeldig wordt:
DH = Voh,min-Vih,min
H
DH
DL = Vil,max-Vol,max
DL
L
L
Digitale Elektronica
H
--21--
Ruismarges
keuze van L en H
Men kiest H en L zodanig
dat de totale ruismarge
maximaal wordt.
H
Wanneer 1 enkele curve: op
plaatsen met helling -1
DH = Voh,min-Vih,min
DH
DL = Vil,max-Vol,max
DL
L
L
Digitale Elektronica
H
--22--
Snelheidskenmerken
Poortsnelheden worden
gekenmerkt door twee
grootheden:
– stijgtijd en daaltijd
– propagatietijd
• Deze tijden kunnen
verschillen tussen opgaande
en neerwaartse transitie
• Deze tijden kunnen sterk
afhankelijk zijn van de
belasting (vooral capacitief)
• Off-chip: 1-10 ns;
on-chip: 0.1-1 ns
Digitale Elektronica
tpHL
tr
--23--
De gedragshiërarchie
abstractie van het tijdsmodel
Model op logisch niveau van een poort bestaat uit:
– functioneel model (relatie tussen waarden)
– delay-model (tijdsgedrag)
Als x (t ):  {L,H}  X op t  
dan X (t )   voor   d  t  
Als x (t ): X    {L,H} op t  
dan X (t )   voor   d  t  
d
Als X (t ) =   {L,X,H} voor   t    D
d


dan  * <  +D: x(t )   voor  *  t    D
Als X (t )    {L,H} voor   t    D
dan  * <  +D: x(t )   voor  *  t    D
Digitale Elektronica
D

D
*
--24--

*
De gedragshiërarchie
abstractie van het tijdsmodel
Digitale Elektronica
--25--
De gedragshiërarchie
abstractie: van asynchroon naar synchroon
Men is vaak maar geïnteresseerd in signaalwaarden op
bepaalde ogenblikken:
– na verloop van propagatietijd bij combinatorische schakelingen
– in bepaalde intervallen van klokperiode in (sommige) sequentiële
schakelingen
Dit noemt men een synchroon model
Veronderstelt de aanwezigheid van een kloksignaal
Is maar partiële specificatie van werkelijk gedrag van schakeling
Is veel eenvoudiger, en daarom nuttig
Digitale Elektronica
--26--
Sequentieel gedrag op logisch niveau
synchrone circuits
De meeste circuits op
logisch en R/T-niveau
zijn synchroon
In
Out
Combinatorische
circuits
De hoogste klokfrequentie
wordt bepaald door het
traagste combinatorisch
pad
Registers
Klok
Flip-flop-delay
Combin. delay
Flip-flop instel
Digitale Elektronica
--27--
Klok
De gedragshiërarchie
R/T-niveau
Grootheden
Rijen van n-aire grootheden. Elementaire
datatypes zoals n-bit geheel getal of FP-getal
Gedragsmodellen: functionaliteit
logische en aritmetische operaties op bitrijen
controle = eindige automaat
Gedragsmodellen: tijd
meestal synchroon model voor tijd
abstractie van tijdsgedrag d.m.v. sequentieel
gedrag of pijplijngedrag
Digitale Elektronica
--28--
Voorbeeld
VHDL-representatie van gedrag op R/T-niveau
Entity
port(
inp
outp
start
busy
ck
);
RMS is
:
:
:
:
:
in sample;
out result;
in bit;
out bit;
in bit
Architecture behaviour of RMS is
begin
process
-- initialise;
...
-- operate;
loop
wait until not(start’stable)
and start = ‘1’;
busy <= ‘1’;
-- input and process;
. . .
end loop;
end process;
end behaviour
Digitale Elektronica
--29--
De gedragshiërarchie
algoritmisch niveau
Grootheden
Datastructuren uit programmeertalen.
Representatielengte meestal irrelevant
Gedragsmodellen: functionaliteit
Algoritmen en functies uit programmeertalen
Gedragsmodellen: tijd
klok en kloksynchroon gedrag verdwijnt
tijd = opeenvolging (totale orde) van
gebeurtenissen (althans in een sequentieel
algoritme)
precieze tijdsduur van operatie irrelevant
Digitale Elektronica
--30--
Voorbeeld
grafische gedragsrepresentatie op algoritmisch niveau
P
S
l
S1
u lsq usq
Inp
0
>>10
=? <-a[ ]
a[ ]<**2
**2
>?
0
1
+1024
1
+
+
+
+
<?
1
-
-
+
Digitale Elektronica
--31--
De gedragshiërarchie
systeemniveau
Grootheden
Datastructuren uit programmeertalen. Representatielengte
meestal irrelevant
Gedragsmodellen: functionaliteit
Communicerende processen die acties uitvoeren
Processen definiëren functionele relatie tussen inputs en
outputs
Gedragsmodellen: tijd
tijd = partiële orde van tijdsloze gebeurtenissen
gelijktijdigheid en oorzakelijk verband tussen acties en
activiteiten
Digitale Elektronica
--32--
De gedragshiërarchie
tijdmodellen
Digitale Elektronica
--33--
De structuurhiërarchie: Logisch vs. Fysisch
netwerk
kast
bord
chip
Digitale Elektronica
--34--
Voorbeeld
de netlijst van een poortdiagram op logisch niveau
Digitale Elektronica
--35--
Voorbeeld
logische structuur op R/T-niveau
Digitale Elektronica
--36--
Voorbeeld
fysische structuur op R/T-niveau: standard-cell en modules
Digitale Elektronica
--37--
Voorbeelden
fysische structuur op R/T-niveau: standard-cell en modules
Digitale Elektronica
--38--
Inhoud (1)
De ontwerpruimte en haar terminologie
– De ontwerpruimte
– Het ontwerptraject
Boole-algebra en functies
– definities en eigenschappen van Boole-algebra en
functies
– representaties van Boolese functies
Schakelnetwerken en hun bouwstenen
–
–
–
–
–
poortnetwerken versus taknetwerken
analyse van taknetwerken
Standaardcomponenten
Programmeerbare componenten
ASIC-bouwstenen
Synthese van poortnetwerken
–
–
–
–
Algebraïsche minimalisatie
Implicantenmethoden: McCluskey’s algoritme
Topologische en heuristische methoden
Meerniveausynthese
Digitale Elektronica
--39--
Het ontwerptraject
Informele vereisten
Gedrag
Logische
Structuur
Systeem
Algoritme
R/T
logisch
circuit
Ontwerp is een traject in de
ontwerpruimte
Start bij informele opgave
van vereisten
Eindigt bij afgewerkt
systeem
Ideaal enkel een voorwaarts
pad; in realiteit iteraties
Fysische
Structuur
Digitale Elektronica
--40--
Het ontwerptraject
de formaliseringsstap
Informele vereisten
Gedrag
Logische
Structuur
Systeem
Algoritme
R/T
logisch
circuit
Eerste hoofdstap is
formalisering: het in
machineleesbare vorm
brengen van vereisten
Resultaat is
gedragsbeschrijving. Niveau
is afhankelijk van
complexiteit
Digitale Elektronica
Fysische
Structuur
--41--
Het ontwerptraject
de formaliseringsstap
Informele vereisten
Gedrag
Nut van deze stap:
•
•
•
machineverwerkbaar resultaat
ondubbelzinnig
completer dan vereisten
Logische
Structuur
Systeem
Algoritme
R/T
logisch
circuit
Omgekeerde stap: validatie
•
•
door simulatie (uitvoerbare
formalisering)
door bewijsvoering
Fysische
Structuur
Digitale Elektronica
--42--
Het ontwerptraject
de synthesestap
Gedrag
Tweede hoofdstap is synthese:
de overstap van gedrag naar
logische structuur.
Logische
Structuur
Systeem
Algoritme
R/T
logisch
circuit
Het resultaat is een
structuurbeschrijving op
logisch niveau of R/T-niveau
Fysische
Structuur
Digitale Elektronica
--43--
Het ontwerptraject
de synthesestap
Gedrag
Logische
Structuur
Systeem
Algoritme
R/T
logisch
circuit
Wanneer geautomatiseerd:
meestal gesteund op
syntaxis van
gedragsbeschrijving
Moet moeilijke keuze maken
tussen ruimte en tijd:
•
•
een duur maar snel circuit
een goedkoop maar trager
circuit
Fysische
Structuur
Digitale Elektronica
--44--
Het ontwerptraject
de fysische ontwerpsstap
De volgende stap is generatie:
de overstap van logische
naar fysische structuur
Gedrag
Logische
Structuur
Systeem
Algoritme
R/T
logisch
circuit
Resultaat is beschrijving van
fysische lay-out
Gewoonlijk drie deelstappen:
•
•
•
technology mapping
partitionering
plaatsing en routering
Fysische
Structuur
Digitale Elektronica
--45--
Het ontwerptraject
de fysische ontwerpsstap
Omgekeerde stap: extractie
Kan gebruikt worden voor
•
•
Gedrag
Logische
Structuur
Systeem
Algoritme
R/T
logisch
circuit
terugwinnen van de effectieve
net list van de realisatie (voor
verificatie)
bepalen van fysische
eigenschappen van systeem
(oppervlakte, capaciteiten,
weerstand,…)
Ge-extraheerde parameters
maken tijdsgetrouwe
simulatie mogelijk (back
annotation)
Fysische
Structuur
Digitale Elektronica
--46--
Het ontwerptraject
effectieve realisatie
Gedrag
Logische
Structuur
Systeem
Algoritme
R/T
logisch
circuit
De laatste stap is de
eigenlijke fabricage: de
realisatie van de
concrete schakeling
Inverse stap: testen. Gaat
na of werkelijke
structuur van circuit
overeenstemt met
ontwerp
Fysische
Structuur
Digitale Elektronica
--47--
Download