Professional Documents
Culture Documents
Zapiski predavanj
3 Prekodirniki
Npr. pri pretvorbi binarne kode v BCD (za 2 BCD mesti) bi potrebovali
ROM velikosti 100*8 (tj. slaba polovica bralnega pomnilnika 256*8).
Toda pri pretvorbi 32 bitov v BCD imamo 232 =4G ≈ 4 · 109 števil, s tem
tudi 10 BCD mest, tj. 40 bitov. Potrebovali bi ROM velikosti kar 4G*40 !
Binarno v BCD:
1
DIGITALNE STRUKTURE 2
bin → BCD
00000 → 00000
. .
. .
. .
01001 → 0 1001
01010 → 1 0000
01011 → 1 0001
01100 → 1 0010
01101 → 1 0011
01110 → 1 0100
01111 → 1 0101
10000 → 1 0110
10001 → 1 0111
10010 → 1 1000
10011 → 1 1001
10100∗ → 10 0000
Če gledamo samo gornje 4 bite (ker je zadnji enak), lahko zapišemo prekodirno
tabelo:
če ≥5, +3
Npr. 5/5
DIGITALNE STRUKTURE 5
Lahko bi imeli 8/8, vendar navadno prekodiramo binarna števila n < 12.
BCD v binarno:
če ≥8, -3
1 0000 → 1010
1 0001 → 1011
1 0010 → 1100
1 0011 → 1101
1 0100 → 1110
1 0101 → 1111
————————–
1 0110 → 10000
1 0111 → 10001
1 1000 → 10010
1 1001 → 10011
10 0000 → 10100
Npr.:
DIGITALNE STRUKTURE 6
Gray-eva koda ima koristno lastnost, da se dve sosedni števili vedno razliku-
jeta le v enem bitu (Hamming-ova razdalja je 1). To je ugodno npr. pri
kodiranju odmikov oz. zasukov (pri binarnem kodiranju so problem prehodi,
pri katerih naj bi se spremenilo več bitov hkrati, npr. med 3 in 4, pa se zaradi
realnih senzorjev ne); ali pa npr. pri genetskih algoritmih, če želimo, da mu-
tacija bita le malo spremeni številsko vrednost parametra, zakodiranega v
kromosom.
g0 = b0 ⊕ b1
g1 = b1 ⊕ b2
g2 = b2 ⊕ b3
...
gn−2 = bn−2 ⊕ bn−1
gn−1 = bn−1 ⊕ 0 = bn−1
DIGITALNE STRUKTURE 7
b3 b2 b1 b0 g3 g2 g1 g0
0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1 1
0 0 1 0 0 0 1 1 2
0 0 1 1 0 0 1 0 3
0 1 0 0 0 1 1 0 4
0 1 0 1 0 1 1 1 5
0 1 1 0 0 1 0 1 6
0 1 1 1 0 1 0 0 7
1 0 0 0 1 1 0 0 8
1 0 0 1 1 1 0 1 9
1 0 1 0 1 1 1 1 10
1 0 1 1 1 1 1 0 11
1 1 0 0 1 0 1 0 12
1 1 0 1 1 0 1 1 13
1 1 1 0 1 0 0 1 14
1 1 1 1 1 0 0 0 15
(x1 ⊕ x2 ) ⊕ x3 = x1 ⊕ (x2 ⊕ x3 ) = x1 ⊕ x2 ⊕ x3 .
x1 ⊕ x2 ⊕ x3 ⊕ x4 = ((x1 ⊕ x2 ) ⊕ x3 ) ⊕ x4 ,
x1 ⊕ x2 ⊕ x3 ⊕ x4 = (x1 ⊕ x2 ) ⊕ (x3 ⊕ x4 ) ,
Kodirnik
b0 b1 b2 b3 y0 y1
1 0 0 0 0 0
0 1 0 0 0 1
0 0 1 0 1 0
0 0 0 1 1 1
DIGITALNE STRUKTURE 9
y0 = b2 ∨ b3
y1 = b1 ∨ b3
h3 = b3 (najvišja prioriteta)
h2 = b2 b03
h1 = b1 b02 b03
h0 = b0 b01 b02 b03
y0 = h2 ∨ h3 = b2 b03 ∨ b3
y1 = h1 ∨ h3 = b1 b02 b03 ∨ b3
Kodirnik 74148:
Vhodi Izhodi
EI 0 1 2 3 4 5 6 7 A2 A1 A0 GS EO
1 X X X X X X X X 1 1 1 1 1
0 1 1 1 1 1 1 1 1 1 1 1 1 0
0 X X X X X X X 0 0 0 0 0 1
0 X X X X X X 0 1 0 0 1 0 1
0 X X X X X 0 1 1 0 1 0 0 1
0 X X X X 0 1 1 1 0 1 1 0 1
0 X X X 0 1 1 1 1 1 0 0 0 1
0 X X 0 1 1 1 1 1 1 0 1 0 1
0 X 0 1 1 1 1 1 1 1 1 0 0 1
0 0 1 1 1 1 1 1 1 1 1 1 0 1
DIGITALNE STRUKTURE 10
Generator paritete
Pomikalnik (shifter)
S1 S0 funkcija
0 0 ni pomika
0 1 pomik za 1 mesto
1 0 pomik za 2 mesti
1 1 pomik za 3 mesta
DIGITALNE STRUKTURE 11
Komparatorji
v logično ničlo.
Iterativni komparator:
DIGITALNE STRUKTURE 12
7485 je 4-bitni MSI komparator z vhodi a0 ..a3 , b0 ..b3 , IA<B , IA=B , IA>B , ter
izhodi OA<B , OA=B , OA>B , ki so
Pri tem je
(A > B) = A3 .B30 ∨
(A3 ⊕ B3 )0 A2 .B20 ∨
(A3 ⊕ B3 )0 (A2 ⊕ B2 )0 A1 .B10 ∨
(A3 ⊕ B3 )0 (A2 ⊕ B2 )0 (A1 ⊕ B1 )0 A0 .B00