De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Les 3: Digitale Logica.

Verwante presentaties


Presentatie over: "Les 3: Digitale Logica."— Transcript van de presentatie:

1 Les 3: Digitale Logica

2 Overzicht Logische poorten Elementaire elektronica
Combinatorische schakelingen Sequentiële logica Technologie Een logische poort is elektronische schakeling die een eenvoudige Boolese operatie uitvoert. Logische operaties werden besproken in les 2.

3 Logische and-poort A B AB A 0 0 0 0 1 0 AB 1 0 0 1 1 1 B
AB B De logische AND-poort voert de EN-operatie uit. Het resultaat van de EN operatie op ingangen A en B wordt genoteerd als AB, en het grafisch symbool wordt getoond in de slide. Waarheidstabel

4 Logische or-poort A B A+B A 0 0 0 0 1 1 A+B 1 0 1 1 1 1 B
A+B B De logische OR-poort voert de OF-operatie uit. Het resultaat van de OF operatie op ingangen A en B wordt genoteerd als A+B, en het grafisch symbool wordt getoond in de slide.

5 Logische xor-poort A B A  B A 0 0 0 0 1 1 AB 1 0 1 1 1 0 B
AB B De logische XOR-poort voert de EOF-operatie uit. Het resultaat van de XOR operatie op ingangen A en B wordt genoteerd als AB, en het grafisch symbool wordt getoond in de slide.

6 Buffer A A A A Een buffer voert de identiteitsfunctie uit. Hoewel deze functie geen “logische” betekenis heeft, speelt de buffer een belangrijke rol als signaalversterker. In een logisch circuit kan het nodig zijn een signaal te versterken, b.v. om ervoor te zorgen dat het zich over een langere afstand kan bewegen, of om een signaal als ingang te laten dienen van meerdere poorten.

7 Invertor (not) A A A A 0 1 1 0 De invertor voert de NIET-operatie uit.
A A De invertor voert de NIET-operatie uit. Het resultaat van de NOT operatie op ingang A wordt genoteerd als “A- overstreept” of ¬A en het grafisch symbool wordt getoond in de slide. Het symbool wordt afgeleid van het buffersymbool door een bolletje aan de uitgang te tekenen. Een bolletje op een input of een output betekent dat het inverse signaal gebruikt wordt.

8 Logische nand-poort A B AB A 0 0 1 0 1 1 AB 1 0 1 1 1 0 B
AB B De logische NAND-poort voert de NAND-operatie uit (NIET-EN). Het resultaat van de NAND operatie op ingangen A en B wordt genoteerd als “AB-overstreept” of ¬(AB) , en het grafisch symbool wordt getoond in de slide. Het bolletje wordt gebruikt om de output van de EN-poort te inverteren.

9 Logische nor-poort A B A+B A 0 0 1 0 1 0 A+B 1 0 0 1 1 0 B
A+B B De logische NOR-poort voert de NOR-operatie uit (NIET-OF). Het resultaat van de NOR operatie op ingangen A en B wordt genoteerd als “(A+B)-overstreept” of ¬(A+B) , en het grafisch symbool wordt getoond in de slide.

10 Logische xnor-poort A B AB A 0 0 1 0 1 0 AB 1 0 0 1 1 1 B
AB B De logische XNOR-poort voert de XNOR-operatie uit (NIET-XOR of exclusieve NOR). Het resultaat van de XNOR operatie op ingangen A en B wordt genoteerd als (AB), en het grafisch symbool wordt getoond in de slide. Een XNOR-poort is een dus een XOR-poort waarvan de uitgang geïnverteerd werd.

11 Voorbeeld A F A F = A A F 1 1 A B AB 0 0 0 0 1 0 1 0 0 1 1 1
= A Logische functies kunnen op verschillende manieren gerealiseerd worden worden. Dit voorbeeld toont hoe een buffer ook kan geconstrueerd worden door middel van een AND poort waaraan 2 maal dezelfde ingang wordt aangelegd. Dit volgt uit de waarheidstabel van de buffer en de AND- poort. A F 1 1

12 Voorbeeld A F A F = A A F 1 1 A B A+B 0 0 0 0 1 1 1 0 1 1 1 1
= A Dit voorbeeld toont hoe een buffer ook kan geconstrueerd worden door middel van een OR poort waaraan 2 maal dezelfde ingang wordt aangelegd. Dit volgt uit van de waarheidstabel van de buffer en de OR- poort. A F 1 1

13 Voorbeeld A F A F = A A F 1 1 A B AB 0 0 1 0 1 1 1 0 1 1 1 0
= A Dit voorbeeld toont hoe een invertor ook kan geconstrueerd worden door middel van een NAND poort waaraan 2 maal dezelfde ingang wordt aangelegd. Dit volgt duidelijk uit de studie van de waarheidstabel van de invertor en NAND-poort. A F 1 1

14 Voorbeeld A F B Poorten kunnen samengevoegd worden tot “combinatorische schakelingen”. Dit voorbeeld lijkt een ingewikkelde schakeling, maar voert eigenlijk een heel eenvoudige functie uit… Kan je al zien welke? … zie verder…

15 Voorbeeld A F B A B F A B AB Als we dieper ingaan op het voorbeeld van de vorige slide, kunnen we de 2 poorten aan de linkerkant vervangen door NOT poorten. Het resultaat (F) van deze schakeling is dus de NAND van NIET-A en NIET- B. Als we hiervan de waarheidstabel neerschrijven, dan vinden we een opmerkelijk resultaat! Deze schakeling berekent niets anders dan A+B = A OR B. … zie verder… 1 1 1

16 Voorbeeld A F B A B F A B AB Inderdaad, de waarheidstabel van A+B is gelijk aan deze van de schakeling uit de vorige slides! 1 1 1

17 Voorbeeld A F B A B F Om de tekening van schakelingen te vereenvoudigen kan men de NOT poort vervangen door een bolletje aan de ingang van de volgende poort, zoals aangegeven in dit voorbeeld.

18 Wetten van De Morgan A + B = A B AB = A + B
Het vorige voorbeeld brengt ons bij de belangrijke Wetten van De Morgan. A OR B = NIET-A NAND NIET-B A AND B = NIET-A NOR NIET-B Deze wetten zijn in de slide geïllustreerd, en zijn eenvoudig te bewijzen door de waarheidstabellen van de vormen links en rechts van het gelijkheidsteken neer te schrijven (wat we in de vorige slides reeds gedaan hebben). Bemerk de symmetrie van deze wetten wat betreft AND en OR. De ene wet is trouwens een logische herformulering van de andere wet. Men kan de wet verder ook voorstellen als volgt: A NOR B = NIET-A AND NIET-B A NAND B = NIET-A OR NIET-B AB = A + B

19 Boolese algebra (1) Commutativiteit AB = BA
Distributiviteit A(B+C) = AB+AC Neutraal element 1A = A Complement AA = 0 Nuleigenschap 0A = 0 Idempotentie AA = A Associativiteit A(BC) = (AB)C Dubbele negatie A = A De Morgan AB = A + B Concensus AB + AC + BC = AB + AC Absorptie A(A+B) = A Deze tabel geeft een overzicht van een aantal basiseigenschappen van de Boolese algebra. Al deze eigenschappen kunnen aangetoond worden door hun waarheidstabel van het linkerlid en rechterlid neer te schrijven en te vergelijken. De correctheid van deze wetten kan ook logisch beredeneerd worden.

20 Bewijs Concensus A B C AB+AC+BC AB+AC 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0
1 1 In dit voorbeeld wordt de consensusregel bewezen door vergelijking van de waarheidstabellen voor beide voorstelling. De consensusregel geeft aan dat de term BC overbodig is in de som AB+(NIET-A)C+BC. Immers, als BC=1 dan is zeker ook AB+(NIET- A)C=1; en als BC=0 dan wordt de waarde van de volledige som toch door AB+(NIET-A)C bepaald. 1 1

21 Boolese algebra (2) Commutativiteit A+B = B+A
Distributiviteit A+(BC) = (A+B)(A+C) Neutraal element 0+A = A Complement A+A = 1 Eéneigenschap 1+A = 1 Idempotentie A+A = A Associativiteit A+(B+C) = (A+B)+C Dubbele negatie De Morgan A+B = AB Concensus (A+B)(A+C)(B+C) = (A+B)(A+C) Absorptie A+(AB) = A Deze tabel geeft een overzicht van een aantal basiseigenschappen van de Boolese algebra. Deze zijn de duale eigenschappen als getoond in de vorige tabel. De duale vorm wordt bekomen door AND/OR om te wisselen, net als 0/1.

22 Overzicht Logische poorten Elementaire elektronica
Combinatorische schakelingen Sequentiële logica Technologie

23 Analoog vs. digitaal analoog t digitaal t
In analoge elektronica wordt een signaal bekeken als zijnde continu. In digitale elektronica wordt het analoge signaal gebruikt om nullen en enen mee te coderen. Indien het analoge signaal boven een bepaalde drempel uitkomt, dan zullen we dit interpreteren als een 1, indien het onder die drempel blijft, interpreteren we dit als een 0. In de praktijk wensen we de overgang tussen nullen en enen zo snel mogelijk te maken waardoor een blokvormig signaal ontstaat. Uiteraard moet men digitale componenten steeds opbouwen uit componenten die eigenlijk analoog zijn. Maar in gebruik is men enkel geïnteresseerd in de “digitale” werking, en maakt men dus abstractie van de onderliggende analoge werking.

24 Elementaire elektrische grootheden
Eenheid van stroom: Ampere (A) Eenheid van spanning: Volt (V) Eenheid van vermogen: Watt (W) Eenheid van weerstand: Ohm () Deze slide geeft een overzicht van de belangrijkste elektrische grootheden die we in elektrische schakeling tegenkomen.

25 Elementaire stroomkring
Voltage Collector Collector R=5  I=1A + - VCC=5V In de elementaire stroomkring geeft de wet van Ohm het verband tussen de spanningsval over een bepaalde weerstand en de stroom die door de weerstand loopt. Wet van Ohm: Spanning = Weerstand x Stroom of V = RI Stroom en spanning zijn dus aan elkaar gekoppeld in een elementaire stroomkring. Hoe hoger de spanning, des te groter de stroom zal zijn. Links van de stroomkring bevindt zich een spanningbron. Deze zal een vast spanningverschil (hier VCC genoemd) genereren over haar klemmen. Ze houdt dit echter enkel vol voor zover de te leveren stroom niet te groot is. Bij te grote stroom zal de spanning van de spanningsbron beginnen dalen. V = RI Wet van Ohm I=V/R=5/5=1A

26 Open keten I=0A + (R= ) VCC=5V - I=V/R=5/ =0A
Een open keten is als een elementaire stroomkring, waarbij de kring “geopend” is. Hierdoor kan er uiteraard geen stroom door de kring lopen. Anders gezegd is de weerstand van de kring oneindig. Zodoende blijft de Wet van Ohm geldig voor dit uitzonderingsgeval. I=V/R=5/ =0A

27 Kortsluiting I=A + (R=0) VCC=5V - I=V/R=5/0 =  A
Een kortsluiting is als een elementaire stroomkring, waarbij de weerstand in de kring 0 Ohm is. Er is dus geen beperking op de stroomsterkte, en dus is de stroomsterkte oneindig, zoals duidelijk uit de Wet van Ohm volgt voor dit uitzonderingsgeval. In de praktijk zal de stroomsterkte beperkt blijven tot de maximale stroom die de spanningbron kan leveren. Dit noemt men de kortsluitstroom van de spanningsbron. I=V/R=5/0 =  A

28 Spanningsdeler I = 0,5A 3V R1=6  + VCC=5V - 2V R2=4 
Wanneer 2 weerstanden in serie staan, dan is de totale weerstand in de kring gelijk aan de som van deze weerstanden. De Wet van Ohm kan dus worden toegepast als V=(R1+R2)I. De spanningsval over elk van de weerstanden is proportioneel tot de grootte van elk van de weerstanden - zoals eenvoudig volgt door uitwerking van de wet van Ohm. Men spreekt daarom van een spanningsdeler. In het voorbeeld zien we dat de spanningsval over R1 gelijk is aan 3V. Immers geldt de proportie: 3V = (6Ω / 10Ω) * 5V. Totale weerstand (serie): R = 6  +4  = 10  Stroom: I = 5V/10  = 0,5 A

29 Stroomdeler I = 1,5A I1=1A I2=0,5A + VCC=5V R1=5  R2=10  -
Wanneer 2 weerstanden in parallel staan, dan is de stroomsterkte in de kring de som van de stromen door beide parallelle weerstanden (I=I1+I2). De spanningsval over beide weerstanden is gelijk (hier 5V). De Wet van Ohm kan worden toegepast om de stroomsterkte door elk van de weerstanden te berekenen (V=R1I1=R2I2). De stroomsterkte door elk van de weerstanden is omgekeerd evenredig met de grootte van elk van de weerstanden - zoals volgt door uitwerking van de wet van Ohm. Men spreekt daarom van een stroomdeler. In het voorbeeld zien we dat de stroomsterkte door R1 gelijk is aan 1A terwijl de stroomsterkte door R2 gelijk is aan 0,5A. De verdeling van de stromen is dus omgekeerd evenredig aan de sterkte van de weerstanden (R1=5Ω ; R2=10Ω). De totale weerstand R van de parallelle weerstanden kan berekend worden als 1/R=1/R1+1/R2. Deze formule kan eenvoudig afgeleid worden uit V=R1I1=R2I2 =RI. Totale stroom: 5/R = 5/R1 + 5/R2 Totale weerstand (parallel): R= 1/R1+1/R2 1

30 Vermogen I=2A + VCC=6V R=3  P=12W - P = VI = V2/R = RI2 Vermogen
Het vermogen dat wordt verbruikt in de stroomkring is het product van spanning én stroom. Door toepassing van de Wet van Ohm zien we dus dat het vermogen evenredig is met spanning in het kwadraat; of nog anders bekeken is vermogen evenredig met stroom in het kwadraat. Om het vermogenverbruik van een schakeling naar beneden te halen, is het reduceren van de spanning dus een goede maatregel. Een halvering van de voedingsspanning zal het vermogen met een factor 4 doen afnemen. De voedingsspanning verlagen kan men echter niet zomaar doen. Sommige elektronische componenten hebben een minimale spanning nodig om te blijven werken. In de praktijk is men voortdurend op zoek naar componenten die kunnen werken bij een lagere spanning. Een laag vermogenverbruik is belangrijk voor het steeds toenemend aantal apparaten dat via een batterij gevoed worden. Voor toestellen die aan het net hangen is het vermogen ook van belang omdat het vermogen (dat uiteindelijk steeds omgezet wordt in warmte) ook moet kunnen afgevoerd worden (met ventilatoren enz.). Typische vermogen zijn: 1000 Watt voor b.v. een strijkijzer, Watt voor een gloeilamp, 50 Watt voor een moderne processor. Voor mobiele processor moet het vermogen beperkt blijven tot een paar Watt. Vanaf 0,1 Watt spreekt men echt over laag vermogen. P = VI = V2/R = RI2 Vermogen

31 Relais 240V 12V primair secundair elektromechanische schakelaar
Om de logische poorten te kunnen realiseren, moeten we beschikken over een schakelmechanisme dat ons moet toelaten om b.v. de output van een invertor hoog te brengen indien de input laag is, en omgekeerd. Een relais is een elektromechanische schakelaar. Door het aan- of afschakelen van de stroom in de primaire stroomkring, kan men de secundaire kring openen of sluiten (dit gebeurt door het opwekken van een magnetisch veld die de schakelaar in de secundaire kring dichttrekt of opent). De secundaire kring kan gemakkelijk een veel sterkere stroom voeren dan de primaire kring. Een relais kan b.v. gebruikt worden om een buffer te realiseren. primair secundair elektromechanische schakelaar

32 Transistor (transfer resistor)
Bardeen, Shockley, and Brattain (1947), Bell Labs Nobelprijs: 1956 collector basis emittor De transistor werd ontdekt in Het is een schakelaar zoals het relais, maar kan in veel kleinere oppervlakte gefabriceerd worden en bevat geen “mechanische, bewegende delen”. Een transistor wordt gemaakt in halfgeleidertechnologie, en is dé basiscomponent in de digitale elektronica. Let op het symbool voor de transistor, en op de 3 aansluitingen: basis, collector en emittor. halfgeleiderschakelaar

33 De Transistor Ic Ib VCE collector basis emittor
De werking van de transistor is als volgt: een klein stroompje op de basis bepaalt de werking van de schakelaar. Als er geen stroom Ib is, dan is de schakelaar gesloten, en kan er geen stroom Ic vloeien van de collector naar de emittor, onafgezien van de spanning VCE. Een kleine stroom Ib is voldoende om de schakelaar te openen. Op de grafiek die de werking van de transistor beschrijft, zien we nog andere belangrijke effecten: Wanneer de schakelaar open is, kan er enkel stroom vloeien van collector naar emittor. Zelfs wanneer de spanningsval VCE negatief is, zal de stroom niet omkeren, maar nul zijn. Voorts (bij VCE >0) is de stroom Ic slechts voor een klein stukje evenredig met de spanning, daarna satureert de stroomsterkte. De evenredigheidsfactor (in de zin van de Wet van Ohm te interpreteren als de weerstand van de transistor) daalt bij groeiende Ib. Ook de saturatiewaarde voor Ic is hoger bij hoger Ib.

34 Elementaire transistorschakeling
Vcc=5V V (V) out 5 1k 4 3 2 10k 1 Vout Deze slide toont een elementaire transistorschakeling, met het Vin-Vout werkingsdiagram. We zien dat als de spanning Vin nul is (en er dus geen stroom loopt op de basis), Vout 5V is. Immers, zoals gezien in de vorige slide, loopt er dan geen stroom van collector naar emittor (noch over de weerstand). Wanneer de spanning Vin oploopt (en er dus stroom komt op de basis), loopt er collectorstroom door de transistor, en dus door de weerstand. Vandaar dat Vout daalt voor stijgende Vin. In het gegeven werkingsdiagram zien we ook het versterkingseffect van de transistor: een inputschommeling tussen 0,6 en 0,8V resulteert in een outputspanning tussen 2 en 4V. Hiermee wordt al een versterking van een factor 10 gerealiseerd. Dit is het basisprincipe waarop b.v. een (audio-)versterker werkt. Het kleine signaal van b.v. een microfoon of een tuner wordt versterkt tot een veel sterker signaal dat naar de luidsprekers kan gestuurd worden. Hiervoor zal het signaal in verschillende trappen moeten versterkt worden. . 2 . 4 . 6 . 8 1 1 . 2 1 . 4 Vin A B V ( V ) i n GND=0V

35 Invertorpoort Vout(V) Vout=A A A(V) Vcc Verboden zone Vcc
Indien we in de grafiek van de vorige transparant het input- en output- signaal op dezelfde schaal tekenen, dan krijgen we het bovenstaande beeld. Merk op dat het versterkingseffect slechts optreedt in een klein gebied van de input. Buiten dit gebied staat de transistor helemaal open of dicht. Merk bovendien op dat in dit gebied de versterker inverteert: hoe groter het inputsignaal, hoe kleiner het outputsignaal. Indien we deze schakeling nu gebruiken als ‘digitale versterker’ dan zal 0 V omgezet worden in VCC en en zal VCC omgezet worden in 0V. In de digitale logica zal men 0V interpreteren als logische 0 en VCC als logische 1. De spanningen tussen 0V en VCC hebben dan geen logische betekenis, en behoren tot de verboden zone. In de praktijk kan men het verband tussen spanning en logica niet zo strikt nemen, en zal men bv. werken met volgende gebieden: [0V..0,4V] = 0 en [2V..5V] = 1. Het gebied tussen 0,4V en 2V noemt men dan de verboden zone, omdat deze spanningswaarden geen logische betekenis hebben in de digitale schakeling. De precieze relatie tussen spanning en logica is afhankelijk van de technologische implementatie. Tegenwoordig heeft men reeds schakelingen die met een VCC van 1 V en minder werken. Dit heeft natuurlijk gevolgen voor de plaats en grootte van de verboden zone.

36 Nand-poort Vout=AB A A B AB B 0 0 1 0 1 1 1 0 1 1 1 0 Vcc
Deze slide toont een eenvoudige transistorschakeling voor de realisatie van een NAND-poort. Immers, enkel als zowel A als B onder spanning staan (logische 1) en dus basisstroom voeren, is er een mogelijkheid om stroom van Vcc naar de grond te laten stromen. Door de spanningsval over de weerstand tussen Vcc en Vout, zal Vout dan laag staan (logische 0). Dit gedrag komt dus exact overeen met dat van een NAND-poort. B

37 Nor-poort Vout=A+B A B A B A+B 0 0 1 0 1 0 1 0 0 1 1 0 Vcc
Deze slide toont een eenvoudige transistorschakeling voor de realisatie van een NOR-poort. Immers, enkel als zowel A als B zonder spanning staan (logische 0) en dus geen basisstroom voeren, zal er geen stroom van Vcc naar de grond kunnen stromen, waardoor Vcc en Vout op dezelfde waarde staan (logische 1). Dit gedrag komt dus exact overeen met dat van een NOR-poort.

38 Tijdsgedrag van poortjes
F A B B A B A+B F Een poort voert een bepaalde logische operatie uit, bv. een NOR operatie. Er is echter altijd een zekere tijd nodig alvorens de uitgang van een poort de correcte waarde aanneemt in functie van de ingang, na een verandering aan de ingang. Net zoals alle fysieke verschijnselen hebben ook elektrische signalen aan een eindige snelheid en hebben zij dus een zekere snelheid nodig om zich door een schakeling te propageren. Nadat de ingangswaarden wisselen van (A,B)=(0,0) naar (1,0) moet de uitgang veranderen van 1 naar 0. De correcte uitgangswaarde wordt gevormd met een vertraging  (ook propagatietijd of poortvertraging genoemd). Deze vertraging kan soms onaangename gevolgen hebben. 

39 Glitch A F A A A F 0 0 1 0 A F Pulsgenerator!
A A Deze slide toont de mogelijke gevaren van de propagatietijd van de poorten. De getoonde schakeling berekent F = A EN NIET-A. Logischerwijs is F=0 onder alle omstandigheden. De uitgang van de schakeling kan echter soms een glitch vertonen: een ongewenste toestand of uitgang, veroorzaakt door het tijdsgedrag van de poorten. In dit voorbeeld kan zich een glitch voordoen wanneer A wisselt van 0 naar 1. Wanneer de AND poort voldoende snel reageert, kan er een korte puls optreden aan de uitgang, omdat gedurende een korte tijd, beide ingangen van de AND poort op 1 staan. Deze schakeling kan eventueel als pulsgenerator gebruikt worden - als men het “ongewenst” gedrag als “gewenste functionaliteit” wenst. F Pulsgenerator!

40 Tri-state F A C F C A F 0 0 0 0 1 1 1 0  1 1  A C C A F 0 0  0 1 
A C C A F Een tri-state-buffer gedraagt zich als een normale buffer, zoals we die eerder zagen. Het verschil is de extra controle-ingang die toelaat de buffer af te koppelen. Zodoende zijn er 3 uitgangswaarden: 0, 1 of afgekoppeld. In de afgekoppelde toestand is de uitgang elektrisch afgekoppeld, en is er geen uitgangswaarde; het uitgangssignaal is afwezig. In elektrische termen zegt men dat de uitgang hoog-impedant is. De tri-state-buffer bestaat typisch in 2 versies: met direct controle (links op de slide) en geïnverteerde controle (rechts). Een elektrisch afgekoppelde uitgang is verschillend van een uitgang die 0 produceert, in de zin dat de elektrisch afgekoppelde uitgang zich gedraagt alsof er geen uitgangsverbinding is, terwijl een logische 0- uitgang nog steeds elektrisch verbonden is aan het circuit. “elektrisch afkoppelen”

41 Voorbeeld A F B Vermijden van kortsluiting! C
De tri-state buffers laten toe de uitgangen van een aantal logische poorten aan te sluiten aan een gemeenschappelijke lijn (bus), zonder elektrische kortsluitingen te riskeren, zolang er slechts 1 buffer tegelijk is aangesloten. Dit wordt in de slide geïllustreerd: A en B zijn als ingang verbonden aan de bus waarvan F de uitgang is. Een complementair controlesignaal zorgt ervoor dat er steeds slechts 1 van de 2 buffers is aangeschakeld. Mochten de beide uitgangen elektrisch aan elkaar gekoppeld worden, dan zou zelfs een klein verschil in uitgangsspanning een grote stroom kunnen doen vloeien in de verbindingsdraad (die als geleider een zeer lage weerstand heeft). Dergelijke grote stromen kunnen de schakeling beschadigen en moeten dus vermeden worden. C

42 Connecties Connectie Geen connectie
Deze slide illustreert hoe in een tekening wordt aangeduid of er al dan niet een connectie bestaat tussen 2 draden. Twee draden die gewoon kruisen (of als er een bruggetje is getekend), zijn niet geconnecteerd (rechts). Als de kruising tussen 2 draden is gemerkt met een bolletje, of als het een T-kruising betreft, dan zijn de draden wel geconnecteerd.

43 Overzicht Logische poorten Elementaire elektronica
Combinatorische schakelingen Sequentiële logica Technologie Combinatorische schakelingen combineren een aantal ingangen in een aantal uitgangen, volgens een bepaalde functie. De uitgangen zijn strikte functies van de ingangen, en de uitgangen worden onmiddellijk (d.w.z. na de propagatietijd) aangepast na een wijziging aan de ingangen. Er is géén feedback van de uitgangen naar de ingangen.

44 Realisatie van boolese functies
A B C F A B C ABC ABC ABC ABC F Een meer ingewikkelde boolese functie implementeren in digitale logica, kan vrij eenvoudig via de som van producten. Een som van producten implementatie is (zoals de naam al aangeeft), het OR-en van een aantal AND-resultaten. Men kan de producten in deze som gemakkelijk halen uit de waarheidstabel. Voor elke rij in de waarheidstabel die als resultaat 1 heeft, stelt men de minterm op. Een minterm is een productterm die elke variabele precies een keer bevat (direct of gecomplementeerd; vb. de minterm voor de rij (A,B,C)=(1,0,1) is A(NIET-B)C). De som van alle mintermen levert een algebraïsche vorm op, die ook snel in digitale logica kan geïmplementeerd worden, met NIET-poorten, multi-input-EN- poorten en multi-input-OF-poorten. Noot: de waarheidstabel van een minterm heeft slechts één rij met resultaat 1. Dus, slechts één inputcombinatie per minterm maakt de functie waar. F = ABC + ABC + ABC + ABC som van producten (mintermen)

45 Realisatie van boolese functies
A B C F F’ = ABC + ABC + ABC + ABC F = ABC + ABC + ABC + ABC De Morgan F = (ABC)(ABC)(ABC)(ABC) De Morgan & dubbele negatie Een boolese functie kan evenzo geconstrueerd worden als een product van sommen. Een product van sommen implementatie is (zoals de naam al zegt), het AND-en van een aantal OR-resultaten. Men kan de sommen in dit product gemakkelijk halen uit de waarheidstabel, of uit het eerder besproken product van sommen. Vertrekt men van de complementaire sommen (ttz. men noteert de mintermen voor de rijen in de waarheidstabel die als resultaat 0 hebben) dan hebben we NIET-F voorgesteld. Door toepassing van de Wet van De Morgan zoals getoond in de slide, komt men al snel bij het product van sommen. De sommen die we vinden, zijn maxtermen. Een maxterm is een som waarin elke variabele precies een keer voorkomt. De maxterm voor de rij (A,B,C)=(1,0,0) is (NIET-A)+B+C. Noot: de waarheidstabel van een maxterm heeft slechts één rij met resultaat 0. Dus, slechts één inputcombinatie per maxterm maakt de functie vals. F = (A+B+C)(A+B+C)(A+B+C)(A+B+C) product van sommen (maxtermen)

46 Realisatie van boolese functies
A B C F A B C A+B+C A+B+C F A+B+C A+B+C Deze slide illustreert wat reeds werd besproken bij de vorige slide: het product van sommen kan gemakkelijk in digitale logica geïmplementeerd worden, met NIET-poorten, multi-input-OF-poorten en multi-input-EN- poorten. De keuze tussen een implementatie aan de hand van product van sommen, dan wel via som van producten, kan men maken door de complexiteit van de 2 implementaties te vergelijken. F = (A+B+C)(A+B+C)(A+B+C)(A+B+C) product van sommen (maxtermen)

47 Minimalisatie Een realisatie als som van producten of product van sommen is vaak niet optimaal. F = ABC + ABC + ABC + ABC F = ABC + BAC + ABC + BAC F = ABC + ABC + BAC + BAC F = (A+A)BC + (B+B)AC Een realisatie als som van producten of product van sommen kan vaak onnodig complex zijn. Het voorbeeld van deze slide illustreert dat men door algebraïsche uitwerking soms tot veel eenvoudiger algebraïsche termen kan komen. Het proces van minimalisatie gaat op zoek naar de eenvoudigste implementatievorm. F = 1BC + 1AC F = BC + AC

48 Minimale realisatie A C F B A B C BC F AC
Deze slide toont de minimale realisatie (links) met behulp van NOT/AND/OR poorten. Rechts wordt een nog eenvoudigere realisatie voorgesteld die gebruik maakt van tri-state-buffers.

49 Complexiteit van realisatie
Aantal poortjes: 8 (4) Aantal inputs: 19 (7) Maximale fan-out: 4 (2) Maximale fan-in: 4 (2) De complexiteit van een realisatie kan kwantitatief uitgedrukt worden door een telling van het totaal aantal poorten, het totaal aantal inputs, de maximale fan-out (aantal uitgaande verbindingen) en maximale fan-in (aantal inkomende verbindingen). De nummers in de slide geven de vergelijking tussen de som-van- producten-realisatie en de minimale realisatie. We zien duidelijk een belangrijk verschil in de complexiteit van beide realisaties. Fan in Fan out

50 Computationele compleetheid
Een willekeurige combinatorische functie kan gerealiseerd worden met slechts 3 poortjes: and, or, not. Niet alle poorten die tot hiertoe werden besproken, zijn nodig om een willekeurige combinatorische functie te implementeren (= computationele compleetheid). Bijvoorbeeld de set {AND, OR, NOT} is computationeel compleet. Ook {NAND} en {NOR} zijn computationeel complete sets.

51 Computationele compleetheid
Deze slide toont hoe met een NAND poort zowel NOT, OR en AND kunnen geïmplementeerd worden, wat aantoont dat ook NAND computationeel compleet is. nand (en nor) is ook computationeel compleet!

52 Computationele compleetheid
B C A B C F F Door in de realisatie van een boolese functie als som van mintermen de AND-poortjes en het OR-poortje te vervangen door hun NAND-realisatie, en de dubbele invertors weg te laten, krijgt men de realisatie aan de hand van louter NAND-poortjes.

53 Digitale componenten Multiplexer Demultiplexer Decoder
Prioriteitsencoder Hoog-niveau digitale circuits worden normaal opgebouwd gebruik makende van een “componenten”, eerder dan van individuele poorten. Componenten zijn verzamelingen van poorten met een specifiek en vaak gebruikt gedrag. Verderop bespreken we de multiplexer, demultiplexer, decoder en prioriteitsencoder.

54 Multiplexer D0 D1 F D2 D3 A B F 0 0 D0 0 1 D1 1 0 D2 1 1 D3 A B
Een multiplexer (MUX) is een component die een aantal ingangen omzet tot één enkele uitgang. De figuur in de slide toont een 4-naar-1 MUX en de bijhorende waarheidstabel. De uitgang F neemt de waarde van de data-ingang die wordt geselecteerd door de controlelijnen A en B. Men kan multiplexers gebruiken om boolese functies te implementeren: door de inputs aan te leggen aan de controlelijnen, en de resultaten uit de waarheidstabel (als constanten) aan te leggen aan de data-ingangen, bekomt men op eenvoudige wijze de functie-implementatie. Hoewel deze vorm van implementatie vaak niet de meest efficiënte is, wordt ze toch vaak gebruikt, omwille van de eenvoud en algemeenheid. A B

55 Demultiplexer F0 D F1 F2 A B F0 F1 F2 F3 0 0 D 0 0 0 0 1 0 D 0 0
Een demultiplexer (DEMUX) maakt de omgekeerde bewerking van de MUX: één dataingang wordt, gestuurd door controle-ingangen, doorgegeven aan een van de data-uitgangen. De figuur in de slide toont een 1-naar-4 DEMUX en de bijhorende waarheidstabel. Een toepassing voor de DEMUX is het zenden van data van een enkele bron naar één bestemming uit een groep van mogelijke bestemmingen. A B

56 Decoder F0 A F1 B F2 F3 A B F0 F1 F2 F3 Een decoder vertaalt een “code” in een spatiale locatie. Steeds is er één uitgang van de decoder gelijk aan 1, de andere zijn 0. Welke uitgang op 1 staat, wordt aangegeven door de (code aan) de ingang. Zie ook de waarheidstabel die het gedrag illustreert, voor een 2-naar-4 decoder. Merk ook de gelijkenis tussen de decoder met (A,B) als ingang en een DEMUX met (A,B) als controle en een constante 1 als data-ingang. Een decoder kan bv. gebruikt worden om andere circuits aan te sturen. Ook kan een decoder gebruikt worden om een boolese functie te genereren. Dit kan door de logische OR operatie uit te voeren op die uitgangen van de decoder die overeenkomen met de mintermen van de functie die 1 als resultaat geven.

57 Prioriteitsencoder A0 A1 A2 A3 F0 F1 0 0 0 0 0 0 0 0 0 1 1 1 A0
A0 F0 A1 A2 F1 A3 Een encoder vertaalt een aantal inputs in een binaire codering, en kan gezien worden als de inverse van de decoder. Een prioriteitsencoder is een bepaald type encoder, dat een rangorde of prioriteit oplegt aan de ingangen. De uitgang geeft de “code” weer van de ingang met hoogste prioriteit, die is aangeschakeld. De slide geeft het voorbeeld van een 4-naar-2 prioriteitsencoder. In dit voorbeeld heeft ingang Ai voorrang over Ai+1. De 2-bit uitgang geeft de binaire waarde van i als Ai de ingang is met hoogste prioriteit die is aangeschakeld. Wanneer geen enkele ingang is aangeschakeld, gedraagt de encoder zich alsof A0 is aangeschakeld. Prioriteitsencoders worden gebruikt om te arbitreren tussen een aantal apparaten die alle van een bepaald apparaat willen gebruik maken.

58 Overzicht Logische poorten Elementaire elektronica
Combinatorische schakelingen Sequentiële logica Technologie

59 Sequentiële logica i0 f0 … … Combinatorische ik functie fm … klok
D0 Q0 s0 Dn Qn sn Sequentiële logica werkt anders dan de combinatorische schakelingen die een pure functie uitvoeren van ingang naar uitgang. Sequentiële logica, ook wel “finite state machine” (eindige- toestandsautomaat) genoemd, neemt een ingang en huidige toestand, en vertaalt die (via een combinatorische functie) in een uitgang en nieuwe toestand. De geschiedenis van de ingangen bepaalt mee de toestand en de uitgang. De slide toont het klassieke model van een eindige-toestandsautomaat. De combinatorische functie vertaalt de (externe) ingangsbits i0-ik, samen met de (interne) toestandbits s0-sn, in nieuwe toestandsbits en in uitgangsbits f0-fm. Een speciale component bewaart de output van de combinatorische functie, en geeft deze op het gepaste ogenblik (aangegeven door de klok) door aan de input van het combinatorisch circuit. Mocht dit vertragings- en geheugenelement niet aanwezig zijn dat zou de output meteen teruggekoppeld worden naar de input waardoor een mogelijk onstabiele situatie zou ontstaan.

60 S-R Flip-Flop S Q S R Q R Q Q  A B A+B 0 0 1 0 1 0 1 0 0 1 1 0
Algemeen: een flip-flop is een collectie van logische poorten die een stabiele uitgang kan bewaren zonder dat de ingangen actief moeten zijn. De uitgang van een flip-flop wordt bepaald door de huidige ingangen en de geschiedenis van ingangen. Een combinatorische schakeling kan dus geen flip-flopwerking hebben. Een flip-flop kan gebruikt worden om één enkele informatiebit op te slaan, en dient dus als bouwblok voor computergeheugen. De werking van de S-R flip-flop wordt in de slide uitgelegd. Wanneer zowel S als R inactief zijn (0), dan bewaren deze 2 kruisgekoppelde NOR-poorten de huidige uitgangen Q en NIET-Q, wat die ook zijn. Stel dat Q=0, R=S=0. Gaat nu S (Set) naar 1, dan gaat het signaal NIET- Q na een vertraging  omschakelen naar 0. Na nog eens  zal dan het signaal Q omschakelen naar 1. Nu kan S terug op 0 gebracht worden, en de flip-flop bewaart de nieuwe situatie aan de uitgangen. Vanuit de situatie Q=1, R=S=0, kunnen we terug naar de oorspronkelijke situatie, door een 1-puls te geven op R (Reset) die langer dan 2 duurt - zie de slide. De situatie waarbij R=S=1 is niet toegelaten, omdat dit geen zinnig gedrag is voor de flip-flop. Beide uitgangen zullen dan op 0 staan. A B A+B Q

61 S-R Flip-Flop Qt S R Qt+1 S 0 0 0 0 Q 0 0 1 0 0 1 0 1 0 1 1 - 1 0 0 1
Q Q De slide toont de waarheidstabel van deze S-R flip-flop. Voor de huidige toestand Q, en ingangen S en R, wordt aangegeven wat de nieuwe toestand en uitgang Q zal zijn (S: Set, R: Reset). R

62 Geklokte S-R Flip-Flop
Q clk Q Wanneer S en R afkomstig zijn uit een ander en ingewikkeld circuit, is het mogelijk dat er een aantal ongewenste overgangen gebeuren op S of R, alvorens die de correcte waarde innemen corresponderend bij de ingangen van dat circuit. Het fenomeen van glitches werd reeds eerder besproken. Wanneer een glitch lang genoeg zou duren om de waarde van Q om te keren, wordt de werking van de flip-flop verstoord. Daarom kan men een klok toevoegen aan de S-R flip-flop, om ervoor te zorgen dat de veranderingen aan de bewaarde bit enkel kunnen gebeuren op een moment dat S en R correct en stabiel zijn. Dat doet men door ervoor te zorgen dat S en R correct en stabiel zijn telkens de klok op 1 staat. Het klokcircuit produceert een continue stroom van 1’en en 0’en, en het symbool is een blokvorm zoals aangeduid in de figuur. De tijd tussen 2 opgaande klokflanken noemt men de cyclustijd. De kloksnelheid is de inverse van de cyclustijd. R

63 D Flip-Flop D Q clk Q D Q C Q
Een nadeel van de S-R flip-flop is dat om een 1 of een 0 te bewaren in de flip-flop, men een 1 moet aanleggen aan een verschillende ingangslijn (S of R). Een alternatieve configuratie is de D flip-flop, waarbij een 1 of 0 wordt aangelegd aan een enkele input. De D flip-flop wordt geïllustreerd in de slide, en is eigenlijk niets meer dan een geklokte S-R flipflop waarbij S=D en R=NIET-D. Wanneer de klok omhoog gaat, wordt de waarde van D bewaard in de flip-flop. Rechts onder in de slide is het symbool weergegeven van de geklokte D flip-flop. D Q C Q

64 Sequentiële logica i0 f0 … … Combinatorische ik functie fm … klok
D0 Q0 s0 Dn Qn sn Een D flip-flop wordt vaak gebruikt in situaties waar er feedback is van een uitgang van een circuit naar een ingang. Deze feedback kan er soms voor zorgen dat de flip-flop meer dan een keer per klokcyclus van toestand verandert. Zolang de klok hoog staat volgt de output immers de input. Om er zeker van te zijn dat de flip-flop slechts een keer per klokpuls van toestand verandert, gebruiken we geen gewone D flip-flop, maar een master-slave flip-flop. … zie verder …

65 Master-Slave Flip-Flop
D Q D Q C Q C Q … vervolg van vorige slide … Een master-slave flip-flop bestaat uit 2 D flip-flops in tandem, waarbij de 2e de geïnverteerde klok van de eerste gebruikt. De master flip-flop verandert zijn toestand wanneer de klok hoog is, maar de slave flip-flop verandert pas wanneer de klok laag is. Zodoende is de data-ingang van de slave-flip-flop gegarandeerd stabiel! De klok moet dus eerst hoog gaan en dan laag, alvorens de master-ingang D wordt opgeslagen in de slave flip-flop en als Qslave aan de uitgang van de master-slave flip-flop verschijnt. In dit geval zal de tweede flip-flop de waarde Q weergeven op het ogenblik van de dalende flank van de klok. Rechtsonder staat het symbool van de master-slave flip-flop. Het driehoekje duidt aan dat transities aan de uitgang enkel gebeuren bij stijgende of dalende klokflanken, afhankelijk van de configuratie (in dit voorbeeld bij dalende klokflank). Terminologie: men spreekt over level-triggered flip-flops (wijzigen toestand terwijl de klok hoog, of laag, is – afhankelijk van de configuratie) en edge-triggered flip-flops (verandert toestand tijdens een kloktransitie: hoog-laag of laag-hoog, afhankelijk van de configuratie). D Q Q

66 J-K Flip-Flop J Q K Q Qt J K Qt+1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 J
J Q clk Een J-K flip-flop is zeer gelijkaardig aan de geklokte S-R flip-flop. Wanneer we beide circuits vergelijken, zien we dat het enig verschil zit in de terugkoppeling van NIET-Q en Q naar de AND-poorten waar J (≈S) en K (≈R) met de klok gecombineerd worden. De J-K flip-flop heeft dan ook een gedrag dat gelijkaardig is aan de S-R flip-flop, met dat verschil dat wanneer J=K=1, de toestand van de flip-flop omslaat (toggle). Er is echter een probleem met dit toggle-gedrag. Wanneer J=K=1 en de klok is hoog, dan kan het dat de flip-flop meer dan één keer omslaat alvorens de klok laag gaat. Ook in deze situatie is een master-slave configuratie een oplossing. Dit kan bv. door een invers-geklokte S-R flip- flop als slave aan te sluiten op de J-K flip-flop. Q K

67 Q T T Flip-Flop 1 Q clk Q Een T flip-flop (T voor toggle) is als een J-K flip-flop waarbij J=K=1. 1

68 Overzicht Logische poorten Elementaire elektronica
Combinatorische schakelingen Sequentiële logica Technologie

69 Technologie: wafer Een wafer is een platte siliciumplaat waarin de halfgeleidercircuits of chips worden gefabriceerd. Per plaat kunnen enkele tot vele tientallen circuits (elke individueel circuit op de wafer noemt men “die”) gefabriceerd worden. Een wafer is typisch 8 tot 12 duim groot.

70 Technologie: die Een die is het volledige elektronische circuit dat in halfgeleidertechnologie wordt gefabriceerd. Het wordt uit de wafer waarin het werd gemaakt, uitgesneden, en dan in een chipverpakking gestoken.

71 Technologie: transistor
Via bijzondere technieken worden vele miljoenen miniem kleine transistors op het siliciumoppervlak aangebracht. Via bijkomende metaallagen (b.v. 6) worden de verbindingen tussen de transistors tot stand gebracht. De typische grootte van een transistor is op dit ogenblik 0,13 micron.

72 Deze slide toont de historische groei van het aantal transistors per chip (ttz. computerprocessors). Deze groei is duidelijk exponentieel, en houdt verband met de wet van Moore. Deze wet stelt dat de capaciteit (gemeten als aantal transistors/oppervlakte) van de halfgeleidertechnologie verdubbelt per 18 maanden.

73 Processor Specificaties
Product Pentium III AMD Athlon HP 8600 Proces m m m Klok Mhz Mhz Mhz Die mm mm mm2 Transistors 24 miljoen 22 miljoen miljn Vermogen Watt Watt Watt Deze slide toont een overzicht van enkele vrij recente processors. Het proces geeft aan in welke “generatie” van halfgeleidertechnologie de processor gemaakt is. Voortdurend maakt men de transistors in het silicium kleiner en kleiner. De hier gegeven maat geeft de typische grootte weer van de transistor. De kloksnelheid voor moderne processors stijgt elk jaar, ligt momenteel tussen de 0,5 en 2 GHz. De grootte van de die kan men niet zomaar laten groeien, omdat die een grote invloed heeft op de kost van de processor, en de risico’s in het fabricageproces. We zagen al eerder dat het aantal transistors zeer sterk groeit bij nieuwe processorgeneraties. Dit komt onder andere door het integreren van allerhande geheugens (vnl. cache), en ook extra complexiteit, op de processor. Het vermogen van processors hangt af van het design - het minimaliseren van vermogen is in bepaalde omstandigheden een designparameter. Men kan het vermogen ook niet zomaar laten toenemen, wegens de warmte-ontwikkeling die ermee gepaard gaat in de chip!


Download ppt "Les 3: Digitale Logica."

Verwante presentaties


Ads door Google