Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
ZEMRIS
RJEŠENJA 2. KONTROLNE ZADAĆE IZ DIGITALNE ELEKTRONIKE
MARKO ČUPIĆ
Zagreb, 2005.
Napomena:
• Uz rješenja dopisana su i neka objašnjenja i opaske koje nije trebalo pisati u kontrolnoj zadaći. Ti dijelovi markirani su svijetlo-žutom bojom.
• Zbog preglednosti, rješenje svakog zadatka počinje na novoj stranici.
Zadatak 1.
Korak 1: tablična minimizacija 0000 * F:01 (0) 0100 * F:01 (4) 0011 * F:11 (3) 1010 * F:10 (10) 1100 * F:11 (12) 0111 * F:11 (7) 1101 * F:11 (13) 1110 * F:11 (14) 1111 * F:01 (15)
0X00 F:01 (0, 4) X100 F:01 (4, 12) 0X11 F:11 (3, 7) 1X10 F:10 (10, 14) 110X F:11 (12, 13) 11X0 F:11 (12, 14) X111 F:01 (7, 15) 11X1 * F:01 (13, 15) 111X * F:01 (14, 15)
11XX F:01 (12, 13, 14, 15)
Korak 2: globalno pronalaženje bitnih primarnih implikanata 3 7 10 12 13 14 | 0 3 4 7 12 13 14 15 a'c'd' (0, 4) | x x Y P0 bc'd' (4, 12) | x x P1 a'cd (3, 7) x x | x x Y P2 acd' (10, 14) x x | Y P3 abc' (12, 13) x x | x x Y P4 abd' (12, 14) x x | x x P5 bcd (7, 15) | x x P6 ab (12, 13, 14, 15) | x x x x P7 c c c c c c | c c c c c c P = (P5+P7)(P6+P7) = P5P6 + P5P7 + P6P7 + P7 Produkt s minimalnim brojem članova: P7 – uključuje se još P7. Korak 3: odabir produkata za svaku funkciju posebno. Smije se birati samo iz skupa {P0,P2,P3,P4,P7}. Produkte {P1,P5,P6} ovaj je korak označio kao zabranjene! Funkcija f1: svi su mintermi pokriveni! f1 = a'cd + acd' + abc' Funkcija f2: uz uključeni P7 svi su mintermi pokriveni! f2 = a'c'd' + a'cd + ab Budući da se cijela funkcija može realizirati koristeći samo 5 produkata, a PLA upravo dozvoljava dijeljenje produkata, minimalne dimenzije PLA strukture su: 4×5×2. Opaska 1: vidi zadatak 5.17 u Zbirci. Opaska 2: rješenje možete provjeriti na Webu – on-line minimizator na stranicama kolegija.
Zadatak 2.
ENTITY reg IS PORT ( D: IN STD_LOGIC_VECTOR(1 DOWNTO 0); CP, S, C, I: IN STD_LOGIC; Q: OUT STD_LOGIC_VECTOR(1 DOWNTO 0) ); END reg; ARCHITECTURE ponasajna OF reg IS BEGIN PROCESS( CP, S ) IS VARIABLE stanje: STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN IF S='1' THEN stanje := "11"; ELSIF C='1' THEN stanje := "00"; ELSIF rising_edge(CP) THEN IF I='1' THEN stanje(0) := not stanje(0); stanje(1) := not stanje(1); ELSE stanje := D; END IF; END IF; Q <= stanje; END PROCESS; END ponasajna;
Zadatak 3.
ENTITY automat IS PORT ( I, CP, RESET: IN STD_LOGIC; O: OUT STD_LOGIC_VECTOR(1 DOWNTO 0) ); END automat; ARCHITECTURE ponasajna OF automat IS TYPE STANJA IS (S0, S1, S2); SIGNAL STANJE, SLJED_STANJE: STANJA; BEGIN -- kombinacijski dio: koje je sljedece stanje? PROCESS( I, STANJE ) IS BEGIN CASE STANJE IS WHEN S0 => IF I='0' THEN SLJED_STANJE <= S1; ELSE SLJED_STANJE <= S2; END IF; WHEN S1 => IF I='0' THEN SLJED_STANJE <= S2; ELSE SLJED_STANJE <= S1; END IF; WHEN S2 => IF I='0' THEN SLJED_STANJE <= S0; ELSE SLJED_STANJE <= S1; END IF; END CASE; END PROCESS; -- kombinacijski dio: koji su aktualni izlazi? PROCESS( STANJE ) IS BEGIN CASE STANJE IS WHEN S0 => O <= "00"; WHEN S1 => O <= "10"; WHEN S2 => O <= "11"; END CASE; END PROCESS; -- sekvencijski dio PROCESS( CP, RESET ) IS BEGIN IF RESET='1' THEN STANJE <= S0; ELSIF rising_edge(CP) THEN STANJE <= SLJED_STANJE; END IF; END PROCESS; END ponasajna;
Opaska: vidi zadatak 12.19 u Zbirci.
Zadatak 4.
WL=0
BL
CSUS(t), QS(t)
IL
Struja pražnjenja kondenzatora jednaka je promjeni naboja u jedinici vremena, što linearizacijom prelazi u diskretnu razliku:
t
UC
dt
dUC
dt
dQI S
SS
SS
L ∆∆
−=−=−=
Otuda je vrijeme:
808,01
100 =⋅=∆⋅=∆ VnA
fFU
I
Ct S
L
S µs.
Opaska: vidi zadatak 13.4 u Zbirci.
Zadatak 5.
Neka je Z znamenka broja u brojevnom sustavu s bazom B, a Z(B-1)' znamenka koja predstavlja njezin (B-1)-vi komplement u toj bazi. Tada su te dvije znamenke povezane relacijom: Z + Z(B-1)' = B-1 Kako BCD predstavlja znamenku dekadskog sustava, baza B=10. Slijedi relacija: Z + Z9' = 9 Dakle, 9. komplement od 0 je 9, 9. komplement od 1 je 8, 9. komplement od 2 je 7, ... BCD svaku znamenku prikazuje pomoću 4 bita u binarnom kodu. Neka je z=b3b2b1b0 BCD prikaz izvorne znamenke a k=k3k2k1k0 BCD prikaz njenog 9. komplementa. Slijedi tablica:
Znamenka Njezin 9. komplement dekadski binarno dekadski binarno
z b3 b2 b1 b0 k k3 k2 k1 k0 0 0 0 0 0 9 1 0 0 1 1 0 0 0 1 8 1 0 0 0 2 0 0 1 0 7 0 1 1 1 3 0 0 1 1 6 0 1 1 0 4 0 1 0 0 5 0 1 0 1 5 0 1 0 1 4 0 1 0 0 6 0 1 1 0 3 0 0 1 1 7 0 1 1 1 2 0 0 1 0 8 1 0 0 0 1 0 0 0 1 9 1 0 0 1 0 0 0 0 0 x x x x x x x x x x
Treba očitati pojedine bitove ki kao funkcije svih bitova bi. Slijedi: k3 = b3'b2'b1' k2 = b2b3' + b2'b3 k1 = b1 k0 = b0' Koje su potrebne dimenzije PAL strukture? Trebamo generirati 4 funkcije (k3 do k0) – broj izlaza je 4. Funkcije ovise o svim bitovima od b, pa trebamo 4 ulaza. Najveća suma koja se pojavljuje je kod k2 i sadrži dva člana – izlazni NI sklopovi (koji će se koristiti kao ILI) trebaju biti dvoulazni. Budući da sada znamo da su potrebna 4 izlaza, svaki od njih generira se dvoulaznim NI sklopom, u srednjem sloju ima 4×2=8 NI sklopova (koji računaju produkte). Rješenje je prikazano slikom. Uočiti da se funkcija kod realizacije NI/NI "točka" identično kao kod realizacije I/ILI (DeMorganov zakon). Obratiti pažnju da su neiskorišteni sklopovi tehnološki tako napravljeni "da ne smetaju" (ako nisu, mogu se "istočkati" kao i oni koji su iskorišteni, zbog A+A=A, AA=A).
1
1
b1
b2
k0
k1
1
b3
&
&
&
&
1
b0
k2
k3
& & & & & && &
Opaska: vidi zadatak 9.1 u Zbirci. Opaska 2: budući da je funkcija k1=b1, to ne treba posebno računati s PAL-om, pa se može koristiti i 3-izlazni PAL, tj. dimenzija 4×6×3.
Zadatak 6.
Logički blok prikazan je na slici:
?
?
?
?
A
B
fD
Q
Q
CPS
0
1
CP
Sklop moramo projektirati kao automat. Neka u stanju S0 ima izlaz 0, u stanju S1 izlaz 0, u stanju S2 izlaz 6 te u stanju S3 izlaz 1. Automat ciklički prolazi kroz stanja S0, S1, S2, S3, S0, S1, ... Ako stanje Si kodiramo binarnim brojem i, slijedi:
Trenutno stanje Sljedeće stanje Izlazi u trenutnom stanju Potrebna pobuda Q1 Q0 Q1 Q0 O2 O1 O0 D1 D0 0 0 0 1 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 1 1 1 1 0 1 1 1 1 0 0 0 0 1 0 0
Iz tablice se može uočiti da su izlazi O2 i O1 ekvivalentni, pa se ne moraju zasebno izvoditi.
0
1
1
0 1s=
A
B
1
0
1
0 1s=
A
B
0
0
1
0 0s=
A
B
0
0
0
1 0s=
A
B
Q1
Q0 O0
O2 ,O1
Opaska: vidi zadatak 12.14 u Zbirci.
Zadatak 7.
Funkciju treba još malo "prilagoditi":
( ) DCBADCBADCBAf ⋅+⋅=⋅++=,,, Budući da su dominantne nekomplementirane varijable, najprije moramo realizirati komplementarnu funkciju g, i zatim na izlaz dodati invertor.
( ) ( ) )()(,,,,,, DCBADCBAfDCBAg +⋅+==
A B
C' D
+UDD
+UDD
fg
A
B
C'
D
+UDD
C C'
Opaska: vidi npr. zadatak 15.10 u Zbirci.
Zadatak 8.
Načelna shema pretvornika – bilo koja slika koja prikazuje kako se sklop principijelno izvodi (pogledati knjiga [Peruško], zbirka [Čupić], Internet, ...).
(slika) Kod zadanog pretvornika izlaz je linearno ovisan o ulaznom naponu, tj.
ulukn ⋅= gdje je k konstanta pretvorbe. Budući da je zadano da se koristi 4-bitni pretvornik (nmin=0, nmax=15), te da se ulazni napon koji pretvornik može izmjeriti kreće u intervalu od 0 do 8 V, slijedi:
00 ⋅= k 815 ⋅= k
Slijedi da je konstanta pretvorbe:
[ ]1875.18/15/ −=== Vunk ul
Za ulazni napon 5,37 V, rezultat će biti broj:
1006875.1037.5875.1 ==⋅=⋅= ulukn
Doprinos pojedinih bitova naponu tada je:
Vku 266.4/23
23 == , Vku 133.2/22
22 == , Vku 066.1/21
21 == , Vku 533.0/20
20 == .
Prikaz pretvorbe vremenskim dijagramom: (a faza – podignut bit, b faza – bit ostaje ili se resetira).
1
2
3
4
5
6
7
8
0
Uiz [V]
korak1 2 3 4
n=8(4.266 V)
n=12(6.4 V)
n=8(4.266 V)
n=8(4.266 V)
n=10(5.33 V)
n=10(5.33 V)
n=11(5.866 V) n=10
(5.33 V)
a b a b a b a b
Opaska: vidi zadatak 14.7 u Zbirci.
Zadatak 9.
Na pitanje "objasniti što znači izvedba tipa n" moguće je odgovoriti na više načina. Npr. Odgovor 1. Neka se funkcija od m varijabli realizira multipleksorom 2k/1. Taj multipleksor ima k selekcijskih bitova na koje se dovodi prvih k varijabli (uz pretpostavku k ≤ m). Na podatkovne ulaze multipleksora tada se dovode Booleove funkcije od n=m-k rezidualnih varijabli. Trivijalan je slučaj kada je k=m, pa se na podatkovne ulaze multipleksora dovode funkcije od n=0 varijabli – dakle, samo konstante 0 ili 1. Drugim riječima, realizacija funkcije od m varijabli multipleksorom izvedbom tipa n znači da multipleksor ima m-n selekcijskih ulaza, 2m-n podatkovnih ulaza te da se na podatkovne ulaze dovode funkcije od n varijabli. Odgovor 2. Prema Shannonovom teoremu o ekspanziji (Shannon's Expansion Theorem) vrijedi jednakost:
( ) ( ) ( )11 11212121 ,...,,1,...,,0,...,, xxmmm fxfxxxfxxxfxxxxf ⋅+⋅=⋅+⋅= . Ako funkcija f ovisi o m
varijabli, funkcije 11
, xx ff ovise o m-1 varijabli. Ako želimo realizirati funkciju pomoću multipleksora
koji ima k selekcijskih bitova, rekurzivnom primjenom ovog teorema do dubine k doći ćemo do funkcija
kk xx ff , koje ovise o m-k varijabli ( nkk xxx ,...,, 21 ++ ), i koje direktno dovodimo na podatkovne
ulaze multipleksora. Označimo li taj broj s n, tj. n=m-k, ostvarili smo funkciju multipleksorom izvedbom tipa n. Trivijalan je slučaj kada je k=m, pa se na podatkovne ulaze multipleksora dovode funkcije od n=0 varijabli – dakle, samo konstante 0 ili 1. Kako funkciju treba realizirati multipleksorom izvedbom tipa 0, trebamo multipleksor 8/1 jer na ulaze smijemo dovoditi samo konstante. Rješenje je prikazano u nastavku.
0
1
2
3
4
5
6
7 s2
s1s0
A B C
0
1
0
0
0
1
1
1
f(A,B,C)y
Opaska: vidi npr. zadatak 6.5 u Zbirci, izvedba funkcija multipleksorom u knjizi, ....
Zadatak 10.
Ideja rješenja:
15→0→1→2→3→4→5→6→7→8→9→10→11→12→13→14→15
10 stanja
postaviti u 15
Rješenje:
T
Q
Q
CP
dS
B0
T
Q
Q
CP
dS
B1
T
Q
Q
CP
dS
B2
T
Q
Q
CP
dS
B3
&
1
CP
Q0 Q1 Q2 Q3
Maksimalna frekvencija rada:
1) normalni ciklus: nsttT očdb 1004max.1 =+⋅=
2) prekid ciklusa: nstttT očdlsdb 7022 =++⋅=
MHznsTT
f 10100
1
),max(
1
2max,1max ===
Opaska: vidi npr. zadatak 11.2 u Zbirci (koriste se JK bistabili kao T bistabili, jer je J=K!). Opaska 2: zadatak se može riješiti na više načina. Ovdje je prikazano samo jedno moguće rješenje. Međutim, treba pripaziti na neke detalje. Npr. bistabili reagiraju na rastući brid – ako želimo brojilo unaprijed, tada moramo na CP dovoditi komplement stanja prethodnog bistabila; inače imamo brojilo unatrag (i to je u redu, ako se i računa s ciklusom padajućih stanja duljine 10; npr. 15-14-13-12-11-10-9-8-7-6-(privremeno 5 pa odmah u)-15). Opaska 3: bistabili imaju ulaz za postavljanje. Djeluje li on na 1 ili 0 – nije propisano pa je moguće koristiti varijantu po izboru (i to, naravno, odgovarajuće naznačiti na simbolu bistabila).
Opaska 4: vremena tsetup i thold ne utječu na maksimalnu frekvenciju rada jer su svi sinkroni ulazi bistabila stalno stabilni!