Digitaal Ontwerp: Mogelijke Examenvragen

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 Cp 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
SD of Reset RD .
=> 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
RD ingang klem voor een korte tijd bij het
(11/23)
opstarten. Na een paar microseconden een HOOG niveau aan RD , 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 ARB
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 ARB . 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 ARB C ln
t HI =R ARB C ln
 
1
1
.V
3 CC
1–
2
.V
3 CC

1
1 – 0,5

t HI =R AR 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 ARB≠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)