Digitaal Ontwerp: Mogelijke Examenvragen 1.X) G-complement-methode Negatief getal voorgesteld door “g-complement” van positieve getal met dezelfde modulus. Uit eigenschap: Som van een negatief getal en positief getal met dezelfde grootte is gelijk aan 0. Definitie: − X X = g n => vb. − X = g n− X grondtal 10, 4 cijfers. Positieve getallen van 1 tot 4999 Negatieve getallen van 9999 tot 5000 X =1234 => − X =10 000 – 1234=8766 grondtal 2, 8 bits Positieve getallen van 0000 0001 (+1) tot 0111 1111 (+127) Negatieve getallen van 1111 1111 (-1) tot 1000 0000 (-128) X =0011 0101 => − X =1 00000000 – 00110101=1100 1011 Algemeen: voor getallen van n bits in “two's complement”-voorstelling: −2 n−1 X 2 n−1 −1 “G-complement” van een getal kan gemakkelijk berekend worden door gebruik te maken van het “(g-1)-complement” g n = g n – 1 −1 Negatieve getallen dus: − X =[ g n – 1 – X ]1 -> g-1 complement van X vb. X =1234 => => X =00110101 9-complement: 10-complement: 8765 8766=− X one's-complement: two's-complement: 1100 1010 1100 1011 1.XX) Floating-point voorstelling -> Reële getallen voorstellen met een groot bereik: veel cijfers voor en na de komma. -> Precisie wordt bepaald door het aantal significante cijfers. 1.XX.1) Principe (binair) Digitaal Ontwerp – Mogelijke Examenvragen (1/23) Om alle bits zo nuttig mogelijk te gebruiken -> vlottende komma (floating point) x= M . 2 E M: Matisse -> vorm: E: Exponent 0,1... 1.XX.2) Praktische werkwijze (binair) Gebruik van volgend formaat in meeste 32bit computers: (verondersteld 1ste bit na komma altijd 1, daarom niet meegeteld) 0 1 .................. 8 9.......................................................31 S exponent E mantisse M exponent E kan zowel negatief als positief zijn: -128 tot 127 (1 bit voor het teken) mantisse M 23 bits + hiddenbit = 24 bits -> eerste cijfer na de komma is steeds 1 en hoeft niet gecodeerd te worden (hiddenbit) Volgende getallen voor te stellen: Negatieve: Positieve: −1−2−24 . 2 127 en −0,5 . 2−128 0,5 . 2−128 en 1−2− 24 .2 127 Toch 5 getallenbereiken niet te coderen: −24 - negatieve getallen met absolute waarde kleiner dan −1−2 .2 negatieve overflow − 24 127 - positieve getallen groter dan 1−2 .2 positieve overflow - getal 0 -> meeste vormen hebben specifieke code voor 0 - negatieve getallen groter dan −0,5.2−128 negatieve underflow - positieve getallen kleiner dan 0,5.2−128 positieve underflow 127 Floating-point enkel in gearceerde vlakken: −1−2−24 .2 127 −0,5 . 2−128 0 0,5 . 2−128 1−2− 24 .2127 1.XX.3) Principe (decimaal) n= f . 10e f: Matisse e: Exponent -> vorm: 0,1... ( na de komma een beduidend cijfer) -> grootste absolute waarde = -> kleinste absolute waarde = Digitaal Ontwerp – Mogelijke Examenvragen 0,999.10 99 0,1.10−99 (2/23) 1.XXX) De IEEE 754 Standaard Ontstaan in 1985 - 32-bit voorstelling = enkelvoudige precisie - 64-bit voorstelling = dubbele precisie - Genormaliseerde getallen: - Tekenbit - Exponent (8 of 11 bits) - Mantisse -> significand (23 of 52 bits): 1,bbb...b (hiddenbit = 1 voor komma) - Exponent in enkelvoudige precisie: 127-teveel voorstelling: -126 tit +127 - Exponent in dubbele precisie: 1023-teveel voorstelling: -1022 tot +1023 - Exponent-codes 0 en 255 (resp. 2047) worden niet gebruikt voor genormaliseerde getallen. - Gedenormaliseerde getallen worden gekenmerkt door allemaal nullen in het exponent-veld. Met de 23 (resp. 52) bits van de significant wordt het getal voorgesteld: 0, bbb...b . 2−126 (resp.: 0, bbb...b . 2−1022 ) - Kleinste genormaliseerd getal: 1,000...0 . 2−1022 1,000...0 . 2−126 Hexadecimaal geschreven: 0|00000001|00000000000000000000000 -> 00800000H - Grootste genormaliseerd getal: 1,111...1. 2 127 0|11111110|11111111111111111111111 -> 7F7FFFFFH - Grootste gedenormaliseerd getal: 0,111...1 . 2−126 0,111. ..1. 2−1022 −126 0,111...1 . 2 0|00000000|11111111111111111111111 -> 007FFFFFH - Kleinste gedenormaliseerd getal: 0,000...00001 . 2−126= 2−149 0,000. ..00001 . 2−1022 =2−1074 2−149 0|00000000|00000000000000000000001 -> 00000001H - Getal nul = tekenbit 0 of 1, exponentveld 0, significantveld 0 - Oneindig = tekenbit 0 of 1, exponentveld 255 (2047), significantveld 0 - Not a number = tekenbit 0 of 1, exponentveld 255 (2047), significantveld ≠ 0 -> Oefeningen zie slide 4 cursus. Digitaal Ontwerp – Mogelijke Examenvragen (3/23) 3.10) Logic Gate Waveform Generator (Johnson shift counter) Door gebruik maken van: - Basis poorten - Clock oscillator - Herhalende golfvorm generator -> Kunnen we speciale golfvormen creëren voor digitale controle en sequentiele cirquits. Een populaire in veel toepassingen gebruikte herhalende golfvorm generator is de: Johnson shift counter 13.5.2) Johnson Shift Counter Operation -> Automatische reset van de 4 flip-flops De uitgang is gekruist teruggekoppeld naar de ingang. Digitaal Ontwerp – Mogelijke Examenvragen (4/23) 13.6) VHDL Description of Shift Registers - Zeer flexibel voor het ontwerpen van shift registers - shift-links of shift-rechts - synchroon of asynchroon parallel laden - circuleren van databits VHDL-code Serial-in shift-right shift register: LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY shift_a IS PORT( n_cp, ser_data q END shift_a; : IN std_logic; : OUT std_logic_vector (3 DOWNTO 0)); ARCHITECTURE arc OF shift_a IS SIGNAL reg : std_logic_vector (3 DOWNTO 0); BEGIN PROCESS (n_cp) BEGIN IF (n_cp'EVENT AND n_cp='0') THEN reg(3) <= ser_data; reg(2) <= reg(3); reg(1) <= reg(2); reg(0) <= reg(1); END IF; q<=reg; END PROCESS; END arc; VHDL-code Parallel-load shift-right shift register: LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY shift_b IS PORT( n_cp, pl par_data q END shift_b; : IN std_logic; : IN std_logic_vector (3 DOWNTO 0); : OUT std_logic_vector (3 DOWNTO 0)); ARCHITECTURE arc OF shift_b IS SIGNAL reg : std_logic_vector (3 DOWNTO 0); Digitaal Ontwerp – Mogelijke Examenvragen (5/23) BEGIN PROCESS (n_cp, pl) BEGIN IF (pl='1') THEN reg <= par_data; ELSIF (n_cp'EVENT AND n_cp='0') THEN reg(3) <= '0'; reg(2) <= reg(3); reg(1) <= reg(2); reg(0) <= reg(1); END IF; q <= reg; END PROCESS; END arc; 6.5) CPLD Design Applications with VHDL CPLD Parallel Binary Comparator: VHDL code: LIBARY ieee; USE ieee.std_logic_1164.ALL; ENTITY parallel_binary_comparator IS PORT( A : IN std_logic_vector (3 DOWNTO 0); B : IN std_logic_vector (3 DOWNTO 0); W : OUT std_logic); END parallel_binary_comparator; ARCHITECTURE arc OF parallel_binary_comparator IS BEGIN w<=(A(0) XNOR B(0)) AND (A(1) XNOR B(1)) AND (A(2) XNOR B(2)) AND (A(3) XNOR B(3)); END arc; Info: Om deze vergelijker van bitstrengen te ontwerpen maken we gebruik van vectors, hiermee kan 1 bitstrengt van x binaire waarde in 1 keer vergeleken worden. Digitaal Ontwerp – Mogelijke Examenvragen (6/23) CPLD Controlled Inverter: VHDL-code: LIBARY ieee; USE ieee.std_logic_1164.ALL; ENTITY controlled_inverter IS PORT( C : IN std_logic; A : std_logic_vector (3 DOWNTO 0); X : std_logic_vector (3 DOWNTO 0)); END controlled_inverter; ARCHITECTURE arc OF controlled_inverter IS BEGIN PROCESS (c,d) BEGIN FOR i IN 3 DOWNTO 0 LOOP X(i)<=A(i) XOR C; END LOOP; END PROCESS; END arc; Info: Hier is gebruik gemaakt van een for-loop om de controles uit te voeren, de output zorgt voor het inverse van de ingegeven bitstrengt. 8.6.2) Conversie van BCD naar Binary met 74184 – EX Hardware uitvoering van BCD-naar-binair converter is de 74184. -> 8 actief HOOG uitgangen Y 1 tot Y 5 voor gewone BCD naar binair conversie Y 6 tot Y 8 voor speciale BCD code, nine's en ten's complement. -> 5 actief HOOG ingangen HOOG, alle uitgangen HOOG -> 1 actief LAAG is een enable input. G Digitaal Ontwerp – Mogelijke Examenvragen (7/23) 6-bit BCD-converter: -> LSB van BCD is altijd gelijk aan LSB van binair. -> Gewichten: A=2 B=4 C=8 D = 10 E = 20 -> Er zijn slechts 2 MSD BCD ingangen beschikbaar, de grootste BCD ingang is 3 (11). Meer gangbare configuraties om volledige BCD getallen om te vormen zijn te vinden in volgende schema's (a) en (b). De 74185 is ontworpen om in de omgekeerde zin te werken binair-naar-BCD conversie (c) en (d). Digitaal Ontwerp – Mogelijke Examenvragen (8/23) vb. p.332 -> ZEKER bekijken 11.1) Flip-Flop Time Parameters – mogelijke EX Een J-K Flip-Flop met zijn timing analyse. De golfvorm voor J en Cp kan problemen geven, er treden race condities op. Een raceconditie treedt op wanneer een getriggerd apparaat zoals een flip-flop zijn ingang gelijktijdig verandert met de actieve flank van de klok. -> Als ze gelijktijdig wijzigen, wat is de waarde van J bij de negatieve flank Digitaal Ontwerp – Mogelijke Examenvragen (9/23) van de klok? -> Er is dus een onbepaalde toestand voor Q -> In H10 is gesproken over de setup tijd. In de datasheet van het betreffende IC, zijn de ac golfvormen (ac waveforms) te vinden die de meetpunten weergeven voor de varierende tijdsparameters. -> De eigenlijke overgang vindt plaats bij de overgang op 1,3 V Setup tijd t s L=20ns , voor een juiste interpretatie van J of K moet deze meer of minder zijn dan 1.3V 20ns voor de actieve klok overgang. -> Dit geldt niet alleen voor de ingangen, ook de uitgangen moeten een bepaalde tijd vastgehouden worden. Hold tijd t h L & t h H -> Deze kan ook 0ns zijn. De vertraging tussen ingang en uitgang wordt propagation delay genoemd. t PLH & t PHL -> indexen gaan over Q -> Verschil tussen synchrone & asynchrone ingangen. -> Deze worden gemeten van de klok triggering tot de uitgang. Digitaal Ontwerp – Mogelijke Examenvragen (10/23) vb. Maximum frequentie: f max -> Frequenties hoger dan dezen zullen onvoorspelbare resultaten veroorzaken. Klokpuls minimum breedte LAAG: t w L -> Deze moet een bepaalde tijd LAAG zijn voor vertrouwbare resultaten Klokpuls mimumum breedte HOOG: t w H -> Deze moet een bepaalde tijd HOOG zijn voor vertrouwbare resultaten Set or Reset mimimum breedte LAAG: t w L -> Deze moet een bepaalde tijd LAAG zijn aan de Set SD of Reset RD . => Als aan deze specificaties niet voldaan is, kan de flip-flop in een metastabiele toestand geraken. -> De uitgang Q zal een ongeldige waarde hebben voor een korte tijd, en zal daarna stabiliseren naar HOOG of LAAG. vbn. zie p. 474-476 & 481-486 11.2) Automatic reset We wensen een automatische reset bij het opstarten van de schakeling, zodat we weten in welke staat deze zich bevindt. We wensen een LAAG niveau aan de Digitaal Ontwerp – Mogelijke Examenvragen RD ingang klem voor een korte tijd bij het (11/23) opstarten. Na een paar microseconden een HOOG niveau aan RD , zo dat de flip flop synchroon kan werken. -> RC schakeling gebruiken. Wanneer er meer apparaten aan de reset lijn worden aangesloten zal de tijd van het LAAG zijn bij inschakelen afnemen. -> Om dit tegen te gaan kan de condensator verhoogt worden. 11.3) Schmitt Trigger ICs De Schmitt Trigger gebruikt intern positieve terugkoppeling voor snellere niveau veranderingen en er onstond een effect Hysteresis. Hysteresis betekend dat het schakelen op een spanning bij een stijgend signaal op een hoger niveau is dan het schakelen bij een dalend signaal. -> Zeer bruikbaar bij apparaten waar jitter optreedt of elektrische ruis. VT is typisch 1,7 V Digitaal Ontwerp – Mogelijke Examenvragen (12/23) VT − is typisch 0,9 V Een belangrijke specificatie van de Schmitt Trigger devices is de transfer functie grafiek: Vout uitgezet tegenover Vin Het laag signaal blijft na een stijging hangen op 0,2 V 12.3) Ontwerp van Delen-door-N tellers Tel-schakelingen worden ook regelmatig gebruikt als frequentie delers. De uitgangen zijn: 20 21 22 de helft een vierde een achtste van de aangelegde klok frequentie Een MOD-8 is dus een divide-by-8 frequentie deler Een MOD-16 is dan een divide-by-16 frequentie deler Wat als we een divide-by-5 frequentie deler wensen? 5 is binair 101 -> gebruiken lijnen 20 en 22, zijn beide HOOG een reset pulse op alle Digitaal Ontwerp – Mogelijke Examenvragen (13/23) flip-flops geven. vbn. zie p. 529-536 voor 10 of 6 deler 14.1) Multivibrators Multivibrator is een circuit dat verandert tussen 2 digitale niveaus: - continu, op vrije basis (free-running) - op vraag van een externe bron Er zijn 3 types multivibrators: - Bistable -> In 1 van 2 digitale staten gebracht door een externe bron, en blijft in die staat, tot de externe bron hem in de tegengestelde staat dwingt. (S-R Flip-flop) - Astable -> Is een vrij lopende oscillator dat alterneert tussen 2 digitale niveaus op een specifieke frequentie en met een cyclus. - Monostable Digitaal Ontwerp – Mogelijke Examenvragen (14/23) -> Ook wel one shot genoemd, slechts een enkele puls aan de uitgang met een specifieke lengte en gestuurd door externe bron. -> Deze worden gebruikt voor timing toepassingen. Het laden en ontladen van een condensator is gebruikt voor het voorzien van de specifieke tijd. 14.3) Astable Multivibrators Opgebouwd met een weerstand, condensator en Schmitt Trigger inverter. Werking: 1. Wanneer de spanning van de IC wordt ingeschakeld is dus V cap =0V , V out zal hoog zijn. ≈5 V 2. De condensator zal beginnen opladen door de 3. Als V_cap de positieve threshold Schmitt trigger VT 5V op V out bereikt zal de uitgang van de V out LAAG worden. V out ≈0V is, zal de condensator beginnen ontladen naar 0V. 4. Omdat 5. Als 6. De cyclus herhaald zich nu, de condensator laadt weer op tot V cap zakt onder de negatieve threshold V T zal de uitgang van de Schmitt trigger V out terug HOOG worden. − en ontlaadt zich tot -> VT − VT en terug op, enz. V out zal oscilleren tussen V OH en V OL . Digitaal Ontwerp – Mogelijke Examenvragen (15/23) vb. zie p. 662-663 14.4) Monostable Multivibrators -> One shot Q=LOW en Q=HIGH ->Switcht enkel voor een tijd t w naar de tegengestelde staat door de ingang A - Heeft 1 stabiele staat. Werking: 1. Als de spanning wordt ingeschakeld, is A HOOG, Q LAAG, Q HOOG, en C begint te ontladen, punt D is op dat ogenblik HOOG 2. Als de negatieve puls op 3. De spanning over de condensator kan niet plots veranderen, en zakt naar 0V. 4. Als punt D LAAG is, zal er 1 ingang van poort 1 LAAG zijn, zelfs als LAAG A HOOG wordt, zal Q HOOG blijven en Q 5. Ondertussen is de condensator aan het opladen naar V CC . Als de condensator de voltage op punt D bereikt voor een HOOG niveau op HOOG poort 1 V IH zal Q terug LAAG worden en Q 6. Het circuit is terug stabiel en wacht op een andere puls van Digitaal Ontwerp – Mogelijke Examenvragen LAAG A , Q HOOG en Q A (16/23) Berekeningen: V OH =5V V IH =3,5 V V OL =0V V IL =1V R=4.7k C=0,0047 F v=3,5 – 0=3,5V E=5,0 – 0=5V t w =RC ln 1 =26,6 s v 1− E 14.5) Integrated-Circuit Monostable Multivibrators Monostabiele vibrators zijn te verkrijgen in ICs. -> nonretriggerable of retriggerable -> RC timing componenten zijn extern verbonden voor het bepalen van de puls breedte. -> lees p. 666-670 14.6) Retriggerable Monostable Multivibrators Wat als er een tweede klokpuls binnenkomt als de cyclus nog niet is afgerond. -> Nonretriggerable => deze wordt genegeerd. -> Retriggerable => zullen met een nieuwe cyclus starten. Verschil tussen deze twee: vb. zie p. 671-673 Digitaal Ontwerp – Mogelijke Examenvragen (17/23) 14.7) Astable Operation of the 555 IC Timer – EX - 555 populaire algemeen gebruik timer IC -> Gebruik als one shot -> of astable oscillator - 555 heeft zijn naam van de 3 5k weerstanden, die functioneren als een spanningsdeler tussen V CC en de massa. - Ook comparators of opamps gebruikt in schakeling -> Als + meer positief is dan - -> uitgang HOOG -> Als + minder positief is dan - -> uitgang LAAG HOOG is. - De ontlaadt transistor is een NPN, deze ontlaadt de condensator als Q (1) Ground: De massa. (2) Trigger: Set's de flip-flop, als spanning aan klem (2) van boven naar onder 1 .V gaat, wordt de comparator HOOG. 3 CC (3) Output: Eerst nog een invertor, de uitgang is een buffer. (4) Reset: HOOG en pin 3 (Output) LAAG. Actief LAAG reset, dwingt Q (5) Control: Gebruikt om het 2 .V te overschrijven indien nodig, 3 CC meestal verbonden met condensator voor het filteren van ruis. (6) Threshold: Ingang naar de 1ste comparator, voor het resetten van de flip flop. Als de spanning aan klem (6) van onder naar boven 2 .V gaat, wordt de comparator HOOG. 3 CC (7) Discharge: Verbonden met de open collector van de NPN transistor, als HOOG is, zal de externe condensator ontladen worden. Q Digitaal Ontwerp – Mogelijke Examenvragen (18/23) (8) V CC : Voedingsspanning van 4,5 tot 18V Werking: 1. Spanning aan, condensator ontladen, 0V op klem 2, comparator 2 is = LAAG, uitgang = HOOG) HOOG, flip-flop geset Q 2. = LAAG), de ontlaadt transistor is open, de Met uitgang HOOG ( Q condensator laat naar V CC via R ARB 3. Als de condensator spanning over 1 .V gaat, de comparator 2 3 CC wordt LAAG, heeft geen effect op de S-R flip-flop, maar de condensator spanning overschrijdt HOOG, reset de flip-flop 2 .V , comparator 1 wordt 3 CC = HOOG, uitgang = LAAG Q = HOOG, de transistor ontlaadt de condensator via RB Q 4. Met 5. Als de condensator spanning tot 1 .V gezakt is, comparator 2 3 CC wordt terug HOOG, set de flip-flip en uitgang veranderd weer. 6. = LAAG, de transistor is terug open en de condensator Nu, met Q laadt terug op. 7. De cyclus herhaalt zich. Uit de formule die eerder is gegeven kunnen we t LO en t HI berekenen. v = het verschil tussen de condensator spanningen bij schakelen 1 2 1 = .V CC = .V CC – .V CC 3 3 3 E = de totale afstand die de condensator spanning probeert af te leggen 2 1 = .V CC = V CC – .V CC 3 3 = tijdsconstante, of het pad waar de lading door vloeit =R ARB . C Algemene formule: t =R C ln 1 v 1− E t LO =? Digitaal Ontwerp – Mogelijke Examenvragen (19/23) t LO =R B C ln t LO =R B C ln 1 1 .V 3 CC 1– 2 .V 3 CC 1 1 – 0,5 t LO =R B C ln 2 t LO =0,693. RB . C t HI =? t HI =R ARB C ln t HI =R ARB C ln 1 1 .V 3 CC 1– 2 .V 3 CC 1 1 – 0,5 t HI =R AR B C ln 2 t HI =0,693 . R A RB . C Digitaal Ontwerp – Mogelijke Examenvragen (20/23) 14.7.1) De 50% Duty Cycle Astable Oscillator t HI =t LO Wanneer we een 50% duty cycle willen: -> Dit is nooit mogelijk want de tijdsconstante moete gelijk zijn en R ARB≠R B Dit kan opgelost worden door een diode, zodat opladen. RB niet wordt gebruikt tijdens het 14.8) Monostable Operation of the 555 IC Timer - EX Werking: V out LAAG, ontlading van C 1. Initially (voor triggering plaats vindt), vindt plaats. 2. Klem 2 is normaal HOOG door de 10k weerstand. Om de one shot te triggeren, een neergaande puls is nodig op klem 2 3. De trigger zorgt dat comparator 2 HOOG wordt, de FF wordt geset, V out wordt HOOG en opent de transistor. 4. Nu de condensator vrij is, kan hij laden van 0V naar 5. Als V C de treshold van HOOG, reset de FF, 6. V CC via R A 2 .V overschrijdt, comparator 1 wordt 3 CC V out wordt LAAG, en sluit de transistor. De condensator ontlaadt snel tot 0V, en de one shot houdt zijn stabiele toestand V out LAAG tot nieuwe triggering. Digitaal Ontwerp – Mogelijke Examenvragen (21/23) Hoe tot t w komen? t w =R A C ln t w =R A C ln 1 2 .V 3 CC 1– V CC 1 1 – 0,667 t w =R A C ln 3 Digitaal Ontwerp – Mogelijke Examenvragen (22/23) t w =1,10.R A .C 14.9) Crystal Oscillators -> lees p. 681 Digitaal Ontwerp – Mogelijke Examenvragen (23/23)
© Copyright 2024 ExpyDoc