Inhoudstafel - PowerPoint PPT Presentation

1 / 127
About This Presentation
Title:

Inhoudstafel

Description:

Title: Digitaal ontwerp Subject: Digitale Elektronica en Processoren Author: Luc Van Eycken Last modified by: Luc Van Eycken Created Date: 12/4/2004 7:22:00 AM – PowerPoint PPT presentation

Number of Views:43
Avg rating:3.0/5.0
Slides: 128
Provided by: LucVan3
Learn more at: https://ulyssis.org
Category:

less

Transcript and Presenter's Notes

Title: Inhoudstafel


1
Inhoudstafel
  • Inleiding
  • De basis van digitaal ontwerp
  • Combinatorische schakelingen
  • Sequentiële schakelingen
  • Niet-programmeerbare processoren
  • Programmeerbare processoren
  • Hardware-beschrijvingstalen

2
Digitaal ontwerp
Ontwerppad Digitale data Boole-algebra Logische
poorten FPGA-ontwerp
  • Digitaal ontwerp in grote lijnen
  • Gegevensvoorstelling
  • Booleaanse algebra
  • Logische poorten
  • Een voorbeeld FPGA

3
Digitaal ontwerp in grote lijnen
  • Ontwerppad
  • Specificatie
  • Synthese
  • Bibliotheek
  • Analyse
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp

Specificatie
Bibliotheek
Synthese
Documentatie
Analyse
  • Documentatie
  • handleiding gebruikers
  • handleiding hersteller
  • documentatie voor verdere ontwikkelingen

4
Specificatie
  • Ontwerppad
  • Specificatie
  • Synthese
  • Bibliotheek
  • Analyse
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp
  • beschrijf de functionaliteit,inclusief de
    interface(interactie met de omgeving)
  • Beschrijving
  • in de natuurlijke taal? dikwijls niet eenduidig
  • met een blokschema
  • Dikwijls een onvolledige beschrijving
  • Niet altijd duidelijk wat mogelijk is en wat niet
  • Wordt vervolledigd/aangevuld later in het
    ontwerpproces
  • Maakt dikwijls reeds implementatiebeslissingen
    die onnodige beperkingen opleggen aan het ontwerp

5
Synthese
  • Ontwerppad
  • Specificatie
  • Synthese
  • Bibliotheek
  • Analyse
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp
  • vertaling van een specificatie op eenhoog
    abstractieniveau naareen lager niveau,
    waarbijbeslissingen i.v.m. deimplementatie
    genomen worden
  • xy ? 16-bit ripple-carry adder 2 registers
  • Verschillende niveaus
  • Systeemsynthese(bouwblokken processoren,
    geheugen, ASICs)
  • Architectuursynthese (met RTL-componenten
    optellers, tellers, schuifregisters)
  • Sequentieel ontwerp (met poorten en flip-flops)
  • Combinatorisch ontwerp (met poorten)
  • Circuit-ontwerp (met transistoren)
  • Fysisch ontwerp (met halfgeleideroppervlakken)

6
Bibliotheek van componenten
  • Ontwerppad
  • Specificatie
  • Synthese
  • Bibliotheek
  • Analyse
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp
  • Ontwerpen evolueren (geen revolutie)
  • Hergebruik componenten economischzeer belangrijk
  • Ontbrekende componentenkopen/ontwerpen
  • Op de verschillende niveaus
  • Processor, ook specifieke (FFT, convolutie, )
  • Opteller, teller, (RTL-niveau)
  • Logische poort
  • Transistor
  • Trend naar bibliotheken op hoog niveauwegens
    steeds hogere integratieniveaus
  • Wet van Moore transistoren 2 per 1824
    maanden( 220 106 op 3040 jaar)

7
Analyse van het ontwerp
  • Ontwerppad
  • Specificatie
  • Synthese
  • Bibliotheek
  • Analyse
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp
  • test of het ontwerp voldoetaan zijn
    specificaties
  • Na elke synthesestap!
  • Wat wordt getest?
  • Functionaliteit doet het wat het moet doen?
  • Kostprijs oppervlakte, pinnen
  • Vermogenverbruik C f V2 (in 17 jaar
    1000)
  • C ? chipgrootte ? (0,25 cm2 in 1983 4 cm2 in
    2000)
  • f ?? (1 MHz in 1983 1 GHz in 2000)
  • V ? (5 V in 1983 1,5 V in 2000)
  • Snelheid vertraging, throughput (
    resultaten/s), ontwikkelingstijd
  • Testbaarheid kunnen alle fouten ontdekt worden
    via testvectoren?

8
Digitaal ontwerp
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp
  • Digitaal ontwerp in grote lijnen
  • Gegevensvoorstelling
  • Getallen digitaal voorstellen
  • Rekenen met binaire natuurlijke getallen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Booleaanse algebra
  • Logische poorten
  • Een voorbeeld FPGA

9
Getallen digitaal voorstellen
MSB
LSB
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp
  • radix r (10 voor decimale notatie)
  • cijfer iteratief
  • Bijv. het getal 1234,5610 (in decimale notatie)
  • 1103 2102 3101 4100 510-1 610-2
  • 11000 2100 310 41 50,1 60,01

10
Andere radixen
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp
  • Binair r 2, di 0..1bijv. 1011,0112
    11,37510
  • 123 022 121 120 02-1 12-2 12-3
  • 18 12 11 10,25 10,125
  • Octaal r 8, di 0..7bijv. 7654,328
    4012,4062510
  • 783 682 581 480 38-1 28-2
  • 7512 664 58 41 31/8 21/64
  • Hexadecimaal r 16, di 0..9 A..Fbijv.
    F9D8,7616 63960,460937510
  • 15163 9162 13161 8160 716-1 616-2
  • 154096 9256 1316 8 7/16 6/256

11
Radix-conversie r1 r2
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp
  • Als r1 r0p en r2 r0q q cijfers (r1) pq
    cijfers (r0) p cijfers (r2)bijv. hex (r1
    24) octaal (r2 23)
  • Anders
  • bepaal het getal D van de voorstelling Dr1 ,
  • bepaal de cijfers van D voor r2

988B16 1001100010001011 1001100010001011
1142138
12
Digitaal ontwerp
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp
  • Digitaal ontwerp in grote lijnen
  • Gegevensvoorstelling
  • Getallen digitaal voorstellen
  • Rekenen met binaire natuurlijke getallen -
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Booleaanse algebra
  • Logische poorten
  • Een voorbeeld FPGA

13
Binaire optelling aftrekking
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp
  • Decimale optelling
  • Engelse benaming
  • overdracht carry
  • lenen borrow
  • Binaire optelling

Binaire aftrekking
14
Binaire vermenigvuldiging
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp

1 0 1 1 0
1 0 1
1 0 1 1 0
0 0 0 0 0
1 0 1 1 0
1 1 0 1 1 1 0
  • Vermenigvuldiging via herhaaldeoptelling
    schuifoperatie cycli bits van
    vermenigvuldiger
  • Er bestaan snellere implementaties

15
Binaire deling
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp

1 0 1 1 1 0 1 0
1 1 1 0
1 1 1 0
1 1 0 1
1 0 0 1 0 1 0
1 1 1 0
1 0 0 1 0
0 0 0 0
1 0 0 1 0
1 1 1 0
1 0 0
  • Deling via herhaalde aftrekking
    schuifoperatie cycli bits van het
    resultaat
  • Meestal deze implementatie

16
Digitaal ontwerp
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp
  • Digitaal ontwerp in grote lijnen
  • Gegevensvoorstelling
  • Getallen digitaal voorstellen
  • Rekenen met binaire natuurlijke getallen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Booleaanse algebra
  • Logische poorten
  • Een voorbeeld FPGA

17
Sign-Magnitude-voorstelling
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp
  • Elk getal bestaat uit twee deleneen teken een
    grootte
  • Decimaal voorbeeld 12310 en -12310
  • Generische voorstelling B lts,mgt
  • Binaire getallen
  • MSB teken (0 positief, 1
    negatief)bijv. 011002 1210 en 111002 -1210
  • Een sign-magnitude-getal met n bitsligt tussen
    -(2n-1 - 1) en (2n-1 - 1)met twee
    voorstellingen voor nul000...0 en 100...0

18
Optelling aftrekking
Begin optelling
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp

Vele testen? traag duur? weinig gebruikt
19
Twee-complement voorstelling
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp
  • Het (cijfer-)complement D van een getal D met
    radix r is het getal waarbij elk cijfer i
    vervangen is door zijn complement r - 1 - i
  • het 9-complement van 12310 is 87610
  • het 1-complement van 11012 is 00102
  • Het radix-complement D van een getal D met radix
    r en m cijfers is D rm - D
  • het 10-complement van 12310 is 103 - 12310
    87710
  • het 2-complement van 11012 is24 - 1310 310
    00112
  • D D 1 (bewijs in boek)
  • Dit gebruiken we om het 2-complement te berekenen!

20
Twee-complement voorstelling
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp
  • Als slechts n bits gebruikt worden, dan
  • rn ? 0 D rn - D Þ D ? -D
  • D kan dus gebruikt worden als binairevoorstellin
    g van -D met n bits
  • Bijv. bij gebruik van 4 bits
  • D 310 00112 ? D 11002 00012 11012
  • -D -310 kan voorgesteld worden als 11012
  • Afspraak nodig om 11012 te kunnen
    interpreterenis het -310 (2-complement) of 1310
    (unsigned)?
  • Slechts één voorstelling voor nulD 00002 ? -D
    ? D 11112 00012 100002
  • Een 2-complement getal van n bits kan een waarde
    van -2n-1 tot en met 2n-1 - 1 hebben

21
Vergelijking
Decimaal 2-complement Sign-magnitude
-8 1000 -
-7 1001 1111
-6 1010 1110
-5 1011 1101
-4 1100 1100
-3 1101 1011
-2 1110 1010
-1 1111 1001
0 0000 1000 0000
1 0001 0001
2 0010 0010
3 0011 0011
4 0100 0100
5 0101 0101
6 0110 0110
7 0111 0111
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp

22
Optelling aftrekking
Begin optelling
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp

Br B1 B2
Einde
  • Eenvoudige implementatie, zelfs voor aftrekking
  • Weinig bewerkingen en geen testen
  • Eenvoudige hardware beschikbaar voor 1-complement
    (B2)
  • Geen extra hardware nodig voor 1(gebruik LSB
    carry-in)

23
Optelling aftrekking
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp

24
Modulus
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp
  • rest bij een deling
  • Als b 2n dan is dit hetzelfde als den
    minstbeduidende bits overhouden
  • 1110101 mod 1000 101

a b a mod b
gt 0 gt 0 a rem b
gt 0 lt 0 (a rem b) b
lt 0 gt 0 (a rem b) b
lt 0 lt 0 a rem b
a b rem mod
5 3 2 2
5 -3 2 -1
-5 3 -2 1
-5 -3 -2 -2
25
Digitaal ontwerp
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp
  • Digitaal ontwerp in grote lijnen
  • Gegevensvoorstelling
  • Getallen digitaal voorstellen
  • Rekenen met binaire natuurlijke getallen
  • Negatieve getallen
  • Niet-gehele getallenvaste/vlottende komma
    (fixed/floating point)
  • Andere codes
  • Booleaanse algebra
  • Logische poorten
  • Een voorbeeld FPGA

26
Getallen met vaste komma
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp
  • fixlti,fgt 1101,010 ? i 4, f 3
  • puur geheel f 0
  • puur fractioneel i 0
  • bits na een bewerking
  • fixlti1,f1gt fixlti2,f2gt fixlti,fgt? i
    max(i1,i2) 1 f max(f1,f2)
  • fixlti1,f1gt ? fixlti2,f2gt fixlti,fgt? i i1 i2
    f f1 f2

27
Getallen met vlottende komma
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp
  • float ltf,egt
  • Genormaliseerde fractieR gt mantissa 1 of
    1 gt mantissa 1/R
  • IEEE-formaat R 2, bias B 2e-1 - 1
  • Enkelvoudige precisie e 8, f 23, B 127
  • Dubbele precisie e 11, f 52, B 1023

mantissa
s exp. fractie
1 e f bits
niet-genormaliseerde F
verborgen bit
28
Rekenen met vlottende komma
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp
  • Optelling 0,24?101 0,99?102
  • Maak exponenten gelijk 0,02?102 0,99?102
  • Tel mantissas op 1,01?102
  • Normaliseer 0,10?103
  • Vermenigvuldiging 0,11?101 ? 0,12?102
  • Vermenigvuldig mantissas tel exponenten op
    0,0132?103
  • Normaliseer (hooguit 1 cijfer) 0,13?102

29
Digitaal ontwerp
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp
  • Digitaal ontwerp in grote lijnen
  • Gegevensvoorstelling
  • Getallen digitaal voorstellen
  • Rekenen met binaire natuurlijke getallen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes BCD, ASCII, ECC,
  • Booleaanse algebra
  • Logische poorten
  • Een voorbeeld FPGA

30
Binary Coded Decimal
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp

Decimaal cijfer BCD
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
31
American Standard Code for Information Interchange
  • Ontwerppad
  • Digitale data
  • Getallen
  • Binair rekenen
  • Negatieve getallen
  • Niet-gehele getallen
  • Andere codes
  • Boole-algebra
  • Logische poorten
  • FPGA-ontwerp

b3b2b1b0 b6b5b4 b6b5b4 b6b5b4 b6b5b4 b6b5b4 b6b5b4 b6b5b4 b6b5b4
b3b2b1b0 000 001 010 011 100 101 110 111
0000 NUL DLE SP 0 _at_ P p
0001 SOH DC1 ! 1 A Q a q
0010 STX DC2 2 B R b r
0011 ETX DC3 3 C S c s
0100 EOT DC4 4 D T d t
0101 ENQ NAK 5 E U e u
0110 ACK SYN 6 F V f v
0111 BEL ETB 7 G W g w
1000 BS CAN ( 8 H X h x
1001 HT EM ) 9 I Y i y
1010 LF SUB J Z j z
1011 VT ESC K k
1100 FF FS , lt L \ l
1101 CR GS - M m
1110 SO RS . gt N n
1111 SI US / ? O _ o DEL
32
Digitaal ontwerp
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • Digitaal ontwerp in grote lijnen
  • Gegevensvoorstelling
  • Booleaanse algebra
  • Definitie via axiomas
  • Theoremas
  • Booleaanse functies
  • Canonische standaard vorm
  • 16 functies van 2 variabelen
  • Logische poorten
  • Een voorbeeld FPGA

33
Axiomatische definitie vanBooleaanse algebra
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • Axioma 1 (Closure)
  • B is gesloten t.o.v. (OR) x y ? B
  • B is gesloten t.o.v. (AND) x y ( xy) ? B
  • Axioma 2 (Eenheidselement)
  • B heeft een eenheidselement voor ,0 genoemd x
    0 x
  • B heeft een eenheidselement voor ,1 genoemd x
    1 x
  • Axioma 3 (Commutativiteit)
  • B is commutatief t.o.v. x y y x
  • B is commutatief t.o.v. x y y x

34
Axiomatische definitie vanBooleaanse algebra
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • Axioma 4 (Distributiviteit)
  • is distributief t.o.v. x (y z) (x y)
    (x z)
  • is distributief t.o.v. x (y z) (x y)
    (x z)
  • Axioma 5(Complementair element NOT operator)
  • ? x ? B, ? x ? B x x 1 en x x 0
  • Axioma 6 (Cardinality bound)
  • B heeft minstens twee elementen

35
Verschil met gewone algebra
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • In booleaanse algebra bestaat geen inverse
    bewerking voor de optelling (OR) of de
    vermenigvuldiging (AND)? aftrekking of deling
    bestaan niet
  • In gewone algebra is niet distributief t.o.v.
    5 (2 4) ? (5 2) (5 4)
  • In gewone algebra geldt niet datx x 1 en
    x x 0

36
Booleaanse algebra met 2 waarden
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp

x x
0 1
1 0
NOT-operator
AND-operator AND-operator AND-operator
x y x ? y
0 0 0
0 1 0
1 0 0
1 1 1
OR-operator OR-operator OR-operator
x y x y
0 0 0
0 1 1
1 0 1
1 1 1
gedefinieerd met waarheidstabellen
37
Digitaal ontwerp
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • Digitaal ontwerp in grote lijnen
  • Gegevensvoorstelling
  • Booleaanse algebra
  • Definitie via axiomas
  • Theoremas
  • Booleaanse functies
  • Canonische standaard vorm
  • 16 functies van 2 variabelen
  • Logische poorten
  • Een voorbeeld FPGA

38
Theoremas
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • Te bewijzen via
  • axiomas (meerdere malen toepassen)
  • waarheidstabel (mogelijkheden opsommen)
  • Elk theorema heeft een duaal theorema
  • Vervang elke OR door een AND en vice-versa
  • Vervang elke 0 door 1 en vice-versa
  • Theorema 1 idempotency
  • x x x
  • Duaal x x x
  • Theorema 2
  • x 1 1
  • Duaal x 0 0

39
Theoremas
y x y ? x y ? x x
0 0 0 0
0 1 0 1
1 0 0 0
1 1 1 1
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • Theorema 3 absorptie
  • (y x) x x
  • Duaal (y x) x x
  • Theorema 4 involutie
  • (x) x
  • Theorema 5 associativiteit
  • (x y) z x (y z)
  • Duaal (x y) z x (y z)
  • Theorema 6 wet van De Morgan
  • (x y) x y
  • Duaal (x y) x y

40
Digitaal ontwerp
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • Digitaal ontwerp in grote lijnen
  • Gegevensvoorstelling
  • Booleaanse algebra
  • Definitie via axiomas
  • Theoremas
  • Booleaanse functies
  • Canonische standaard vorm
  • 16 functies van 2 variabelen
  • Logische poorten
  • Een voorbeeld FPGA

41
Booleaanse functies
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • uitdrukking van binaire variabelen en de
    bewerkingen AND, OR en NOT
  • Bijv. F1 xy xyz xyz
  • F1 1 als x 1 en y 1 of als x 1, y 0
    enz 1 of als x 0, y 1 en z 1 anders F1
    0
  • F1 bestaat uit 3 AND-termen en 1 OR-term
  • Prioriteit van bewerkingen
  • haakjes
  • NOT
  • AND
  • OR

42
Booleaanse functies
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • Rechtstreekse realisatie
  • binaire variabelen ingangssignalen
  • bewerking poort
  • Bijv. F1 xy xyz xyz

x
y
z
AND
OR
F1
NOT
43
Waarheidstabel van een functie
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • tabel met de functiewaarde(n) vooralle
    combinaties van ingangswaarden
  • n (ingangs)variabelen ? 2n rijen
  • Bijv. F1 xy xyz xyz

x
y
z
Rij x y z F1
0 0 0 0 0
1 0 0 1 0
2 0 1 0 0
3 0 1 1 1
4 1 0 0 0
5 1 0 1 1
6 1 1 0 1
7 1 1 1 1
0 0 0 0 0
1 0 0 1 0
2 0 1 0 0
3 0 1 1 1
F1
4 1 0 0 0
5 1 0 1 1
6 1 1 0 1
7 1 1 1 1
44
Waarheidstabel van een functie
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • Nummering van de rijen
  • Standaard-codenatuurlijke opvolging
  • Gray-code2 opeenvolgende rijenverschillen
    maarin 1 variabele
  • Opmerkingfunctie verandert niet!

45
Complementaire functie
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • Alternatieve realisatie F1 (F1)
  • F1 (xy xyz xyz) (xy)(xyz)(xyz) (
    De Morgan) (x y)(x y z)(x y
    z) (De Morgan)

46
Algebraïsche manipulatie
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • F1 xy xyz xyz xy xyz xyz
    xyz (absorptie) xy x(yy)z
    xyz (distributiviteit) xy x1z
    xyz (complement) xy xz xyz (identiteit)
    xy xyz xz xyz (absorptie) xy xz
    (xx)yz (distributiviteit) xy xz
    1yz (complement) xy xz yz (identiteit)
  • Goedkoper resultaat, maar niet evident welke
    combinatie van theoremas hiervoor nodig zijn

47
Digitaal ontwerp
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • Digitaal ontwerp in grote lijnen
  • Gegevensvoorstelling
  • Booleaanse algebra
  • Definitie via axiomas
  • Theoremas
  • Booleaanse functies
  • Canonische standaard vorm
  • 16 functies van 2 variabelen
  • Logische poorten
  • Een voorbeeld FPGA

48
Mintermen
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • Een minterm is een Booleaanse functie die waar is
    voor slechts voor één enkele rij van de
    waarheidstabel

Rij x y z minterm notatie
0 0 0 0 xyz m0
1 0 0 1 xyz m1
2 0 1 0 xyz m2
3 0 1 1 xyz m3
4 1 0 0 xyz m4
5 1 0 1 xyz m5
6 1 1 0 xyz m6
7 1 1 1 xyz m7
49
Canonische vorm met mintermen
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • Een 1-minterm is een minterm waarvoor de functie
    1 iseen 0-minterm is een minterm waarvoor de
    functie 0 is
  • F1 xy xyz xyz

Rij x y z F1 1-minterm
0 0 0 0 0
1 0 0 1 0
2 0 1 0 0
3 0 1 1 1 m3 xyz
4 1 0 0 0
5 1 0 1 1 m5 xyz
6 1 1 0 1 m6 xyz
7 1 1 1 1 m7 xyz
  • Elke Booleaanse functie kan beschreven worden als
    de som van zijn 1-mintermen F1 xyz xyz
    xyz xyz m3 m5 m6 m7 ?(3,5,6,7)

50
Maxtermen
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • Een maxterm is een Booleaanse functie die waar is
    voor alle rijen van de waarheidstabel behalve één

Rij x y z maxterm notatie
0 0 0 0 xyz M0
1 0 0 1 xyz M1
2 0 1 0 xyz M2
3 0 1 1 xyz M3
4 1 0 0 xyz M4
5 1 0 1 xyz M5
6 1 1 0 xyz M6
7 1 1 1 xyz M7
51
Canonische vorm met maxtermen
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • Een 0-maxterm is een maxterm waarvoor de functie
    0 iseen 1-maxterm is een maxterm waarvoor de
    functie 1 is
  • F1 xy xyz xyz

Rij x y z F1 0-maxterm
0 0 0 0 0 M0 xyz
1 0 0 1 0 M1 xyz
2 0 1 0 0 M2 xyz
3 0 1 1 1
4 1 0 0 0 M4 xyz
5 1 0 1 1
6 1 1 0 1
7 1 1 1 1
  • Elke Booleaanse functie kan beschreven worden als
    het product van zijn 0-maxtermenF1
    (xyz)(xyz)(xyz)(xyz) M0M1M2M4
    ?(0,1,2,4)

52
Standaard vorm
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • In de canonische vorm is elke functie een som van
    1-mintermen of een product van0-maxtermen
  • Elke minterm of maxterm bevat alle variabelen ?
    dure implementatie
  • De standaard vorm is een som van producttermen of
    een product van somtermen met het kleinst aantal
    variabelen
  • Een productterm of somterm moet niet altijd alle
    variabelen bevatten? goedkoper qua implementatie

53
Voorbeelden van standaard vorm
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • F2 xyz xyz xyz xyz xy(z z)
    xy(z z) xy xy x(y y) x
  • F3 xyz xyz xyz xyz xyz xyz
    xyz xyz xyz xyz xyz xyz xy(z
    z) x(y y)z (x x)yz xyz xy xz
    yz xyz

54
Minimale implementatie
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • De standaard vorm is de goedkoopste implementatie
    in twee lagen
  • F2 xy xz yz
  • Een niet-standaard vorm met meer dan twee lagen
    kan goedkoper zijn
  • F2 x(y z) yz

55
Digitaal ontwerp
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • Digitaal ontwerp in grote lijnen
  • Gegevensvoorstelling
  • Booleaanse algebra
  • Definitie via axiomas
  • Theoremas
  • Booleaanse functies
  • Canonische standaard vorm
  • 16 functies van 2 variabelen
  • Logische poorten
  • Een voorbeeld FPGA

56
De 16 functies van 2 variabelen
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp
  • Waarom 16 functies?
  • 2 binaire variabelen? 22 4 mogelijke
    ingangscombinaties
  • Elke ingangscombinatie heeft 2 mogelijke
    functiewaarden (0 en 1)? 24 16 mogelijke
    functies

x y
0 0
0 1
1 0
1 1
F0 F1 F2 F15
0 0 0 1
0 0 0 1
0 0 1 1
0 1 0 1
57
De 16 functies van 2 variabelen
Naam Symbool Functiewaarde voor x,y Functiewaarde voor x,y Functiewaarde voor x,y Functiewaarde voor x,y Uitdrukking
Naam Symbool 00 01 10 11 Uitdrukking
Zero 0 0 0 0 F0 0
AND xy 0 0 0 1 F1 xy
Inhibition x/y 0 0 1 0 F2 xy
Transfer 0 0 1 1 F3 x
Inhibition y/x 0 1 0 0 F4 xy
Transfer 0 1 0 1 F5 y
XOR xÅy 0 1 1 0 F6 xyxy
OR xy 0 1 1 1 F7 xy
NOR xy 1 0 0 0 F8 (xy)
XNOR 1 0 0 1 F9 xyxy
Complement y 1 0 1 0 F10 y
Implication 1 0 1 1 F11 xy
Complement x 1 1 0 0 F12 x
Implication 1 1 0 1 F13 xy
NAND xy 1 1 1 0 F14 (xy)
One 1 1 1 1 F15 1
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Axioma's
  • Theorema's
  • Functies
  • Canonische standaard vorm
  • 16 functies
  • Logische poorten
  • FPGA-ontwerp

58
Digitaal ontwerp
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • Digitaal ontwerp in grote lijnen
  • Gegevensvoorstelling
  • Booleaanse algebra
  • Logische poorten
  • Functionele eigenschappen
  • Niet-functionele eigenschappen
  • Verbindingen
  • Implementatietechnologieën
  • Een voorbeeld FPGA

59
Logische waarden voorstellen
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • Welke fysische waarden worden gebruikt om
  • de twee logische waarden voor te stellen?
  • Een Low een High fysisch bereik,
  • Meestal 2 spanningen VL VH
  • Andere mogelijkheden
  • stromen,
  • optische reflectie,
  • druk,
  • afgebeeld op de logische niveaus

L H
Positieve logica 0 1
Negatieve logica 1 0
60
Actief laag signaal
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • het signaal is actief als het 0 is
  • Meestal aangeduid als , X of X
  • Actief zijn is een interpretatie van een
    signaal, niet een niveau!
  • RST 0 reset toestel
  • actief laag OR? actief hoog AND
  • Waarom actief lage signalen?
  • Afgesloten verbindingen zijn meestal 1 als ze
    niet aangestuurd ( niet actief) zijn
  • Wired-or functionaliteit bij een open-drain
    implementatie (cfr. transparant 2-95)

X Y F
1 1 1
1 0 0
0 1 0
0 0 0
61
Digitaal ontwerp
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Basispoorten
  • Complexe poorten
  • Niet-functioneel
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • Digitaal ontwerp in grote lijnen
  • Gegevensvoorstelling
  • Booleaanse algebra
  • Logische poorten
  • Functionele eigenschappen
  • Basispoorten ( 2 ingangen)
  • Meerdere ingangen
  • Meerdere operatoren
  • Niet-functionele eigenschappen
  • Verbindingen
  • Implementatietechnologieën
  • Een voorbeeld FPGA

62
Schakelaars
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Basispoorten
  • Complexe poorten
  • Niet-functioneel
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • Logische poort meestal opgebouwd uit schakelaars
    met twee standen
  • Elektrische weerstand 0 ? ?
  • Drukventiel open ? gesloten
  • Licht doorlaten wel ? niet
  • Werking afhankelijk van stuursignaal

63
MOS-transistor als schakelaar
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Basispoorten
  • Complexe poorten
  • Niet-functioneel
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • NMOS transistor (boek P-transistor)
  • VGS lt VT
  • VGS gt VT
  • PMOS transistor (verwissel n?p, S?D)
  • VGS lt VT

Gate(poort)
Metaal
Isolator
Source
Drain
n
n
p
Halfgeleider
Geleidend pad als VGS gt VT
  • VGS gt VT

nootVGS VT lt 0
64
Inverter
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Basispoorten
  • Complexe poorten
  • Niet-functioneel
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • F x
  • 2 transistoren (afgekort tors)
  • Relatieve vertragingstijd 1

x
F
65
NAND-poort
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Basispoorten
  • Complexe poorten
  • Niet-functioneel
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • F (xy)
  • 4 transistoren
  • Relatieve vertragingstijd 1,4

F 0
  • Opmerking
  • Dit is een NOR-poort voor negatieve logica!

66
NOR-poort
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Basispoorten
  • Complexe poorten
  • Niet-functioneel
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • F (x y)
  • 4 transistoren
  • Relatieve vertragingstijd 1,4

F
x
y
F 0
67
Andere basispoorten
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Basispoorten
  • Complexe poorten
  • Niet-functioneel
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • Buffer of driver (meer vermogen)
  • F x (x) ? 4 tor vertraging 2
  • AND-poort
  • F xy ((xy))? 6 tor vertraging 2,4
  • OR-poort
  • F x y ((x y))? 6 tor vertraging
    2,4
  • XOR-poort
  • F x ? y xy xy ((x y) (x y))?
    12 tor (cfr. OAI) vertraging 3,2
  • XNOR-poort
  • F (x ? y) xy xy ((x y)(x
    y))? 12 tor (cfr. OAI) vertraging 3,2

x
F
x
F
y
x
F
y
x
F
y
x
F
y
68
Waarom enkelinverterende basispoorten?
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Basispoorten
  • Complexe poorten
  • Niet-functioneel
  • Verbindingen
  • Technologie
  • FPGA-ontwerp

Buffer
  • NMOS transistor is een slechte pull-up
  • slechts geleidend als VGS gt VT? uitgangsspanning
    daalt met VT na elke tor
  • NMOS enkel in onderste tak( kan enkel goed L
    doorgeven)
  • PMOS transistor is een slechte pull-down
  • PMOS enkel in bovenste tak( kan enkel goed H
    doorgeven)

69
Digitaal ontwerp
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Basispoorten
  • Complexe poorten
  • Niet-functioneel
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • Digitaal ontwerp in grote lijnen
  • Gegevensvoorstelling
  • Booleaanse algebra
  • Logische poorten
  • Functionele eigenschappen
  • Basispoorten
  • Meerdere ingangen (fan-in)
  • Meerdere operatoren
  • Niet-functionele eigenschappen
  • Verbindingen
  • Implementatietechnologieën
  • Een voorbeeld FPGA

70
Meerdere ingangen (fan-in)
VCC
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Basispoorten
  • Complexe poorten
  • Niet-functioneel
  • Verbindingen
  • Technologie
  • FPGA-ontwerp

y
x
z
x
F
y
F
z
z
y
x
  • 3-input NAND F (xyz)
  • 6 transistoren
  • Relatieve vertragingstijd 1,8

VSS
71
Relatieve kostprijs vertraging
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Basispoorten
  • Complexe poorten
  • Niet-functioneel
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • Relatief t.o.v. inverter (2 transistoren)
  • Kostprijs
  • Inverterende poort (INV, NAND, NOR)
  • fan-in (aantal ingangen)
  • Niet-inverterende poort (AND, OR)
  • fan-in 1
  • Vertraging
  • Inverterende poort (INV, NAND, NOR)
  • 0,6 fan-in 0,4
  • Niet-inverterende poort (AND, OR)
  • 1,6 fan-in 0,4

72
Digitaal ontwerp
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Basispoorten
  • Complexe poorten
  • Niet-functioneel
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • Digitaal ontwerp in grote lijnen
  • Gegevensvoorstelling
  • Booleaanse algebra
  • Logische poorten
  • Functionele eigenschappen
  • Basispoorten
  • Meerdere ingangen
  • Meerdere operatoren
  • Niet-functionele eigenschappen
  • Verbindingen
  • Implementatietechnologieën
  • Een voorbeeld FPGA

73
Meerdere operatoren in 1 poort2-wide 2-input
AND-OR-Invert
VCC
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Basispoorten
  • Complexe poorten
  • Niet-functioneel
  • Verbindingen
  • Technologie
  • FPGA-ontwerp

F 0 als ( x 1 en y 1 ) of ( z 1 en w
1 )
z
w
x
y
F
y
w
  • 2-wide 2-input AOI
  • F (xy zw)
  • 8 transistoren
  • Relatieve vertragingstijd 2,2

x
z
VSS
74
Meerdere operatoren in 1 poort 2-wide 2-input
OR-AND-Invert
VCC
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Basispoorten
  • Complexe poorten
  • Niet-functioneel
  • Verbindingen
  • Technologie
  • FPGA-ontwerp

F 0 als ( x 1 of y 1 ) en ( z 1 of w
1 )
y
w
x
z
F
z
w
  • 2-wide 2-input OAI
  • F ((x y) (z w))
  • 8 transistoren
  • Relatieve vertragingstijd 2,2

y
x
VSS
75
Digitaal ontwerp
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Spanningen
  • Tijdsgedrag
  • Fan-out
  • Vermogen
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • Digitaal ontwerp in grote lijnen
  • Gegevensvoorstelling
  • Booleaanse algebra
  • Logische poorten
  • Functionele eigenschappen
  • Niet-functionele eigenschappen
  • Spanningsniveaus
  • Tijdsgedrag
  • Fan-out
  • Vermogenverbruik
  • Verbindingen
  • Implementatietechnologieën
  • Een voorbeeld FPGA

76
Spanningsniveaus
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Spanningen
  • Tijdsgedrag
  • Fan-out
  • Vermogen
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • Logisch niveau ? spanningsgebied
  • Voordeel
  • minder gevoelig aan procesvariaties, die de
    karakteristieken van componenten veranderen
  • minder gevoelig aan omgevingsvariaties, zoals
    temperatuur, voedingsspanning,

Logisch niveau Spanningsgebied Spanningsgebied TTL TTL
Logisch niveau van tot van tot
L VSS VIL 0 V 0,8 V
H VIH VCC 2 V 5 V
77
Ruismarge
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Spanningen
  • Tijdsgedrag
  • Fan-out
  • Vermogen
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • spanningsmarge beschikbaar door een kleiner
    gebied van uitgangsspanningente gebruiken dan
    toegelaten

Uitgang
Ingang
VCC
VCC
H
H
VOH
marge
VIH
VIL
L
marge
VOL
L
VSS
VSS
78
Onlogische spanningen
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Spanningen
  • Tijdsgedrag
  • Fan-out
  • Vermogen
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • Tijdens de verandering van logisch niveau
    ontstaan spanningen die niet met een logisch
    niveau overeenkomen!
  • Bijv. TTL-inverter

Vuit
5
  • Transferfunctie afhankelijk van
  • productieproces
  • omgevingsfactoren

H
2,4
0,4
L
0
Vin
0
0,8
2
5
H
L
79
Schmitt-trigger-ingangen
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Spanningen
  • Tijdsgedrag
  • Fan-out
  • Vermogen
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • Bijkomende problemen voor trage signalen
  • Schmitt-trigger-ingangenhebben een hysteresis

Vin
0
t
80
Digitaal ontwerp
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Spanningen
  • Tijdsgedrag
  • Fan-out
  • Vermogen
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • Digitaal ontwerp in grote lijnen
  • Gegevensvoorstelling
  • Booleaanse algebra
  • Logische poorten
  • Functionele eigenschappen
  • Niet-functionele eigenschappen
  • Spanningsniveaus
  • Tijdsgedrag
  • Fan-out
  • Vermogenverbruik
  • Verbindingen
  • Implementatietechnologieën
  • Een voorbeeld FPGA

81
Effect capacitieve belasting
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Spanningen
  • Tijdsgedrag
  • Fan-out
  • Vermogen
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • L ? H overgang
  • H ? L overgang

82
Effect capacitieve belasting
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Spanningen
  • Tijdsgedrag
  • Fan-out
  • Vermogen
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • Snelle overgangen als
  • uitgangsimpedantie RO zo klein mogelijk? grote
    stromen ? groot vermogenverbruik
  • C (van draad ingang) zo klein mogelijk?
    vermijdt lange verbindingen
  • ingangsimpedantie RI zo groot mogelijk
  • Daarom RTL-technologie niet populair
  • vervang bovenste bloktransistoren (PUN) dooreen
    weerstand R
  • beperk vermogenverbruik? RO R redelijk groot?
    grote stijgtijden

83
Vertragingstijd
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Spanningen
  • Tijdsgedrag
  • Fan-out
  • Vermogen
  • Verbindingen
  • Technologie
  • FPGA-ontwerp

90 of VIH
50 VT
10 VIL
84
Vertragingstijd
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Spanningen
  • Tijdsgedrag
  • Fan-out
  • Vermogen
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • Wordt beïnvloed door de stijg/daaltijd en dus
    door de capacitieve belasting

in
in
tPLH
tPLH
uit
uit
kleine stijgtijd
grote stijgtijd
85
Digitaal ontwerp
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Spanningen
  • Tijdsgedrag
  • Fan-out
  • Vermogen
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • Digitaal ontwerp in grote lijnen
  • Gegevensvoorstelling
  • Booleaanse algebra
  • Logische poorten
  • Functionele eigenschappen
  • Niet-functionele eigenschappen
  • Spanningsniveaus
  • Tijdsgedrag
  • Fan-out
  • Vermogenverbruik
  • Verbindingen
  • Implementatietechnologieën
  • Een voorbeeld FPGA

86
Fan-out
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Spanningen
  • Tijdsgedrag
  • Fan-out
  • Vermogen
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • maximum aantal ingangen die aan één uitgang
    kunnen gekoppeld worden
  • Stroomgedreven technologieën(TTL, ECL, ...)
  • Fan-out min(IOH/IIH, IOL/IIL)

87
Fan-out
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Spanningen
  • Tijdsgedrag
  • Fan-out
  • Vermogen
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • Ladinggedreven technologieën (CMOS)
  • II 0 ? IO gebruiken voor op/ontladen C
  • fan-out ingangscapaciteit
  • capaciteit verbindingen
  • fan-out bepaalt maximale schakelfrequentie
  • I C ? dV/dt C ? f ? DV ? f I/(C ? DV)
  • bijv. voor Xilinx Virtex
  • 10 pF ingangscapaciteit, IOmax 20 mA,0,8 pF/cm
    PCB, Vcc 3,3 V
  • Voor fan-out 3 10 cm PCB-dradenC 3 ? 10
    0,8 ? 10 38 pFschakelfrequentie I/(C ?
    DV) 20 mA/(38 pF ? 3,3 V) 160 MHz

88
Digitaal ontwerp
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Spanningen
  • Tijdsgedrag
  • Fan-out
  • Vermogen
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • Digitaal ontwerp in grote lijnen
  • Gegevensvoorstelling
  • Booleaanse algebra
  • Logische poorten
  • Functionele eigenschappen
  • Niet-functionele eigenschappen
  • Spanningsniveaus
  • Tijdsgedrag
  • Fan-out
  • Vermogenverbruik
  • Verbindingen
  • Implementatietechnologieën
  • Een voorbeeld FPGA

89
Vermogenverbruik
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Spanningen
  • Tijdsgedrag
  • Fan-out
  • Vermogen
  • Verbindingen
  • Technologie
  • FPGA-ontwerp
  • Verbruikte vermogen moet worden
  • geleverd kostprijs energie, levensduur
    batterijen
  • gedissipeerd warmte moet afgevoerd worden
  • TTL verbruikt voortdurend vermogen
  • P VCC ? ICC ? 10mW/poort ? 1 miljoen poorten
    10 KW!
  • Gebruikt bij hoge spanningen/stromen (bussen, )
  • CMOS verbruikt enkel bij het schakelen
  • P C ? f ? V2 vermits I C ? f ? V
  • trend sterke stijging (cfr. transparant 2-7)
  • Virtex P 38 pF ? 160 MHz ? (3,3 V)2 66
    mW/pinals de helft van de 200 pinnen
    gelijktijdig schakelen is er 6,6 W nodig voor de
    externe pinnen
  • Microprocessoren 40W ? koeling!
  • Nu een van de belangrijkste ontwerpbeperkingen!

90
Digitaal ontwerp
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Verbindingen
  • Bus
  • als poort
  • Technologie
  • FPGA-ontwerp
  • Digitaal ontwerp in grote lijnen
  • Gegevensvoorstelling
  • Booleaanse algebra
  • Logische poorten
  • Functionele eigenschappen
  • Niet-functionele eigenschappen
  • Verbindingen
  • Busverbinding
  • Verbinding als poort
  • Implementatietechnologieën
  • Een voorbeeld FPGA

91
Types verbindingen
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Verbindingen
  • Bus
  • als poort
  • Technologie
  • FPGA-ontwerp
  • Traditioneel 1 aansturing van verbinding
  • Meerdere aansturingen mogelijk bus(verbinding)
  • Slechts 1 aansturing tegelijkertijd!? 3-state
    buffers gebruiken

92
Tri-state
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Verbindingen
  • Bus
  • als poort
  • Technologie
  • FPGA-ontwerp
  • derde mogelijkheid, naast 0 en 1
  • Z (hoog-impedant of zwevend) aan niets
    verbonden
  • Een 3-state buffer laat toe om deuitgang los te
    koppelen van zijn aansturing
  • Een implementatie

E Uit
0 Z
1 In
93
Digitaal ontwerp
  • Ontwerppad
  • Digitale data
  • Boole-algebra
  • Logische poorten
  • Functioneel
  • Niet-functioneel
  • Verbindingen
  • Bus
  • als poort
  • Technologie
  • FPGA-ontwerp
  • Digitaal ontwerp in grote lijnen
  • Gegevensvoorstelling
  • Booleaanse algebra
  • Logische poorten
  • Functionele eigenschappen
  • Niet-functionele eigenschappen
  • Verbindingen
  • Busverbinding
  • Verbind
Write a Comment
User Comments (0)
About PowerShow.com