Professional Documents
Culture Documents
1 Digitalna Elektronika Zbirka Zadataka 2010149 PDF
1 Digitalna Elektronika Zbirka Zadataka 2010149 PDF
Спонзор / Sponsored by
TEMPUS
Предговор .......................................................................................................................................2
1 Комбинационе мреже................................................................................................................4
2 Синхроне секвенцијалне мреже............................................................................................75
3 Асинхроне секвенцијалне мреже..........................................................................................83
4 Бројачи ......................................................................................................................................92
5 Регистри ..................................................................................................................................123
Литература .................................................................................................................................135
1
Предговор
Преостале вежбе служе за проучавање две веома важне класе синхроних секвенцијалних
мрежа. У четвртој вежби раде се бројачи, асинхрони и синхрони, као и коришћење готових
универзалних четворобитних бројачких модула (проширивање капацитета бројача и
скраћивање њиховог циклуса бројања). Уочавају се проблеми у вези рада бројача, посебно у
вези асинхронизма у раду због неадекватног одзива на помоћне сигнале (за брисање стања,
пуњење бројача итд.).
2
Аутори се надају да ће ова збирка решених задатака бити врло корисна и послужити
студентима у савладавању градива из дигиталне електронике, као и полагање писменог дела
испита..
Аутори
3
1 Комбинационе мреже
Задатак 1.
Услед коначног времена пропагације кроз логичка кола на излазу из комбинационе мреже
може да се појави ,,лажна нула“.
a) Одредити у којим случајевима је могућа појава ,,лажне нуле“.
b) Нацртати временски дијаграм излазног сигнала F, када је A=B=D=0, a C се мења са
високе на ниску вредност. Времена пропагације кроз логичка кола су дата у табели.
c) Модификовати мрежу тако да се спречи генерисање ,,лажне нуле“ без коришћења
синхронизационог сигнала.
A B C D
tLH tHL
F min max min max
Инвертор 8ns 22ns 7ns 15ns
И – коло 10ns 27ns 11ns 19ns
ИЛИ-коло 7ns 15ns 10ns 22ns
Слика 1.1
Решење:
а) Да бисмо могли да утврдимо у којим случајевима може да се јави ,,лажна нула“ потребно
је да логичку функцију F
F = A C D + A BC + BD + AC D
представимо помоћу Карноове таблице; сваки непотпуни производ представља се
одговарајућом контуром (слика 1.2). Ако постоје два суседна елементарна поља која
припадају различитим контурама, постоји могућност појаве хазарда.
CD H2
00 01 11 10
AB
Могућност појаве ,,лажне нуле“ постоји
00 1 1 1 H1
ако:
H1
01 1 1 1 H3
H1: A = 0, B = 0, D = 0, C се мења
H2: B = 0, C = 1, D = 0, А се мења 11 1 1 1
H3: A = 0, C = 1, D = 1, B се мења 10 1
H4: A = 1, B = 1, C = 1, D се мења
H5: A = 0, B = 1, C = 0, D се мења H5 H4 H2
Слика 1.2
4
б) Коришћењем података датих у табели нацртани су временски дијаграми сигнала за случај
да су A = B = D = 0, a C се мења са високе на ниску вредност. При овој промени улазног
сигнала C могућа је појава хазарда јединице (слика 1.3).
Почетак ,,лажне нуле“ је у интервалу:
tAmin= tHL6min + tHL9min = 11n + 10n = 21ns
tAmax= tHL6max + tHL9max = 19n + 22n = 41ns
а престанак:
tBmin= tLH3min + tLH5min + tLH9min = 8n + 10n + 7n = 25ns
tBmax= tLH3max + tLH5max + tLH9max = 22n + 27n + 15n = 64ns
Пошто су интервали почетка и краја ,,лажне нуле“ преклапају, до ње може, али не мора
доћи у интервалу (21ns; 64ns).
A=B=D=0
8n 22n
ACD
18n 49n
ACD=BD=0
ABC
11n 19n
21n 64n
Слика 1.3
11 1 1 1
10 1
Слика 1.4
Модификована функција код које не постоји могућност појаве ,,лажне нуле“ је:
F = A C D + A B C + BD + A C D + A B D + A CD + BC D + A B C + A BC .
5
Задатак 2.
Анализирати да ли комбинациона мрежа приказана на слици има могућност појаве глича.
Ако има, одредити при којим комбинацијама улазних променљивих се то дешава. Како то
елиминисати?
AB C
1
BD F
2 4
CD
3
Слика 2.1
Решење:
Комбинациона мрежа приказана на слици 2.1 реализује функцију
F = A BC⋅ BD ⋅ C D = A BC + BD + C D .
Пошто је комбинациона мрежа реализована у облику двостепене НИ-НИ логике, потребно
је функцију представити помоћу Карноове таблице и испитати да ли постоји могућност
појаве ,,лажне нуле“ (слика 2.2).
CD
00 01 11 10
AB
00 1
01 1 1 1
11 1 1 1
10 1 1 1
Слика 2.2
Могућност појаве ,,лажне нуле“ постоји при следећим комбинацијма улазних променљивих:
A = 1, C = 1, D = 1, B се мења ( ↓ )
A = 1, B = 0, D = 0, C се мења ( ↓ )
A = x, B = 1, C = 0, D се мења ( ↓ )
Модификована функција је
F = A BC + BD + C D + BC + ACD + A B D ,
односно, у облику двостепене НИ-НИ логике
F = A BC⋅BD⋅ C D ⋅BC ⋅ACD⋅A B D .
6
Модификација логичке функције F је приказана на слици 2.3.
CD
00 01 11 10
AB
00 1
01 1 1 1
11 1 1 1
10 1 1 1
Слика 2.3
Задатак 3.
a) Ако у тренутку t = 0 улазна променљива B мења вредност са логичке ,,0“ на ,,1“, док се
променљиве А и C не мењају (А = C = 0), коришћењем података из табеле одредити
карактеристична времена излазног сигнала F и нацртати временске дијаграме свих
сигнала. Објаснити добијене резултате!
b) Модификовати мрежу тако да не постоји могућност појаве глича.
A+ B
4
B
1
5 7
B+C
tLHmin tLHmax tHLmin tHLmax
Двоулазно
BZ = B 10n 17n 10n 18n
2 НИЛИ коло
6
3
C Вишеулазно
BZ + C 12n 22n 13n 19n
НИЛИ коло
Слика 3.1
Решење:
а) На излазу комбинационе мреже може да се појави ,,лажна“ јединица. Почетак је одређен
опадањем сигнала A + B :
t1min = tHL4min + tLH7min = 10n + 12n = 22ns
t1max = tHL4max + tLH7max = 18n + 22n = 40ns,
10n 18n
A+B
10n 18n
B+C
20n 35n
BZ = B
20n 35n
C =1
BZ + C = 0
22n 54n
Слика 3.2
F = A + B + B + C + B + C = (A + B)( B + C)(B + C ) ,
представићемо у Карноовој табели и модификовати (слика 3.3).
BC
00 01 11 10
A
0 0 0 0
1 0 0
Слика 3.3
C F
Слика 3.4
Задатак 4
Комбинациона мрежа приказана на слици има могућност појаве глича. Одредити све
комбинације улазних променљивих А1, А2, А3 и А4 при којима се може појавити
неправилност у раду и илустровати их цртањем временских дијаграма свих сигнала.
Користити типична времена кашњења tdtip дата у табели.
а) Извршити потребну модификацију мреже тако да се обезбеди њен исправан рад.
Објаснити!
б) Испитати да ли је једноставнија реализација логичке функције X коришћењем само НИ
или само НИЛИ кола. При томе не сме постојати могућност појаве глича!
A1 1
6
A2
td min td tip td max
A3
A4
7 Инвертор 8 ns 10 ns 15 ns
И коло 10 ns 15 ns 22 ns
10 X
ИЛИ коло 12 ns 17 ns 24 ns
2 8
3
4 9
Слика 4.1
Решење
Логичка функција је реализована у облику двостепене И-ИЛИ логике, као сума производа
A3A4
X = A1A 2 + A 3A 4 + A1 A 3 A 4 + A1 A 2 A 3 A 4 , A1A2 00 01 11 10
и због тога постоји могућност појаве ,,лажне'' 00 1 1
нуле. Да ли се ова врста хазарда заиста јавља,
може се испитати помоћу Карноове таблице, као 01 1 1 1 1
што је приказано на слици 4.2.
11 1 1
10 1 1
Слика 4.2
9
Представљањем логичке функције X у Карноовој таблици, види се да постоје суседна
елементарна поља која припадају различитим контурама. Могућност појаве хазарда постоји
за следеће случајеве:
1. А1 = 0, А2 = 0, А3 = 1, А4 се мења,
2. А1 = 0, А3 = 1, А4 = 0, А2 се мења,
3. А2 = 1, А3 = 0, А4 = 1, А1 се мења,
4. А1 = 1, А2 = x, А4 = 1, А3 се мења.
A4 A2
0 0
A4 A2
10ns 10ns
A1A2=0
A1A2=0
15ns
A3A4 A3A4=0
15ns
A1A3A4=0 A1A3A4=0
X X
32ns 42ns 32ns 42ns
3. А2 = 1, А3 = 0, А4 = 1, А1 се мења, 4. А1 = 1, А2 = x, А4 = 1, А3 се мења.
A2=A4=1
A1=A4=1
A3=0
A2=x
A1
0 A3
A1 0
10ns A3
A1 10ns
20ns A1A2=0
A1A2
25ns A3A4
A3A4=0 15ns
A1A3A4 A1A3A4
35ns
25ns
A1A2 A3A4=0 A1A2 A3A4=0
X X
42ns 52ns 32ns 42ns
Слика 4.3
10
б) Ако претпоставимо да улазни сигнал А1 неће бити преоптерећен, потребно је избећи
инвертовање овог сигнала. Осим тога, потребно је комбинациону мрежу тако модификовати
да се елиминише могућност појаве хазарда.
Реализација само НИ колима (слика 4.4а)
X = A1 A 2 + A1 A 3 + A 1 A 4 + A 2 A 4 + A 3 A 4
X = A1A 2 + A1A 3 + A1A 4 + A 2 A 4 + A 3 A 4
X = A1 A 2 ⋅ A1 A 3 ⋅ A 1 A 4 ⋅ A 2 A 4 ⋅ A 3 A 4 .
Реализација само НИЛИ колима (слика 4.4б)
( )
X = A1 + A 4 ⋅ (A 2 + A 3 + A 4 ) ⋅ (A1 + A 2 + A 3 )
X = (A1 + A 4 )⋅ (A 2 + A 3 + A 4 ) ⋅ (A1 + A 2 + A 3 )
X = A1 + A 4 + A 2 + A 3 + A 4 + A 1 + A 2 + A 3 .
A3A4 A3A4
A1A2 00 01 11 10 A1A2 00 01 11 10
00 1 1 00 0 0
01 1 1 1 1 01
11 1 1 11 0 0
10 1 1 10 0 0
A2
X
A3
A4
Слика 4.5
11
Задатак 5
На слици 5.1а је приказана дигитална мрежа.
а) Сматрајући да оптерећење улазних сигнала није критично реализовати дигиталну
мрежу која обавља исту логичку функцију коришћењем само НИ кола. Потребно је да
таква дигитална мрежа буде што једноставнија и да исправно ради.
б) Ако је немогуће извршити модификацију дигиталне мреже, потребно је
синхронизацијом забранити појаву излазног сигнала извесно време док се прелазни
процеси не заврше. То ће бити изведено тако што се уместо кола 9 користи троулазно
ИЛИ коло приказано на слици 5.1а. Одредити временски интервал (t1,t2) у коме сигнал
EN треба да буде неактиван да би се спечио неисправан рад мреже, ако се претпостваља
да су улазне променљиве постављене у тренутку t = 0.
ц) Нацртати временске дијаграме свих сигнала ако су улазне променљиве X = Y = 0, а
Z = 0 до тренутка t = 200 ns када се мења и постаје Z = 1.
X
3
1
5
7
Y
4
2 F
9
6
LK7 F
Z LK8
8 EN
Решење
Логичка функција коју обавља комбинациона мрежа је
F = ( X Y + XY ) ⋅ Z + X ⋅ Z .
Ако је потребно реализовати дигиталну мрежу, што једноставнију (дакле, минимизирану) и
да исправно ради (тј. да нема могућност појаве глича) коришћењем НИ кола, потребно је
минимизирати F и представити у облику суме производа. На слици 5.2 је приказана
функција F помоћу Карноове таблице, без могућности појаве хазарда. Функција се најпре
представи у облику суме непотпуних производа:
F = XY + XYZ + XZ ,
а затим се двоструким инвертовањем (чиме се не мења) и применом де Морганових закона
представља у облику погодном за реализацију НИ логичким колима
F = XY + XYZ + XZ = X Y ⋅ X Y Z ⋅ X Z .
На слици 5.3 је приказана функција F реализована коришћењем НИ кола.
12
Z 0 1
XY
00
01 1
11 1
10 1 1
13
X,Y,Z
t0
( XY + XY ) ⋅ Z
X⋅Z
t0 + 10ns t0 + 27ns
EN
t0 + 10ns t0 + 27ns
Слика 5.4
Пошто је
F = (XY + XY) ⋅ Z + X ⋅ Z + EN ,
закључујемо да је сигнал дозволе неактиван ако је висок EN=1, тј. тада излаз блокиран и не
зависи од улаза
EN=1 => F=1 ≠ f (X, Y, Z) .
Напомене:
1. Ако се сигнали први пут постављују у t=0, тада вредност F није позната све док се
прелазни процеси сигурно не заврше, и зато је ЕN неактиван до 99ns.
2. При промени комбинације улазних сигнала (као нпр. у t0=200ns) излазни сигнал мора
бити забрањен у интервалу у коме се може мењати, тј. од тренутка када промена са улаза
најраније може стићи до излаза (после 10ns кроз LК8) до тренутка када се излаз сигурно
мења (након 99ns).
14
t=0
X, Z
200n
X, Z
20n
XY
XY
27n
XY + X Y
XZ
Слика 5.5
Задатак 6
a) Испитати да ли комбинациона мрежа приказана на слици 6.1 поседује могућност појаве
вишеструке промене нивоа излазног сигнала. Објаснити и илустровати на примеру
A = C = D = 0, a B се мења са логичке „0“ на „1“. Сматрати да сва логичка кола имају
једнако време пропагације тд.
b) На које начине се може модификовати дата комбинациона мрежа тако да не постоји
могућност појаве вишеструке промене нивоа излазног сигнала?
c) Ако претпоставимо да су у тренутку t = 0 постављене све улазне променљиве,
коришћењем података из табеле одредити карактеристична времена излазног сигнала F
и нацртати временске дијаграме свих сигнала.
15
Решење
a) Логичка кола 1, 5, 6 и 9 представљају део мреже у коме није елиминисана могућност
појављивања лажне јединице (која се јавља у случају да су A = C = 0, a B се мења са ниске
на високу вредност ↑ ).
A=C = D=0
A+ B
C+B
BZ = B
BZ ⋅ D
BZ ⋅ D = 0
X = ( A + B)( B + C )
Y = BZ ⊕ D
F = X +Y
Слика 6.2
16
A+B
5
B BZ
1 2 9
B +C
6
A 5
B 11
1 7
6 9 3
C 10
12 8
Напомена: ако није критично преоптерећење улазног сигнала B, онда би се могао избацити
инверторе 2 и 4, чиме би се значајно убрзао рад комбинационе мреже! Решење код кога је
ово примењено, као и извршена елиминација могућности појаве лажне “1” је приказано на
слици 6.4.
1
6 9
12
11
7 11
3
10
10
Вишеструка промена излазног сигнала може бити спречена и синхронизацијом, као што је
приказано на слици 6.5. Коришћењем синхронизационог сигнала EN.L који забрањује излаз
док се не заврше сва прелазна стања у мрежи.
c) Ако ниједна од модификација није извршена, онда комбинациона мрежа има могућност
вишеструке промене сигнала F. Сада ћемо израчунати карактеристична времена сигнала:
(A+B):
tdmin = td5min = 10ns
tdmax = td5max = 15ns
B:
tdmin = td1min = 8ns
tdmax = td1max = 14ns
C+ B:
tdmin = td1min + td6min = 18ns
tdmax = td1max + td6max = 29ns
17
BZ = B :
tdmin = td1min + td2min = 16ns
tdmax = td1max + td2max = 28ns
( D ⋅ BZ) :
tdmin = td1min + td2min + td7min = 26ns
tdmax = 48ns
(Y = D ⊕ BZ) :
tdmin = td1min + td2min + td7min + td10min = 36ns
tdmax = 63ns
X = (A + B)( B + C) :
tAmin = td5min + td9min = 20ns
tAmax = td5max + td9max = 35ns
tBmin = td1min + td6min + td9min = 28ns
tBmax = 39ns
Сигнал X приказан је на слици 6.6.
Слика 6.6
{ { {
tC tD tE
Слика 6.7
18
A=C = D=0
A+ B
10n 15n
8n 14n
C+B
18n 29n
BZ = B
16n 28n
BZ = B
24n 42n
BZ ⋅ D
26n 48n
BZ ⋅ D = 0
X = ( A + B)( B + C )
20n 39n
Y = BZ ⊕ D
36n 63n
F = X +Y
30n 78n
Слика 6.8
Задатак 7
Комбинациона мрежа приказана на слици 7.1а има могућност појаве вишеструке промене
нивоа излазног сигнала F. Зато се уместо излазног логичког кола 11 користи троулазно ИЛИ
коло (слика 7.1б), на чији трећи улаз се доводи сигнал дозволе EN. Одредити временски
интервал (т1, т2) у коме сигнал EN треба да буде активан да би излазни сигнал F био
исправан 50 ns. Сматрати да су улазне променљиве постављене у тренутку t = 0, и то
A = C = D = 0, a B = 1.
tdmin tdtip tdmax
У ком тренутку се улазне променљиве
Инвертор 8 ns 10 ns 20 ns
најраније смеју да мењају?
И коло 10 ns 15 ns 27 ns
ИЛИ коло 9 ns 12 ns 25 ns
19
A
B 5 X
9
1
C 6
11
F
2
D 7
3 Y
10
4
8
Слика 7.1
Решење
Због коначног времена пропагације кроз логичка кола сигнали X и Y се најкасније
појављују на излазима логичких кола 9 и 10 након:
Сигнал дозволе EN постаје активан када су на преостала два улаза излазног кола 12 сигурно
исправна, t1= 112 ns.
Ако је сигнал дозволе EN=1, тада је излазни сигнал F=1 и НЕ ЗАВИСИ од улазних сигнала
A, B, C и D. Дакле, F је блокиран.
Слично, у случају синхронизације НИЛИ колом, ако је EN=0 излазни сигнал зависи
искључиво од улазних променљивих А, B, C и D. Дакле, сигнал дозволе EN је АКТИВАН и
пропушта улазне променљиве (слика 7.2а). Слично важи и за синхронизацију НИЛИ
колима. У случају да је EN=1, је излазни сигнал F=0 и НЕ ЗАВИСИ од улазних сигнала.
Дакле, F је блокиран (слика 7.2б).
X F X F
Y Y
EN EN
EN EN
F F
Аналогно, ако се синхронизација врши помоћу И или НИ кола, онда је EN активан када је
једнак јединици (слике 7.3а и 7.3б, респективно).
Ако је EN=0, излаз F је блокиран и не зависи од улазних променљивих.
20
X X
F F
Y Y
EN EN
EN EN
F F
Излазни сигнал F може да се мења у интервалу (tAmin; tAmax), као што је приказано на слици
7.4:
tAmin = t1 + td11min = 112n + 9n = 121ns
tAmax = t1 + td11max = 112n + 25n = 137ns
Слика 7.4
Након што је сигнал дозволе постао неактиван (EN=1) улазне променљиве X и Y могу да
мењају вредност. Посматрајући најгори могућ случај (тј. када се улазни сигнали
максимално брзо мењају) мора бити обезбеђено да се X и Y најраније мењају након
t2 = 178ns.
21
A=C = D= 0
A+ B
25n
20n
B +C
45n
72n
BZ = B
40n
20n
BZ ⋅ D
67n
BZ
60n
BZ ⋅ D
27n
92n
EN
t1 = 112n t 2 = 178n
F =1
Слика 7.5
Напомене:
1. Ови временски дијаграми су нацртани за такву комбинацију улазних сигнала која даје
F=1. Зато се он не мења у односу на вредност када је био блокиран (F=1).
2. Сигнали X и Y су постављени у t = 92ns, што је раније од тренутка када се активира
сигнал дозволе (т1=112 нс). То је последица чињенице да је D=0 => Bz ⋅ D = 0 најкасније
након 27 ns.
Проверите када ће сигнал Y бити исправан, ако су B=0 и D=1 постављени у t=0!
22
Задатак 8
Дата је логичка функција
F(A, B, C, D) = ∑ (1,2,6,9,10,12) + x (0,7,8,14).
Реализовати F(A,B,C,D) тако да буде што једноставнија и то:
а) коришћењем само НИ кола, при чему не сме да постоји могућност појаве глича;
б) коришћењем само НИЛИ кола, при чему не сме да постоји могућност појаве глича.
Решење
Логичка функција F је задата у облику скупа индекса. Сваки индекс представља један
потпуни производ улазних променљивих А, B, C и D. Сваком децималном броју који
представља индекс одговара бинарни, који је комбинација нула и јединица; нула одговара
комплементарној, а јединица правој вредности улазне променљиве. На пример, индексу 6
одговара потпуни производ
610 = 01102 = A B C D .
Забрањена стања или стања без значаја (x-стања) одговарају комбинацијама улазних
променљивих које се никад не могу појавити или за њих није од значаја вредност излаза, тј.
функције F.
10 x 1 1
D
б) На сличан начин врши се синтеза комбинационе мреже само НИЛИ колима, као што је
приказано на слици 8.4. При минимизацији се користе и забрањена стања ради добијања
што једноставнијег решења:
F = ( A + B + C) ⋅ ( B + D ) ⋅ ( C + D ) = ( A + B + C) ⋅ ( B + D ) ⋅ ( C + D )
F = ( A + B + C) + ( B + D ) + ( C + D ) .
Комбинациона мрежа која реализује логичку функцију F је приказана на слици 8.5.
23
CD
00 01 11 10
AB
A
00 x 0
B
01 0 0 x
F
11 0 0 x
C
10 x 0 D
Задатак 9
Синтетизовати следеће логичке функције у облику двостепене И-ИЛИ логике. Потребно је
да реализација буде што једноставнија и да не постоји могућност појаве хазарда.
а) F(A, B, C, D) = ∑ (0, 2, 5, 7, 8,10,11,13,14,15)
б) Z(A, B, C, D) = ∑ (3,11,13,14,15) + x (10) .
Решење
Логичке функције F и Z ћемо најпре минимизирати коришћењем Карноових таблица (слике
9.1а и 9.2а, респективно). Реализација ових функција у облику двостепене И-ИЛИ логике је
приказана на сликама 9.1б и 9.2б.
а) F(A, B, C, D) = A C + B D + B D
CD
00 01 11 10
AB
00 A
1 1
C
01 1 1
F
11 1 1 1
10 B
1 1 1
D
10 1 x
D
Решење
а) Мултиплексер је комбинациона мрежа која обавља улогу вишеположајног прекидача, тј.
она од више улаза изабере један који ће се појавити на излазу, ако је активан сигнал дозволе
EN. Мултиплексер MUX 8/1 има осам информационих улаза I0, I1, ..., I7, и три селекциона
улаза А2, А1 и А0.
Функција коју обавља MUX 8/1 је:
F = EN ⋅ ( A 2 A1A 0 ⋅ I 0 + A 2 A1A 0 ⋅ I1 + A 2 A1A 0 ⋅ I 2 + A 2 A1A 0 ⋅ I 3 +
+ A 2 A1A 0 ⋅ I 4 + A 2 A1A 0 ⋅ I5 + A 2 A1A 0 ⋅ I 6 + A 2 A1A 0 ⋅ I 7 ) .
При реализацији логичке функције коришћењем мултиплексера, улазне променљиве се
доводе на селекционе улазе. Пошто логичка функција F има четири улазне променљиве, а
MUX8/1 само три селекциона улаза, четврта променљива се доводи преко информационих
улаза. Ако на адресне улазе доведемо променљиве А2=А, А1=B, А0=C, и ако је сигнал
дозволе активан, EN=1, тада је функција коју обавља мултиплексер:
F = A B C ⋅ I 0 + A B C ⋅ I1 + A B C ⋅ I 2 + A B C ⋅ I 3 +
+ A B C ⋅ I 4 + A B C ⋅ I5 + A B C ⋅ I6 + A B C ⋅ I7 . (10.1)
Дакле, да би могли да реализујемо логичку функцију F
F(A, B, C, D) = A B C D + A B C D + A B C D + A B C D + A B C D +
+ A B C D + A B C D + A B C D + A B C D + A BC D
коришћењем MUX 8/1, потребно је да је сведемо на облик дат једначином (10.1):
F = A B C ⋅ 0 + A B C ⋅ ( D + D ) + A B C ⋅ ( D + D) + A B C ⋅ D +
+ A B C ⋅ 0 + A B C ⋅ ( D + D) + A B C ⋅ D + A B C ⋅ ( D + D ) ,
односно,
F = A B C ⋅ 0 + A B C ⋅1 + A B C ⋅1 + A B C ⋅ D 0 I0
1 I1
+ A B C ⋅ 0 + A B C ⋅1 + A B C ⋅ D + A B C ⋅1 I2
D I3 F F
Дакле, на информационе улазе треба I4
MUX 8/1
довести: I5
I0 = 0 I4 = 0 I6
I7
I1 = 1 I5 = 1
1 EN
I2 = 1 I6 = D S2 S1 S0
I3 = D I7 = 1 A B C
Реализација логичке функције F је Слика 10.1
приказана на слици 10.1.
25
Напомена: Могуће је и на други начин размотрити реализацију логичке функције помоћу
мултиплексера. Потребно је функцију представити помоћу Карноове таблице и формирати
контуре које одговарају информационим улазима, као што је приказано на слици 10.2.
Свака контура носи информацију одређену преосталом улазном променљивом D, која није
доведена на селекционе улазе, Ii = f(D), i=0,1,…,7.
I0 = D ⋅ 0 + D ⋅ 0 = 0 AB
CD
00 01 11 10
I1 = D ⋅1 + D ⋅1 = 1 I0
00 0 0 1 1 I1
I 2 = D ⋅1 + D ⋅1 = 1 01 1 1 1 0 I3
I2
I 3 = D ⋅ 0 + D ⋅1 = D
11 1 0 1 1 I7
I6
I4 = D ⋅ 0 + D ⋅ 0 = 0
10 0 0 1 1 I5
I 5 = D ⋅1 + D ⋅1 = 1 I4
I 6 = D ⋅1 + D ⋅ 0 = D Слика 10.2
I 7 = D ⋅1 + D ⋅1 = 1
I1 = C + D 01 I1
1 1 1 0
I2 = C + D
11 1 0 1 1 I3
I3 = C
10 0 0 1 1 I2
Слика 10.3
Реализација функције је приказана на слици 10.4.
C I0
I1
D F F
I2
MUX 4/1
I3
1 EN S1 S0
A B
Слика 10.4
26
Задатак 11
На слици 11.1 је приказан мултиплексер MUX 8/1. Када је активан сигнал дозволе Е један
од информационих сигнала D0, D1, ..., D7 се прослеђује на излаз Y.
а) Ако су информациони сигнали D0= D1= D4= D5= D6= 0 и D2= D3= D7=1, селекцијски
S0=S1=1, а S2=0 до тренутка t =100ns када се мења и постаје S2=1, нацртати временске
дијаграме сигнала на излазима логичких кола 1÷8 и сигнал Y1. Објаснити добијене
резултате!
б) Ако су селекцијски улази S0, S1 и S2 постали активни у тренутку t = 0, у ком
временском интервалу (tA, tB) морају да буду постављени информациони улази, а у ком
интервалу (tC, tD) треба да буде активан сигнал дозволе Е, да би излазни сигнал Y био
исправан барем 40 ns?
ц) Пројектовати мултиплексер MUX 32/1 ако су на располагању искључиво
мултиплексери MUX 8/1.
D0 D1 D2 D3 D4 D5 D6 D7
S2
S1
S0
1 2 3 4 5 6 7 8
Y1
9 Y
10
Слика 11.1
Решење
а) Мултиплексер је реализован коришћењем И-ИЛИ кола, тј. излазни сигнал Y1 је у облику
суме потпуних производа, и зато можемо очекивати појаву „лажне нуле“. (Спречавање
„лажне нуле“ се врши блокирањем излаза у временском интервалу када би се она могла
појавити, тј. за t ∈ (128ns, 179ns) треба да буде EN=0).
Почетак „лажне нуле“ одређује сигнал на излазу логичког кола 4:
t1min = 118ns + tHL ILImin = 118n + 10n = 128ns
t1max = 134ns + tHL ILImax = 134ns + 22n = 156ns
Крај „лажне нуле“ одређује сигнал на излазу логичког кола 8:
t2min = 125ns + tLH ILImin = 125ns + 7ns = 132ns
t2max = 164ns + tLH ILImax = 164ns + 15ns = 179ns
27
Због делимичног преклапања интервала у коме може почети и у коме се завршава
„лажна нула“, до ове појаве може али не мора доћи.
Временски дијаграми сигнала су приказани на слици 11.2.
S0 = S1 = 1
S2
100n
S2
107n 115n
S2
115n 137n
D0 = D1 = D4 = D5 = D6 = 0
D 2 = D3 = D 7 = 1
LK4
118n 134n
LK8
125n 164n
Y1
128n 179n
Слика 11.2
28
Селекциони сигнали до улаза И-кола морају да прођу кроз један или два инвертора.
Дакле, најкасније Dј треба да буде постављен у
tA= min{tLHINVmin; tHLINVmin + tLHINVmin}= min{8n,18n}=8ns
Сигнали на излазима логичких кола 1 до 8 се појављују након
t4min = min{tLHINVmin + tLHImin; tHLINVmin + tLHINVmin + tLHImin}=
= min{8n + 10n; 7n + 8n + 10n} = 18ns
t4max = max{tLHINVmax + tLHImax; tHLINVmax + tLHINVmax + tLHImax}=
= max{22n + 27n; 15n + 22n + 27n}=64ns
Излазни сигнал Y1 постаје сигурно висок након
t5max = t4max + tLHILImax = 64ns + 15ns = 79ns.
Анализа је вршена тако да се посматра прослеђивање Dj=1 од тренутка када је
одговарајуће И-коло (1 до 8) селектовано, јер ако је Di=0, онда се ништа не мења у односу
на претходни тренутак када је дато логичко коло било неактивно.
Дакле, прелазни процеси су завршени (тј. Y1 је исправан) ако је претходно активна „1“
на информационом улазу престала да утиче на Y1 или када је тренутно селектована „1“ на
информационом улазу «стигла» до излаза кола 9. Уколико је Di =0 тада је Y1=0 и нема
разлике у односу на случај да одговарајућа кола 1-8 нису активирана.
tC = max{t3max + tHLILImax; t5max}= max{78n;79n}=79ns
Излазни сигнал Y, приказан на слици 11.3, постаје активан након:
tYAmin = tC + tLHImin = 79n + 10n = 89ns
tYAmax = tC + tLHImax = 79n + 27n = 106ns
Из услова да Y треба да буде исправан барем 40 нс одређује се тренутак када сигнал EN
треба да постане неактиван (EN=0):
tYBmin = tYAmax + 40ns = 106ns + 40ns = 146ns
tD = tYBmin – tHLImin = 146n – 11n = 135ns
Ако је EN престао да буде активан, више ни информациони улази не морају да буду
активни.
tB = tD – tHLILImin – tHLImin = 135n –10n – 11n = 114ns
Интервал (tА, tB) је најкраћи у коме Di морају бити постављени да би мултиплексер
исправно радио. Они могу бити постављени и пре tА, а промењени после tB.
EN
tc tD
Y
tYA min tYA max tYB min tYB max
Слика 11.3
29
Напомена:
У стварности се сигналима пристиглим на информационе улазе прилагођава рад
мултиплексера.
За вежбу: Исти текст задатка, само сматрати да су информациони улази постављени у t=0 и
да треба одредити у ком интервалу селекцијски улази морају да буду активни, да би излаз F
био исправан барем 40ns?
D0 D0
D1 D1
D2 D2
D3 D3
D4 D4 F D0
D5 D5 MUX 8/1 D1
D6 D6 D2
D7 D7 D3
x D4 F
EN1 EN x D5 MUX 8/1
S2 S1 S0 D6
x
x D7
S2 S1 S0
EN2 EN
D8 D0
S2 S1 S0
D9 D1
D10 D2 S4 S3
D11 D3
D12 D4 F
D13 D5 MUX 8/1
D14 D6
D15 D7
EN
S2 S1 S0
S2 S1 S0
D16 D0
D17 D1
D18 D2
D19 D3
D20 D4 F
D21 D5 MUX 8/1
D22 D6
D23 D7
EN
S2 S1 S0
S2 S1 S0
D24 D0
D25 D1
D26 D2
D27 D3
D28 D4 F
D29 D5 MUX 8/1
D30 D6
D31 D7
EN
S2 S1 S0
S2 S1 S0
Слика 11.4
30
Задатак 12
Реализовати функцију
F(A 4 , A 3 , A 2 , A1 , A 0 ) = ∑ (0, 2, 5, 6, 9,10,11,12,14,16,18,19, 22, 24, 27, 28, 30, 31)
а) коришћењем искључиво мултиплексера MUX 8/1 и
б) коришћењем једног мултиплексера MUX 8/1 и потребних логичких кола. Објанити!
ц) Коришћењем два MUX 4/1 и потребних логичких кола реализовати комбинациону мрежу
која одговара мултиплексеру MUX 8/1. (Напомена: водити рачуна и о сигналу дозволе EN!)
I0 Y
I1
I2
I3
I0 Y I4
I1 I5 MUX 8/1
I2 I6
I3 MUX 4/1 I7
EN EN
A1 A0 A2 A1 A0
Слика 12.1
Решење
а) Ако је функција представљена у об1ику скупа индекса, онда су наведене комбинације
улазних променљививих за које је F=1; за преостале комбинације које нису наведене F=0:
F(А4,А3,А2,А1,А0) = ∏ (1,3,4,7,8,13,15,17,20,21,23,25,26,29)
Реализација коришћењем MUX 8/1 се своди на претходни задатак, у коме је извршено
повећавање капацитета мултиплексера (слика 12.2).
31
1 D0
0 D1
1 D2
0 D3
0 D4 F D0
D5 MUX 8/1 D1
1
1 D6 D2
0 D7 D3
x D4 F
EN1 EN x D5 MUX 8/1
S2 S1 S0 D6
x
x D7
A2 A1 A0
0 EN2 EN
D0
S2 S1 S0
1 D1
1 D2 A4 A3
1 D3
1 D4 F
0 D5 MUX 8/1
1 D6
0 D7
EN
S2 S1 S0
A2 A1 A0
1 D0
0 D1
1 D2
1 D3
0 D4 F
0 D5 MUX 8/1
1 D6
0 D7
EN
S2 S1 S0
A2 A1 A0
1 D0
0 D1
0 D2
1 D3
1 D4 F
D5 MUX 8/1
0
1 D6
1 D7
EN
S2 S1 S0
A2 A1 A0
Слика 12.2
б)
A4 A3
I0
I1
I2
I3 F F
I4
MUX 8/1
I5
1 I6
I7
1 EN S2 S1 S0
A2 A1 A0
Слика 12.3
32
ц) Коришћењем два MUX 4/1 и потребних логичких кола реализована је комбинациона
мрежа која одговара мултиплексеру MUX 8/1 (Слика 12.4).
MUX 8/1
I0 I0 Y
Y
I1 I1
I2 I2
I3 I3 MUX 4/ 1
EN
A1 A0
I4 I0 Y
I5 I1
I6 I2
I7 I3 MUX 4/ 1
EN
A1 A0
EN A2 A1 A0
Слика 12.4
Задатак 13
На слици 13.1 је приказана логичка шема интегрисаног декодера 74HC138.
a) Одредити трајања активних стања сигнала селекције CS1.H, CS2.L и CS3.L ако излазни
сигнали треба да буду сигурно исправни барем 50 ns. Нацртати временске дијаграме
свих сигнала ако претпоставимо да су у тренутку t=0 постављене све улазне
променљиве А2=1, А1=А0=0. Колико дуго требају да буду важећи улазни сигнали?
b) Ако би контролни сигнали били непрекидно активни, шта би се дешавало при промени
вредности улазних променљивих (нпр. прво је било А2А1А0=1102, а затим
А2А1А0=1002)? Објаснити!
c) Реализовати функцију F(A, B, C, D) = ABC + BCD + ABC коришћењем једног декодера
74HC138 и једног НИ кола.
d) Коршћењем потребног броја декодера 74HC138 реализовати декодер 5/32.
33
A2 A1 A0
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
CS3 EN1
E
CS2
CS1
Слика 13.1
Решење
a) Да би одговарајући излаз био активан потребно је да све улазне променљиве буду
постављене пре него што се активира сигнал дозволе (ЕN=1)
34
У ком интервалу ће се појавити сигнал дозволе ЕN?
t2min= 23ns
t2max = max {tA+ tLHImax; tB + tLHNILImax + tLHImax}=
= max {11n + 29n; 1n + 22n + 29n}= max{40n; 52n}
= 52 ns
EN: t6min = min {tA1 + tHLImin; tB1 + tHLNILImin + tHLImin} = min {111n;111n}= 111n
t6max = tA1 + tHL Imax = 100n + 25n = 125ns
Напомена: t6маx је одређен тиме да је CS1 престао да буде активан, услед чега, без обзира на
CS2 и CS3 , излаз EN опада на нулу.
Излазни сигнал Y 4 престаје да буде активан најкасније након:
t4max = t6max + tLHNImax = 125n + 22n = 147ns
Улазне променљиве морају да буду постављене најкраће до:
t7 = t6max – min{tHLINVmin; tLHINVmin + tHLINVmin}= 125n – min{7n, 15n}
t7 = 118ns
Овај тренутак је одређен из услова да улазне променљиве не смеју да мењају вредност све
док је сигнал дозволе EN на улазима излазних кола активан. Посматра се најгори могући
случај, а то је да улазни сигнали максимално брзо пропагирају до улаза излазних НИ кола.
35
A2
118n
A1, A0
118n
A2
11n 126n
A1, A0
12n 125n
A2
23n 133n
A1, A0
23n 133n
CS 1
11n 100n
CS 2, CS 3
1n 90n
EN 1
EN
Y4
Yi = 1
i = 0,1,2,3,5,6 ,7
Слика 13.2
b) Када би сигнал дозволе био непрекидно активан (Е=1) могло би се десити да, услед
коначног времена пропагације сигнала, истовремено два излазна сигнала декодера буду
активна, тј. да декодер ради неисправно.
На пример, при прелазу А2А1А0 = 1102 Æ А2А1А0 = 1002, као што је приказано на слици
13.3
36
A2 = 1
A0 = 0
A1
t=0
A1
td
A1
2td
Y6
3td
Y4
2td
Слика 13.3
Ако сматрамо да су времена пропагација свих логичких кола једнака и да износе td, тада
се види да су у интервалу (2 td, 3 td) истовремено два излаза (Y4 и Y6) активна.
Дакле, ако се један бит мења са 1 на 0, тада излаз који садржи комплементарну
вредност те променљиве постаје активан пре него што се излаз који садржи праву вредност
те променљиве деактивира.
Детаљна анализа је приказана на слици 13.4.
A2, A0 = 1
A1
A1
8n 12n
A1
15n 23n
Y6
25n 45n
Y4
18n 31n
Слика 13.4
37
У интервалу t ∈ (18ns;45ns) може се десити да два излаза буду активна (неправилан рад
декодера). Ово се може спречити забраном излаза, тј. да EN=0, у датом интервалу.
c) Реализација функције
F(A, B, C, D) = ABC + BCD + ABC .
Пошто је на располагању DEC 3/8 потребно је једну улазну променљиву довести преко
контролних улаза (слика 13.5).
CD 00 01 11 10
AB
00
01 1 1
11 1 1 1
10
Слика 13.5
Треба приметити да је B=1 заједничко за све контуре. Ако променљиву B доведемо преко
контролног улаза CS1, тада су активни следећи излази:
F(A, B, C, D) = B ⋅ (AC + CD + AC) = B ⋅ (AC D + AC D + ACD + ACD + ACD + ACD)
Дакле, излазна функција F се може представити као
F(A, B, C, D) = B ⋅ F1(A, C, D) = B ⋅ ∑ (2,3,4,5,7)
A A2 Y0
C A1 Y1
D A0 Y2
Y3
74HC138
Y4
F
B CS1 Y5
CS2 Y6
TAKT.L CS3 Y7
Слика 13.6
38
A0 A0 Y0 Y0
A1 A1 Y1 Y1
A2 A2 Y2 Y2
A3 Y3 Y3
74HC138
A4 Y4 Y4
1 CS1 Y5 Y5
CS2 Y6 Y6
A0 Y0 CS3 Y7 Y7
A1 Y1
A2 Y2
Y3
74HC138 A0 Y0 Y8
Y4
A1 Y1 Y9
1 CS1 Y5
A2 Y2 Y10
CS2 Y6
Y3 Y11
TAKT.L CS3 Y7 74HC138
Y4 Y12
1 CS1 Y5 Y13
CS2 Y6 Y14
CS3 Y7 Y15
A0 Y0 Y16
A1 Y1 Y17
A2 Y2 Y18
Y3 Y19
74HC138
Y4 Y20
1 CS1 Y5 Y21
CS2 Y6 Y22
CS3 Y7 Y23
A0 Y0 Y24
A1 Y1 Y25
A2 Y2 Y26
Y3 Y27
74HC138
Y4 Y28
1 CS1 Y5 Y29
CS2 Y6 Y30
CS3 Y7 Y31
Слика 13.7
39
Задатак 14
а) Комбинациона мрежа приказана на слици 14.1 има могућност појаве глича. Испитати које
су комбинације улазних променљивих А, B, C и D при којима се може појавити
неправилност у раду и илустровати их цртањем временских дијаграма свих сигнала.
Користити типична времена кашњења tdtip дата у табели.
б) Испитати да ли је једноставнија реализација логичке функције F коришћењем само НИ
или само НИЛИ кола. При томе не сме постојати могућност појаве глича!
ц) Реализовати логичку функцију F коришћењем мултиплексера MUX 4/1 и потребних
логичких кола.
д) Реализовати логичку функцију F коришћењем декодера DEC 3/8 и потребних логичких
кола.
е) Ако није могуће извршити модификацију дигиталне мреже, потребно је извршити њену
синхронизацију. То ће бити урађено тако што ће се уместо излазног кола 7 користити
логичко коло 8, на чији четврти улаз се доводи сигнал дозволе EN. Сигнал дозволе треба
да блокира излазни сигнал F све док трају прелазни процеси. Одредити временски
интервал (t1,t2) у коме сигнал EN треба да блокира излазни сигнал F, ако се комбинација
улазних променљивих мења у тренутку t=0.
ф) За комбинацију улазних променљивих приказану на слици 14.1, нацртати временске
дијаграме свих сигнала (укључујући и сигнал EN одређен под ф)) за синхронизовану
мрежу.
AO Y0
A 1 A1 Y1
DO F A2 Y2
B 4 D1 Y3
D2 Y4
D3 EN Y5
MUX 4/1 Y6
EN Y7
DEC 3/8
S1 S0
C 2 5 7 F
A
B
8 C
6 D
D 3 t=0
Слика 14.1
td min td tip td max
Инвертор 7 ns 10 ns 13 ns
И коло 10 ns 15 ns 20 ns
ИЛИ коло 9 ns 12 ns 17 ns
Решење
а) Пошто је логичка функција реализована у облику двостепене И-ИЛИ логике, постоји
могућност појаве хазарда јединице (,,лажне“ нуле), и то ако:
1. A = 0, B = 1, C = 0, D се мења, CD
00 01 11 10
AB
2. A = 1, B = 1, C = 0, D се мења,
00
3. B = 1, C = x, D = 0, A се мења.
01 1 1 1
На слици 14.2 је приказана
11 1 1 1
функција F у Карноовој таблици, а на
слици 14.3 су приказани случајеви 10 1 1
при којима настају хазарди.
Слика 14.2
40
1. А=0, B=1, C=0, D↓, 2. А=1, B=1, C=0, D↓, 3. B=1, C=x, D=0, А↓.
B=1 A=B=1 B=1
A=C=0 C=0 D=0
D D C=x
0 0
D D A
0
10ns 10ns
AD=0 AD=0 A
25ns 10ns
ABD ABD AD
25ns 15ns
BCD BCD ABD
15ns 15ns
25ns
F F BCD=0
27ns 37ns 27ns 37ns
F
27ns 37ns
Слика 14.3
CD F = AC + BC + BD = AC ⋅ BC ⋅ BD
AB 00 01 11 10
00 A
01 1 1 1
B F
C
11 1 1 1
10 1 1 D
Слика 14.4
CD F = (A + B)( C + D )(B + D ) = A + B + C + D + B + D
AB 00 01 11 10
00 0 0 0 0 A
B
01 0
F
11 0
C
10 0 0
D
Слика 14.5
Пошто је потребан исти број логичких кола при реализацији НИ колима и при реализацији
НИЛИ колима, свеједно је како ћемо реализовати функцију F.
41
CD A
00 01 11 10 I0
AB B
00 0 0 0 0 I1
F F
01 1 1 0 1 I2
MUX 4/1
0 I3
11 1 1 0 1
10 1 EN S1 S0
1 0 0 1
I0 I1 I3 I2 C D
д) Реализација функције помоћу декодера DEC 3/8 на два различита начина је приказана на
сликама 14.8а за А2=А, А1=B и А0=C и 14.8б за А2=B, А1=C и А0=D.
C 2 5 8 F
6
D 3
EN
Слика 14.9
Ако се на улазу комбинационе мреже комбинација улазних променљивих мења у тренутку
t=0, та промена ће стићи до улаза излазног логичког кола 8 најраније након:
t1 = min{td1min+td4min; td4min; td5min; td2min+td5min; td5min; td6min; td3min+td6min}
42
t1 = min{7 ns+10 ns; 10 ns; 10 ns; 7 ns+10 ns; 10 ns; 10 ns; 7 ns+10 ns }
t1 = 10 ns,
док ће се сигурно успоставити нове вредности на улазима излазног кола након:
t2 = max{td1max+td4 max; td4 max; td5 max; td2 max +td5 max; td5 max; td6 max; td3 max +td6 max}
t2 = max{13ns+20 ns; 20ns; 20 ns; 13ns+20ns; 20ns; 20ns; 13ns+20ns }= 33 ns.
Дакле, док трају прелазни процеси и док се не формирају нове, исправне вредности на
улазима 8, треба блокирати излаз. Облик сигнала дозволе је приказан на слици 14.10.
EN
10 ns 33 ns
Слика 14.10
Слика 14.11
43
Задатак 15
На улазе комбинационе мреже приказане на слици 1 доводе се улазне променљиве А, B, C и
D чије се вредности постављају у t=0. Након тога, улазне променљиве мењају вредност
истовремено сваких 150 ns.
а) Коришћењем података датих у табели 15.1 одредити у којим временским интервалима
треба да буде активан сигнал дозволе EN тако да излазна променљива Y буде исправна што
је могуће дуже. Нацртати сигнал дозволе EN.
б) Ако је на улазу била комбинација АBCD=1100 која се у тренутку t1=150 ns променила и
постала АBCD=0111, нацртати све сигнале (укључујући и сигнал дозволе EN).
C
D
EN
Слика 15.1
Решење
а) Улазни сигнали се постављају у тренутку t=0, и након тога се мењају сваких 100 ns (слика
15.2).
Ако се улазни сигнали мењају у тренутку t0, тада промена улазних сигнала може најраније
да стигне до неког од улаза излазног кола F након:
t 1 = t d Im in = 11ns ,
а најкасније након
t 2 = t dINV max + t d Im ax + t dINV max + t d Im ax = 12 + 23 + 12 + 23 = 70ns
Дакле, сигнал дозволе треба да блокира излаз (EN=1) у интервалу
t ∈ ( t 0 + t 1; t 0 + t 2 ) .
44
За дате улазне сигнале, одговарајући сигнал облик сигнала дозволе EN је приказан на слици
15.2.
Слика 15.2
A=D
B =1
B=0
CD
CD
AB ⋅ C D = 0
BCD = 0
B+ D =1
A+C
(A + C )(B + D)
Слика 15.3
45
Задатак 16
Да ли има логичког хазарда (лажног импулса, глича) у датој функцији, ако се реализује у
облику збир производа?
Ако има, елиминисати га и синтетизовати логичку функцију у облику двостепене логике
НИ-НИ.
4
F(D, C, B, A) = ∑ (0,1,2,4,5,7,13,14,15) .
Решење:
Ову функцију, задату индексима сума унесимо у Карноову таблицу тако што упишемо
вредност 1 у сва задата поља (0,1,2,4,5,7,13,14,15). У осталим пољима функција има
вредност 0.
У циљу провере да ли има хазарда ако би се функција реализовала у облику збир производа
минимизирамо је користећи јединице:
F
BA
00 01 11 10
DC
00 1 1 0 1
01 1 1 1 0
11 0 1 1 1
10 0 0 0 0
Слика 16.1
F = D B ⋅ CA ⋅ DCB ⋅ D C A
Нацртајмо одговарајућу мрежу (запазимо да су вредности променљивих које треба довести
на улаз одговарајућих капија у оба случаја исте, што значи да су реализације функције у
облику И-ИЛИ И НИ-НИ мреже потпуно еквивалентне):
46
D
B
D
C
A
Слика 16.2
Задатак 17
Да ли има статичког хазарда у следећој функцији, ако се реализује у облику збира
производа односно производа збирова променљивих?
Ако има, елиминисати га у обе варијанте и коначно синтетизовати само минималнију
варијанту.
4
F(D, B, C, A) = ∑ (0,1,2,3,5,7,8,10,12,14) .
Решење:
Потребно је минимизирати функцију на оба начина (како заокруживањем јединица, тако И
заокруживањем нула). Зато нацртајмо две Карноове таблице, ради прегледности (обратимо
пажњу на задати редослед променљивих, у складу са њим обележавамо променљиве у
таблицама):
Слика 17.1
47
контуре, уоквирене дебљом линијом, која у овом случају обухвата поља у угловима
(обележено ЕХ – Елиминација Хазарда ).
F∑ = D B + DA + DA + BA ЕХ ( )(
F∏ = D + A D + B + A )
N ∑ = 2 + 2 + 2 + 2 + 4 = 12 N∏ = 2 + 3 + 2 = 7
Имамо четири двоулазне И капије Имамо једну двоулазну и једну
троулазну ИЛИ
и једну четвороулазну ИЛИ капију. капију, и једну двоулазну И капију.
Види се да је реализација у облику производа сума значајно једноставнија (7 < 12). Цртамо
логичку шему само те верзије функције:
D
A
D
B
A
Слика 17.2
Задатак 18
Синтетизовати логичку функцију у минималној форми, у облику двостепене логике НИЛИ
- ИЛИ типа.
f (A, B, C) = (A + B) ⋅ C + A ⋅ B
Решење:
Фунција је задата у нестандардној форми. Пошто ћемо за минимизацију користити
Карноову таблицу, доведимо функцију на неки стандарднији облик, да бисмо је лакше
унели у таблицу.
F(A, B, C ) = (A + B)C + AB = AC + BC + A + B =
( ) ( ) ( )( ) ( )(
= A B + B C + A + A BC + A B + B C + C + A + A B C + C = )
= ABC + ABC + ABC + ABC + ABC + ABC + ABC + AB C +
+ ABC + ABC + AB C + AB C = ∑ (7,5,3,2,1,0,4 ) = ∑ (0,1,2,3,4,5,7 )
Свели смо фунцију на просте потпуне производе и изразили је индексима. Тражена
реализација НИЛИ-ИЛИ је нестандардна, нити се може простом трансформацијом
48
(применом једне од де Морганових теорема) свести на стандардну форму. Питање је, да ли
се уопште може реализовати у траженој форми? Приметимо следећу могућу
трансформацију, пошто се ИЛИ операција може свести на НИЛИ-НЕ:
0 0 0 1
Слика 18.1
F = ∑ (6 )
F = (А)·(B)·(C) = (А)·(B)·(C) = А + B + C
Задатак 19
Да ли има хазарда (лажног импулса, глича) у следећој непотпуно дефинисаној функцији,
ако се реализује у облику збира производа. Ако има, елиминисати га и синтетизовати
логичку функцију у облику двостепене логике И-ИЛИ структуре.
4
F( D , C , B, A ) = ∑ (0,1,2,4,5 X ,6,9,11,13,15 ) .
49
Решење:
Ако је функција из неког разлога непотпуно дефинисана, неопходно је испитати све
могућности приликом минимизације и, евентуалне потребе за елиминацијом хазарда. У
овом задатку функција је неодређена на пољу индекса 5 (DЦBА=0101). Нацртајмо Карноову
таблицу за обе варијанте функције (означено X=1 и X=0). У оба случаја по формирању
максималних поља логичких производа (од јединица) примећујемо да је могућа по једна
хазардна ситуација (статички хазард јединице), при промени D са 1 на 0. По елиминацији
могућих хазарда (дебљом линијом извучена поља очитамо вредности обе варијанте
функције. Налазимо мере сложености. Закључујемо да је за X=1 потребан мањи број улаза
логичких кола, па се опредељујемо за цртање само те логичке шеме. (У савременим
реализацијама логичких кола број улаза капија је директно сразмеран потребном броју
прекидачких елемената - мосфетова, за реализацију сваког улаза користе се два мосфета).
Слика 19.1
F(X = 0) = DA + DA + D C B + C BA F(X = 1) = D B + DA + DA + BA
ЕХ ЕХ
D B
B
D
A
F
D
A
B
A
Слика 19.2
50
Задатак 20
Да ли има хазарда (лажног импулса, глича) у следећој непотпуно дефинисаној функцији,
ако се реализује у облику збира производа. Ако има, елиминисати га и синтетизовати
логичку функцију у облику двостепене логике НИ-НИ структуре.
4
F ( D , C , B, A ) = ∑ (0 X ,1,2,4,5,6,9,11,13 ,15 ) .
Решење:
Коришћењем де Моргановог правила, након претходног двоструког инвертовања
примећујемо да је
ΝΙ − ΝΙ = Ι − ΙLI
Даља процедура је аналогна претходном задатку.
F(x=0) EH F(x=1) EH
BA BA
00 01 11 10 00 01 11 10
DC DC
00 1 1 00 1 1 1
01 1 1 1 01 1 1 1
11 1 1 11 1 1
10 1 1 10 1 1
F(x = 0) = B A + DA + D CA + D BA + D C B
N(X = 0) = 2 + 2 + 3 + 3 + 3 + 5 = 18
ЕХ
F(x = 1) = B A + DA + D A + D B
N(x = 1) = 2 + 2 + 2 + 2 + 4 = 12 (< 18 ) Минимално
51
B
D
A
D
B
Слика 20.1
Задатак 21
Илустровати динамички хазард у логичкој мрежи (за мрежу у којој се грешка јавља при
порасту напона на излазу Y при промени променљиве Ц). Скицирати релевантне сигнале,
уз занемаривање кашњења сигнала која не утичу на суштину појаве. Шта се мења ако се
хазард јавља при опадању сигнала Y?
Решење:
Динамички логички хазард појављује се у комбинационим мрежама у којима промена
критичне променљиве изазива промену излаза преко две путање. У једној се, без значајног
кашњења, појављује статички хазард (глич), а у другој, великим кашњењем, после
завршетка поменутог глича појави трајна промена.
У нашем случају потребан је растући глич. Такав може настати у мрежи структуре ИЛИ-И
(сликовито представљено у горњем блоку). У доњем блоку је важно да за исте комбинације
преосталих улазних променљивих (означених са X) променљива Ц пропагира са великим
кашњењем ∆. Излазна капија мора да пропусти оба растућа сигнала независно, што значи да
мора бити ИЛИ капија.
X
C
F
Слика 21.1
52
Скица сигнала, уз занемарење кашњења у ИЛИ и И колима у блоку са статичким хазардом,
као и у излазној ИЛИ капији је следећа:
Слика 21.2
Ако се динамички хазард појављује при опадајућој ивици сигнала на излазу, постоје две
могућности:
• Све исто, само излазна капија инвертована (НИЛИ уместо НИ), што је тривијално
решење, али често у пракси, при мешовитом коришћењу позитивне и негативне
логике.
• Све обрнуто: мрежа са статичким хазардом јединице уместо нуле, проблем се
појављује при обрнутој промени критичне променљиве на улазу и излазна капија је
И типа (што значи да је мрежа у целини дуална претходно приказаној).
Задатак 22
Нацртати пример једноставне синхронизоване комбинационе мреже, са тактом активним на
високом нивоу, код које је у неактивном стању такта излаз трајно на ниском нивоу.
Усвојити интервал трајања такта, уз познавање толеранције смиривања улазних сигнала, и
скицирати на временском дијаграму (приближно, али прегледно) интервале у којем важи
излаз и у којем се улаз не сме мењати. Занемарити кашњење додате логичке капије.
Посебно, упрошћено, скицирати сигнале за конкретно усвојен такт сигнал, уз занемарење
кашњења и у комбинационој мрежи.
Решење:
Ово је проблематика накнадног синхронизовања излазног сигнала комбинационе мреже
КМ. То се своди на временско селектовање излазног сигнала Y у интервалу у којем је то
сигурно важећи сигнал. (У пракси се ово најчешће ради на улазу неке следеће мреже која ја
корисник сигналаY.)
Ако сигнал синхронизације (такта) треба да је активан – пропустан – при високом
нивоу, синхронизација се обавља додатном капијом И типа (И или НИ). Ако је при томе
важно да је излаз (F) низак у неактивном стању такта, избор капије се ограничава на И:
53
Y=F
X KM
F
T .H
Слика 22.1
⎧Y za T.H = 1 ⎫
F = Y⋅H = ⎨ ⎬
⎩1 za T.H = 0⎭
T. H
F
F ≡1 F≡ Y F ≡1
Слика 22.2
54
X
T.H
Слика 22.3
Задатак 23
Нацртати пример једноставне синхронизоване комбинационе мреже, са тактом активним на
високом нивоу, код које је у неактивном стању такта излаз трајно на високом нивоу.
Скицирати на временском дијаграму (приближно, али прегледно) интервале у којем важи
излаз и у којем се улаз не сме мењати, при томе занемарити кашњења.
Решење:
У складу са коментарима у вези претходног задатка, пошто је такт пропустан на високом
нивоу, и у овом случају је потребно додати коло И типа (И односно НИ капија долази у
обзир). Када је такт ниске вредности, излаз треба да је висок: значи, излазна капија уједно
треба да инвертује. Ставићемо, значи, НИ капију.
Слика 23.1
⎧ Y za T.H = 1 ⎫
F=Y⋅H = ⎨ ⎬
⎩1 za T.H = 0⎭
55
Слика 23.2
Стрелице на слици 23.2 указују на то да излазна капија инвертује сигнал са излаза основне
комбинационе мреже.
Задатак 24
Нацртати пример једноставне синхронизоване комбинационе мреже, са тактом активним на
ниском нивоу, код које је у неактивном стању такта излаз трајно на ниском нивоу. Узевши у
обзир сва кашњења, одабрати погодни облик сигнала такта и скицирати на временском
дијаграму (приближно, али прегледно) интервале у којем важи излаз и у којем се улаз не
сме мењати.
Решење:
Ако такт треба да буде пропустан на ниском нивоу, потребно додати коло ИЛИ типа (ИЛИ
односно НИЛИ капија долази у обзир). Када је такт висок, излаз треба да је низак: значи,
излазна капија уједно треба да инвертује. Користимо НИЛИ капију.
Y=F
X KM
F
Takt
Слика 24.1
F = Takt + Y
Такт = 0 F=Y
Такт = 1 F=0
56
Слика 24.2
Задатак 25
Потребно је реализовати декодер већег капацитета, користећи мање декодерске модуле:
а) декодер 4/16 реализовати декодерима 2/4 б) декодер 4/12 реализовати такође декодерима
2/4.
Решење:
Декодер је комбинациона мрежа (често готов модул – функционални блок) који на основу
вредности кода доведеног на улаз (на одговарајуће улазне прикључке) активира један и
само један од својих излаза, под условом да је сигнал EN (Енабле, активирање, омогућавање
рада, синхронизација) активан. У принципу декодер се може реализовати за различите
кодове (најчешће за бинарни), EN може бити активан на висок или низак ниво, а неактиван
излаз може бити трајно на ниској или високој вредности. Ако се не зада другачије,
сматраћемо да је кôд природни бинарни, EN активан на висок ниво, а да су сви неактивни
излази на ниском потенцијалу.
У задацима овог типа потребно је прво нацртати блок шему мреже коју је потребно
реализовати, уз прецизно обележавање свих прикључака. Затим треба нацртати блок шему
компоненте (модула) који стоји на располагању.
Нацртајмо те блокове за случај под а):
.
DEK 2/4
X0 Y0
X1 Y1
Y2
EN Y3
Слика 25.1
57
Декодер 4/16 је потпуни декодер (42=16) са четири тежинска улаза, обележена са X0,
X1,...X3, по растућим бинарним тежинама и шеснаест излаза, обележена Y0, Y1,...Y15, при
чему се индекси поклапају са бинарно кодованим улазним сигналом, који активира
одговарајући излаз.
Аналогно важи за декодер 2/4, само за мањи број улаза и излаза.
С обзиром да је број излаза декодера 4/16 четири пута већи него што је случај са
декодером 2/4, за реализацију излазних прикључака неопходно је користити бар 4 декодера
(може и више, али није економично). Помоћу два најнижа бита улазног кода (везивањем
улаза паралелно) одаберемо одговарајући излаз сваког од њих. Одговарајући декодерски
модул одаберемо (и активирамо преко EN улаза) додатним декодером истог типа на основу
два најтежа бита улазног кода. Преко ЕN улаза додатног декодера осварује се активирање
целог декодера. Ако је тај сигнал неактиван, ни један од излазних модула није одабран, па
су сви излази неактивни.
(Ово је пример реализације у којој су све компоненте у потпуности искоришћене).
Напомена:
1) У задацима овог типа, ако су компоненте које стоје на располагању (овде ДЕК 2/4)
добро обележене на првој блок шеми (која служи за представљање) и ако је
распоред прикључака исти при свакој примени компоненте, није потребно
обележити све прикључке.
2) На реализованој шеми неопходно је обележити све прикључке, приступачне
кориснику компоненте, у складу са симболима у блок шеми.
3) Некоришћене улазе за које важи да је њихова вредност у логичком смислу неважна
не смемо оставити да висе, што обележавамо симболом X.
4) Ако неки од улаза мора имати фиксну, одређену логичку вредност, доводимо на
улаз логичку константу (0 или 1).
5) Неискоришћене излазе остављамо слободним, необележеним.
58
X0 Y0
X1 Y1
X2 Y2
X3 EN Y3
Y4
Y5
Y6
EN Y7
EN Y8
Y9
Y12
EN Y11
Y12
Y13
Y14
EN Y15
Слика 25.2
Задатак 26
Генерисати функцију F помоћу декодера 3/8.
а) довођењем променљиве А на улаз највеће тежине;
б) довођењем променљиве C на тај улаз.
(Променљива B се у оба случаја везује на исти улаз.)
F = AB + AB C + ABC .
Решење:
Принцип рада декодера је да кодом (доведеним на улаз декодера) одређен излаз прима
вредност 1, при чему су сви остали излази на 0 (чести су и декодери, код којих је логика
управо обрнута). Ради реализације Булове функције над променљивама А, B и Ц потребно
је функцију довести на нормалну форму, збир потпуних производа. Излазе који су активни
59
за улазне комбинације за које функција има вредност један треба сабрати у логичком
смислу, ИЛИ колом са одговарајућим бројем улаза.
Наравно, треба обратит пажњу на редослед довођења променљивих на улаз мреже.
У складу са захтевима задатка функцију ћемо изразити у два облика, са редоследом
променљивих
а) АBC и
б) CBА.
F(C, B, A) = AB + AB C + ABC =
ABC + ABC + AB C + ABC = CBA + C BA + C BA + C BA
3 2 4 6 6 2 1 3
C X0 Y0 A X0 Y0
B X1 Y1 B X1 Y1
A X2 Y2 C X2 Y2
Y3 Y3
Y4 F(A,B,C) Y4 F(C,B,A)
Y5 Y5
Y6 Y6
Y7 Y7
Слика 26.1
Задатак 27
Повећање капацитета меморије ако је капацитет недовољан. Илустровати на примеру 1Мx4,
реализоване компонентама 256Кx4.
Решење:
1М X 4 256К X 4
220 218
R/W R/W
Слика 27.1
60
A0
A17
A 18 DEK
2/4
A 19
EN
CS
D0
D1
D2
D3
R/W
Слика 27.2
61
Задатак 28
Повећање капацитета меморије ако је капацитет недовољан. Илустровати на примеру 1Мx8,
реализоване компонентама 256Кx4.
Решење:
1М X 8 256К X 4
220 X 8 218 X 4
A0 D0 A0 D0
A1 D1 A1 D1
D2
D3
A19 D7 A17
CS R/ W CS R/ W
R/W
Слика 28.1
62
Задатак 29
Приоритетни кодер (сврха генерално; функционална табела за приоритетни кодер са четири
улаза − без шеме; шема приоритетне мреже са 3 улаза).
Решење:
а) Сврха приоритетног кодера је да елиминише проблем који настаје код обичног кодера:
да генерише погрешан код у случају активирања више улаза истовремено. Уместо тога
генерише код најважнијег (приоритетног) од тренутно активних улаза.
Начин рада (који се не тражи у конкретном задатку): Ако ни један улаз није активан,
излази за код су произвољни, а при томе излаз DV (Data Valid, важећи код) је 0. Ако је
активиран неки од улаза, DV=1 ставља до знања да је важећи код на излазу. При томе ако је
активан само један улаз, појављује се његов код на излазу као и код обичног кодера. Ако је
истовремено активно више улаза, приоритетни кодер кодује редни број најприоритетнијег
од активних улаза (редослед приоритета је усвојен, практично по опадајућем редоследу
улаза; а редослед приоритета стварних сигнала између којих кодер треба да направи избор
одабран је редоследом прикључивања сигнала, приликом повезивања мреже).
X3 X2 X1 X0 Y3 Y2 DV
0 0 0 0 X X 0
0 0 0 1 0 0 1
0 0 1 X 0 0 1
0 1 X X 1 0 1
1 X X X 1 1 1
Do Prioritetna
M = 2n Mreža Koder n
K
K
(P.M.)
Слика 29.2
Задатак 30
Конвертор кода (улога генерално; илустрација на примеру функционалне табеле конвертора
XS3 у NBCD кôд − минимизирати и реализовати најтежи бит).
Решење:
Конвертори кодова су комбинационе мреже које служе за претварање једног кода (од Н
бита) у други код (од М) бита, у складу са одговарајућим кодним табелама. Имају Н улаза и
остварују М функција.
Кодови XS3 (Excess 3;код више 3) и NBCD (Natural Binary Coded Decimal; природни
бинарно кодовани децимални, BCD8421) су децимални кодови који користе четири бита за
кодовање 10 стања. За одговарајући конвертор кода важи N=М=4.
Потпуна функционална табела конвертора, укључујући и улазне комбинације које се не
користе код XS3 кода (за које је излаз произвољан) је:
XS3 NBCD
X3 X2 X1 X0 D C B А
0 0 0 0 X X X X
0 0 0 1 X X X X
0 0 1 0 X X X X
0 0 1 1 0 0 0 0
0 1 0 0 0 0 0 1
0 1 0 1 0 0 1 0
0 1 1 0 0 0 1 1
0 1 1 1 0 1 0 0
1 0 0 0 0 1 0 1
1 0 0 1 0 1 1 0
1 0 1 0 0 1 1 1
1 0 1 1 1 0 0 0
1 1 0 0 1 0 0 1
1 1 0 1 X X X X
1 1 1 0 X X X X
1 1 1 1 X X X X
64
Карноова табела и логичка шема одговарајућег дела мреже за реализацију најтежег бита
NBCD кода је (слично се реализују и остале излазне функције):
D = X3X2+X3X1X0
D XX
1 0
00 01 11 10
X3X2
00 X X 0 X
01 0 0 0 0
11 1 X X X
10 0 0 1 0
Слика 30.1
Задатак 31
Заштитно кодовање помоћу бита парности (накнадно генерисање бита парности и провера
исправности примљене поруке, за четворобитну паралелно преношену поруку; скицирати
логичку шему система за паралелни пренос четворобитних, битом парности заштићених
порука са детекцијом грешке на пријемној страни).
Решење:
Ефикасан метод за заштиту порука од грешака током преноса, складиштења и слично, за
случај да су истовремене грешке на два бита мало вероватне, је увођење бита парности. На
сваку реч, дужине Н бита додаје се један бит (P, бит парности), по следећој логици:
o Ако је број јединица у оригиналној речи (поруци) паран, P=0.
o Ако је тај број непаран, P=1.
При томе се сматра да ако је број јединица 0, и то је паран број.
Тако се генерише нова кодна реч, дужине N+1, у којој је број јединица сигурно паран и
у којој се очекује да нема више од једне грешке.
Приликом провере исправности примљене поруке логика је следећа: ако је број
јединица остао паран, то значи да није било грешке (генерише се порука G=0). Ако се
прими реч са непарним бројем јединица, сигурно је наступила грешка (G=1). Напомена: ова
једноставна метода заштитног кодовања само јавља, да ли је било грешке. Не пружа
могућност кориговања грешке. Међутим, ефикасним коришћењем сигнала G може се
стопирати пренос, затражити поновно слање поруке, или поновно читање податка са диска,
CD плоче или слично, и зависности од конкретне примене.
Логичка табела при генерисању бита парности P за четворобитни код DCBA:
65
D C B А P P = D C B A + D C BA + D C B A + D CBA +
0 0 0 0 0
0 0 0 1 1 + D C B A + D C BA + DC B A + DCBA =
( ) ( )( )
0 0 1 0 1
0 0 1 1 0 = D C + DC (B ⊕ A ) + D C + D C B ⊕ A =
= (D ⊕ C)(B ⊕ A ) = (D ⊕ C)(B ⊕ A ) =
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
= (D ⊕ C) ⊕ (B ⊕ A )
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0 Слично за проверу, улази DCBAP, изл. G
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0
Минимизација ове функције није могућа, уношењем у Карноову табелу бисмо добили
наизменични распоред јединица и нула (шах табла-распоред). Приказаном
трансформацијом долазимо до закључка да је пирамидална мрежа ЕXИЛИ кола решење за
реализацију мреже.
На страни провере потребна је слична мрежа, са улазима DCBAP и излазом G, по истој
логици. Оставља се читаоцу да попуни одговарајућу логичку табелу.
D
C
B
A
P G
Слика 31.1
Корисник поруке прво проверава G. Ако има вредност 1, тражи поновно слање поруке
(или је игнорише, ако је низ порука такав да један изостанак не смета, на пример у
телефонији), а ако има вредност 0, очитава и користи поруку.
Напомена: ако имамо мрежу за проверу парности примљене поруке (у овом случају са
пет улаза), везивањем константе 0 на један улаз, са преостала четири улаза иста мрежа може
да служи и за генерисање бита парности. (Уобичајено се таква универзална компонента
производи под називом Parity Generator/Checker.)
66
Задатак 32
Мултиплексер (улоге, реализација MUX 64/1 и MUX 48/1 помоћу компоненти MUX 16/1 −
мултиплексорске мреже).
Решење:
Од улога мултиплексера важно је истаћи две:
1. Прослеђивање сигнала, доведеног на један од информационих улаза (канала),
одабраног кодом доведеним на селекциони улаз на излаз мултиплексера. (Ово је
улога вишеположајног прекидача, селектора сигнала. Класична примена је у
такозваном мултиплексираном преносу више канала сигнала, где се довољно брзо
редом одабирају сигнали појединих канала, на чему се заснива, на пример
истовремени пренос много телефонских сигнала по истом преносном медијуму –
кабловској вези у класичној телефонији. Друга је примена у хардверској
конфигурацији програмабилних кола за дигитални обраду сигнала. )
2. Реализација логичких функција зависних од Н променљивих, при чему је Nмаx=М+1
(где је М број селекционих улаза, а 2М број информационих улаза мултиплексера;
могу се реализовати и функције више променљивих мултиплексером, само то је
неелегантно и неисплативо, захтева коришћење додатних логичких мрежа).
Ради реализације већих мултиплексера (MUX 64/1 и MUX 48/1) помоћу расположивог
мањег (MUX 16/1) прво цртамо потребне блок шеме и обележавамо прикључке.
MUX 64/1 има 64 информациона улаза (I0...I63), М=ld(64)=6 селекциона улаза (ld је
логаритам основе 2; С0...С5), један излаз (Y) и улаз за активирање (EN). (EN може бити
активан на 0 или 1, у неактивноном стању излаз може бити 0 или 1, при пропуштању
сигнала MUX може и да инвертује сигнал са одабраног информационог улаза, све у
зависности од конкретне реализације. У кратким задацима, ако се не тражи друкчије,
сматрамо да је за EN=1 MUX активан, да је Y=0 у неактивном стању и да MUX не инвертује
сигнал).
MUX 48/1 има 48 информациона улаза (I0...I47), М= 6 селекциона улаза (пошто је
26>48>25, S0...S5), један излаз (Y) и улаз за активирање (EN).
Слика 32.1
67
За реализацију MUX 64/1 потребна су 4 MUX 16/1 на улазу, паралелно селектована са
најнижа 4 селекциона бита великог мултиплексера. Доводећи излазе ова четири
мултиплексера на најнижа четири информациона улаза (I0...I3) још једног, петог
мултиплексера и селекцијом ових улаза помоћу два најтежа селекциона бита (доведена на
најниже селекционе улазе овог петог кола, уз S3 =S2=0) остварујемо MUX 64/1.
Некоришћене информационе улазе (I4...I15) везујемо на произвољан константан сигнал (X).
EN улазе улазних мултиплексера везујемо на константу 1, а EN улаз излазног кола
може да послужи као EN за цео MUX 64/1.
Разматрања у вези реализације MUX 48/1 су слична. Довољна су три мултиплексера
16/1 за остваривање 48 улаза. Информациони улаз I3 мултиплексера на излазу везујемо на
произвољан константан сигнал. Све остало је исто.
Напомена: Овакве мултиплексерске мреже могу се остварити и коришћењем MUX 4/1
на позицији мултиплексера на излазу. Са техничког становишта то је и елегантније (мање је
гломазно), једино је неелегантно са становишта формулације задатка, у којој се изричито
спомиње MUX 16/1.
I0
I15
1
I16
I31
1 I0
I1
I2
I3
I32 X I4
X I5 Y
X
I47
X I15
1
I48 0 0
I63
1
Ne treba za S3 S0 EN S5 S4
MUX 48/1
Слика 32.2
68
Задатак 33
Реализовати MUX 6/1 помоћу компоненти 2/1.
Решење:
И овај задатак је могуће реализовати мултиплексерском мрежом. MUX 6/1 има 6
информациона улаза (I0...I5), М= 3 селекциона улаза (пошто је 23>6>22, С0...С2), један излаз
(Y) и улаз за активирање (EN). Цртамо шему компоненте коју је потребно остварити и
компоненте коју имамо на располагању.
MUX 6/1 MUX 2/1
I0
I1
1
I2
I3
1
1
Y
I4
I5
1 x
EN
S0 S1 S2
Слика 33.1
За остваривање 6 улаза потребна су три MUX 2/1. За избор једног од њихова три излаза
треба имати MUX 3/1, који се, опет, може остварити са улазне стране помоћу два MUX 2/1.
Њихове излазе, пак, селектујемо још једним мултиплексером 2/1. Одговарајуће
информационе улазе у сваком од ова три нивоа мултиплексера селектујемо по једним
селекционим битом MUX 6/1: улазни ниво битом S0, средњи ниво битом S1, а излазни
најтежим битом S2.
69
EN улаз излазног MUX 2/1 користимо као EN за целу мрежу, EN улазе осталих мрежа
везујемо на константу 1 да увек буду активна. Неискоришћени улаз другог мултиплексера у
средњем нивоу везујемо на произвољан сигнал (важно је да не виси).
Задатак 34
Мултиплексер (улоге, реализација MUX 7/1 помоћу компоненти 2/1).
Решење:
Разматрањима сличним онима у претходним примерима долазимо до следећег решења:
EN
S2 S1 S0
Слика 34.1
70
Задатак 35
PAL мрежа (логичка сема, реализација следећих функција помоћу PAL 3/3/2:
f (A, B, C) = B + B ⋅ C + A ⋅ C и
f (A, B, C) = B ⋅ C + A ⋅ B ⋅ C
Решење:
Програмљиве логичке компоненте типа PAL 3/3/2 (у складу са разматрањима у скриптама
из дигиталне електронике) у упрошћеној верзији можемо нацртати тако да искоришћене
улазе логичких кола заменимо тачкама у пресеку са водом на којем приспева одговарајући
(искоришћени) логички сигнал – на улазе И кола из улазних бафера-инвертора; ту се код
PAL компоненте врши само програмирање, а на улазе ИЛИ кола фиксно су везани
одговарајући излази И кола.
1) Прва фаза је нацртати саму програмљиву компоненту. По договору користимо
означавање у којем прва цифра значи укупан број улаза ( у конкретном случају 3),
друга цифра је број логичких производа коју свака функција може садржати, што је
уједно број улаза ИЛИ кола, а трећи број означава број функција које се могу
остварити PAL компонентом. То је број ИЛИ кола у излазној логичкој матрици
компоненте. Потребно је нацртати комплетну компоненту, без обзира да ли ће цела
бити искоришћена. Излази одговарајућих И кола везана су фабрички на улазе ИЛИ
кола, што остварујемо тачкама у ИЛИ матрици.
2) Доведемо улазне променљиве, произвољним редоследом. Пожељно их је
обележити, ради лакше провере и на другом крају одговарајућих веза. Ако има
неискоришћених улаза, пошто не смеју остати да висе, вежемо их на произвољну
логичку константу X.
3) Определимо се на којем излазу ћемо остварити поједине функције и обележимо
одговарајуће излазе. Ако има вишак излаза у односу на број функција,
некоришћене излазе не обележавамо.
4) Остваримо поједине логичке производе (програмирамо коло), стављањем тачака у
пресеке одговарајућих веза, у складу са потребама која променљива и у ком облику
(неинвертованом или инвертованом) фигурише у посматраном производу.
Неискоришћени улази И кола подразумевају се да су везана на 1, што је
недоминантни улаз за И коло. Код некоришћених комплетних И кола подразумева
се да им је излаз на 0, што је, пак, недоминантно на улазу ИЛИ кола. (То је као да је
бар један улаз неискоришћеног И кола на 0. У стварној физичкој реализацији
оваквих кола ситуација је мало другачија, али у логичком смислу иста; можемо
упрошћено сматрати да улази И кола настају тек када се врши програмирање И
матрице у мрежи, а И коло које се не користи у сварности ни не постоји.) Пожељно
је обележити остварене логичке производе доле на крајевима излазних линија И
кола.
71
0
A A
A
B B
B
C C
C
f1
f2
B BC AC BC ABC 0
Слика 35.1
Задатак 36
Мана PAL мреже у односу на PLA, реализација следећих функција помоћу
а) PAL 4/4/3 и
б) PLA 4/4/3
f1 (A, B, C) = B + B ⋅ C + A ⋅ C и
f 2 (A, B, C) = B ⋅ C + A ⋅ B ⋅ C .
Решење:
Мана PAL мреже је мања универзалност, што најчешће значи да је за исти задатак потребан
PAL већег капацитета од PLA. Ако се исти логички производ користи у више функција,
неопходно га је реализовати за сваку функцију засебно. Код PLA се програмира и ИЛИ
матрица, тако да је једном формирани логички производ на располагању за сваку функцију.
а) Реализација са PAL 4/4/3: Имамо један улаз више него што је број логичких
променљивих, везујемо га на произвољну константу X. Има и један више излаза, остављамо
га неискоришћеног: треба да виси, необележен.
A A
A
B B
B
C C
C
X
f2
f1
BC AB C 0 0 B BC AC 0
Слика 36.1
72
б) Реализација са PLA компонентом ради се по следећем рецепту:
1) Нацртамо комплетну непрограмирану компоненту. PLA 4/4/3 има 4 улаза, укупно 4
логичка производа може да се формира у његовој И мрежи и има 3 излаза, за
реализацију максимално три функције. Практично је три пута мањи од одговарајуће
PAL компоненте. Нити И, нити ИЛИ матрица није фабрички програмирана.
2) Доведемо улазне променљиве, произвољним редоследом. Пожељно их је
обележити, ради лакше провере и на другом крају одговарајућих веза. Ако има
неискоришћених улаза, пошто не смеју остати да висе, вежемо их на произвољну
логичку константу X.
3) Определимо се, произвољно, на којем излазу ћемо остварити поједине функције и
обележимо одговарајуће излазе. Ако има вишак излаза у односу на број функција,
некоришћене излазе не обележавамо.
4) Остваримо поједине логичке производе (програмирамо коло), стављањем тачака у
пресеке одговарајућих веза, у складу са потребама која променљива и у ком облику
(неинвертованом или инвертованом) фигурише у посматраном производу. Ако се
неки логички производ појављује у више функција, довољно га је остварити само
једанпут.
5) Програмирамо ИЛИ матрицу: стављамо тачке на пресек веза одговарајућег
логичког производа и улаза ИЛИ кола које остварује посматрану функцију.
A A
A
B B
B
C C
C
X
f2
f1
BC AB C B AC
Слика 36.2
Задатак 37
PAL мрежа (мана у односу на PLA, реализација следећих функција помоћу
а) PAL 4/3/3
б) PAL 4/2/3, који има могућност враћања сигнала са излаза у И мрежу:
f 1 (A, B, C) = B + B ⋅ C + A ⋅ C
f 2 (A, B, C) = B ⋅ C + A ⋅ B ⋅ C
73
Решење:
A A
A
B B
B
C C
C
X
f1
f2
B BC AC BC AB C 0
Слика 37.1
A A
A
B B
B
C C
C
X
B + BC
B + BC
f2
f1
B BC BC A BC B + BC AC
Слика 37.2
74
2 Синхроне секвенцијалне мреже
Задатак 1
Извршити синтезу ЈК флипфлопа помоћу SR флипфлопа.
Решење
Поступак при конверзији једног типа кола у други (било да је у питању леч или флипфлоп):
• написати функционалну табелу траженог кола (табела 1.1)
• додати одговарајуће делове екситационе табеле кола помоћу кога вршимо
синтезу (табела 1.2)
Слика 1.1
Коришћењем Карноових таблица извршимо минимизацију и одређујемо
S = J ⋅ Qn ,
R = K ⋅ Qn .
75
На слици 1.2 је приказан ЈК флипфлоп реализован помоћу SR флипфлопа.
J S Q
C C
K R Q
Слика 1.2
Задатак 2
Извршити синтезу Т флипфлопа помоћу ЈК флипфлопа.
Решење:
Функционалну табелу траженог кола је дата табела 2.1.
Qн Qн+1 Ј К
0 1 1 x
1 0 x 1
Реализован Т флипфлоп је приказан на слици 2.1а.
D Q
Clk C Q
Задатак 3
Извршити синтезу ЈК - флипфлопа помоћу D – флипфлопа.
Решење:
Ј К Qн Qн+1 D
0 0 0 0 0
0 0 1 1 1
0 1 0 0 0
0 1 1 0 0
1 0 0 1 1
1 0 1 1 1
1 1 0 1 1
1 1 1 0 0
Коришћењем Карноове таблице може се одредити функција D=f(J, K, Qn),
76
D = J ⋅Qn + K ⋅Qn .
Реализован ЈК флипфлоп је приказан на слици 2.1а.
Слика 3.1
Задатак 4
Функционални типови лечева и флипфлопова, приказани екситационим табелама (табелама
побуде).
Решење:
Екситациона табела флипфлопова (табела побуде) садржи функције побуде ових
најједноставнијих меморијских блокова, уједно и најтривијалнијих секвенцијалних мрежа.
Показује потребне вредности сигнала у зависности од затеченог (садашњег) и жељеног
(будућег) стања флипфлопа. Стања се манифестују у вредности излазног сигнала Q.
За лечеве, које можемо сматрати нетактованим, евентуално неелегантно тактованим
(асинхроним) флипфлоповима табела побуде је иста. Једино што лечеви или одмах реагују
на промену улазног сигнала (ако су спремни на реаговање), или не реагују уопште, ако су
забрављени. Постоје лечеви SR и D типа.
Qн Qн+1 S R Ј К Т D
0 0 0 X 0 X 0 0
0 1 1 0 1 X 1 1
*
1 0 0 * 1 X 1 1* 0
1 1 X 0 X 0 0 1
77
Задатак 5
Временски дијаграми флипфлопова (време постављања и држања улазних сигнала).
Решење:
Флипфлоп, у зависности од конкретног функционалног типа, има један или два логичка
улаза, означена на скици у општем случају са X. Осим тога имају улаз за такт сигнал.
Савремени флипфлопови су ивични, што значи да се промена стања, у зависности од
затеченог стања Qn и тренутног стања (сигнала) на логичким улазима (другим речима: у
зависности од побуде), дешава при опадајућој ивици такт импулса. Да се предвиђена
промена може одиграти исправно (чисто), побудни сигнали (X) морају бити стабилни, јасни
у одговарајућој временској околини активне ивице такта. У супротном флипфлоп, уместо
предвиђене промене стања може да се нађе у тзв. метастабилном стању, из којег је питење
како ће изаћи. У најбољем случају се драстично повећава време промене стања (кашњење
флипфлопа), а у најгорем се деси погрешна промена (флипфлоп се нађе у непредвиђеном
стању).
Произвођачи флипфлопова задају два времена која побудни сигнали морају
задовољити:
• Време постављања сигнала (tSU, set-up time) одређује тренутак пре активне ивице
такта после ког улазни сигнали више не смеју да се мењају.
• Време држања сигнала (тХ, hold time) одређује најранији тренутак после активне
ивице такта када улазни сигнали смеју да се мењају. (Код савремених флипфлопова
ово време је често занемарљиво кратко.)
Значи бар током интервала tSU + tH улазни сигнал не сме да се мења. Ако постоји и
неодређеност у појави промене такта (због дрхтања – џитера; тзв. skew), са тиме се у пракси
мора проширити интервал мирне вредности побуде X.
Q
X
Takt Q
>
Слика 5.1
Задатак 6
Подела коначних аутомата. Блок шема основних типова синхроних коначних аутомата.
Решење:
У општем случају коначни аутомат (секвенцијална мрежа са коначним бројем могућих
стања) састоји се од меморијског блока који памти стање аутомата Q, улазне комбинационе
мреже, која на основу стања Q и улазног сигнала X одређује будуће стање (формира
побудни сигнал за флипфлопове). Излазна комбинациона мрежа формира излазни сигнал
аутомата Z. У најопштијем случају З зависи како од Q, тако и од X: то је аутомат Милијевог
типа (Меаly; назива се и класом А):
78
Слика 6.1
У општем случају за дати задатак овај тип аутомата има најмањи потребан број стања.
Међутим, осим ако се и излазна комбинациона мрежа синхронише, промена на излазу је
асинхрона у односу на такт: Q се мења синхроно са тактом, али излаз се мења и приликом
промене улаза X.
У случају да излаз зависи само од стања Q, то је аутомат Муровог типа (Мооrе, класе
B):
Слика 6.2
Излазна мрежа конвертује унутрашње стања у излаз, број различитих стања на излазу је
или мањи од броја унутрашњег стања Q (али је бар 2) или је једнак том броју (тада је
излазна мрежа комплетан конвертор кода). Излаз се мења синхроно са тактом.
Ако не постоји излазна комбинациона мрежа ( Z = Q ) опет имамо коначни аутомат
Муровог типа (али класе C). Наравно, излаз се опет синхроно мења са тактом.
Слика 6.3
На овим скицама није додат такт који код синхроних коначних аутомата одређује
тренутак промене стања, пошто се доводи паралелно на такт улаз свих флипфлопова
(истовремено).
(Ако се не користе прави флипфлопови, него, на пример лечеви у меморијском блоку,
реч је о асинхроним коначним аутоматима. Они су много бржи у раду – не чекају на такт,
али су много комликованији за пројектовање.)
79
Задатак 7
Први корак у синтези синхроних секвенцијалних мрежа: формирати дијаграм стања
аутомата који на излазу генерише 0 ако и само ако после стања улаза 00 следи стање 11, за
Мурову варијанту.
Решење:
Код аутомата Муровог типа у кругове који описују стања уписујемо ознаку (код) стања и
вредност излаза. На стрелице које означавају промене стања дописујемо вредност улазног
сигнала који изазива ту промену.
Слика 7.1
Напомена: у стварности се и стања кодују бинарно (на пример: А=00, B=01, C=10), овде
је само ради прегледнијег објашњења усвојена ознака словима. Осим тога запазимо да ако
80
има три стања, потребне су бар две променљиве стања. А оне кодују и четврто стање 11 у
којем се аутомат може непожељно наћи услед неке сметње или приликом укључивања
уређаја. Да се не би заглавио у том стању, пожељно је предвидети да за улаз 00 из четвртог
стања иде у стање B, а за остале ситуације (01, 10, 11) у стање А. Тако ће најелегантније
изаћи из забрањеног стање, не пропустивши ни једну исправну секвенцу.
Задатак 8
Формирати дијаграм стања аутомата који:
а) на излазу генерише 1 ако и само ако после стања улаза 01 следи стање 10;
б) односно генерише 1 ако и само ако после стања улаза 01 поново следи стање 01,
за Милијеву варијанту.
Решење:
а)
01/0
00/0 01/0
10/0
11/0 a b
10/1
00/0
11/0
Слика 8.1
б) У овој варијанти ако се после улаза 01 појави поново 01, генерише се излаз 1. Ако се та
ситуација наставља понављати, то се редом дешава, пошто се друго појављивање услова
(завршетак хватања секвенце) третира као почетак евентуалне следеће секвенце.
01/0
00/0 01/1
10/0
11/0 a b
00/0
10/0
11/0
Слика 8.2
81
Задатак 9
Реализовати ЈК флифлоп полазећи од Т флифлопa (синтетизовати у облику Муровог
аутомата).
Решење:
Ј К Qн Qн+1 Т
0 0 0 0 0 T KQn
0 0 1 1 0 00 01 11 10
J
0 1 0 0 0
0 1 1 0 1 0 0 1 1 0
1 0 0 1 1
1 0 1 1 0 1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
T = KQn + J Qn
J
T Q Q
K
> Q Q
Takt
Слика 9.1
82
3 Асинхроне секвенцијалне мреже
Задатак 1
Интуитивном методом реализовати асинхрону секвенцијалну мрежу која за задате
периодичне улазне сигнале А, B и C генерише задати излаз Z
а) у облику комбинационе мреже са повратном спрегом и
б) применом SR леча.
Напомена: Ради лакше оријентације тактови су редом нумерисани, а вредности
променљивих задате су и у бинарној форми, редундантно.
Takt 1 2 3 4 5 6 7 1
ABC 100 000 010 110 010 000 101 100
Слика 1.1
Решење:
а) У асинхроним мрежама тактове (фазе рада) одређују промене улазних сигнала. Тактови
су зато произвољног, неједнаког трајања.
Да би се могао остварити излазни сигнал З, неопходно је унутрашњом променљивом
(променљивом стања Q) направити разлику између тактова 3 и 5 (заокружено на слици),
пошто су током њиховог трајања улазни сигнали исти, а излаз мора бити различит. Један од
могућих избора Q дат је на слици. У варијанти реализације на бази повратне спреге
неопходно је увести Q’ које ће наступити тек после истека времена кашњења у колу (које
уобичајено издвајамо у повратну спрегу) и сигнал Q, вредност унутрашње променљиве у
садашњем тренутку.Због кашњења сигнала Q раздвојимо тактове 4 и 7 на подинтервале,
означене са а и б. (Пошто стварна вредност кашњења не утиче на методологију, усвајамо
довољно велику вредност ∆t да се комотно могу урадити потребна обележавања.)
83
Takt 1 2 3 4 5 6 7 1
ABC 100 000 010 110 010 000 101 100
Q'
4a 4b 7a 7b
Слика 1.2
1 1 X X 1 1 X 0 X
6 5 4b 7a
ABC
Z
000 001 011 010 110 111 101 100
Q
0 0 X X 1 1 X 0 0
1 1 X X 1 1 X 0 X
Слика 1.3
84
Пажљивим минимизирањем добије се, ако користимо поља обухваћена пуном линијом.
Q' = A ⋅ B + A ⋅ Q
Z = B + A ⋅Q
Ако искористимо поље испрекидано цртано, имамо:
Q' = A ⋅ B + C ⋅ Q
(Овде је тешкоћа у томе што се по хоризонтали појављује осам колона, за три променљиве,
па је теже видети која су поља суседна. Најлакше је замислити да је табела пресечена по
средини, вертикално, и да је десни део пресавинут у лево и смештен изнад левог дела.
Уместо поља у равни потребно је створити просторне форме правилног облика – квадра,
што веће запремине. У датом примеру најтеже је запазити поље испрекидано нацртано,
проверимо, суседна обухваћена поља разликују се за по едну цифру.)
Ради лакше прегледности исте табеле могу се и друкчије нацртати, са по две променљиве у
оба смера (ту је проблем што Q није одвојен од улазних променљивих, али се много лакше
минимализује). Најлакше је на основу сигнала прво нацртати претходну верзију табеле и,
потом, поље по поље пренети вредности функције за поједине комбинације променљивих:
Q' 2 3 4a 1
AB
00 01 11 10
CQ
00 0 0 1 0
4b
01 1 1 1 X 4b
11 X X X 0 4b
10 X X X 0 7b
Слика 1.4
Q' = A ⋅ B + C ⋅ Q ,
а ако поља ЦQАB = 0100 и 0101 обухватимо на испрекидан начин, користећи неодређена
стања имамо
Q' = A ⋅ B + A ⋅ Q .
И из излазне табеле добије се претходно једнозначно решење.
Видимо да су решења еквивалентна у обе верзије табела.
85
Z
AB
00 01 11 10
CQ
00 1 0 0 1
01 1 1 0 X
11 X X X 1
10 X X X 1
Слика 1.5
A
A
B
B
Z
AQ
AB
Q'
Q
Слика 1.6
Takt 1 2 3 4 5 6 7 1
ABC 100 000 010 110 010 000 101 100
Слика 1.7
Напомена: Ако је аутомат реализљив са усвојеним сигналом у једној форми (на пример са
повратном спрегом), сигурно се може реализовати и у другој форми (са лечем).
87
S S4 R
AB AB
00 01 11 10 00 01 11 10
C C R1
0 0 0 1 0 0 0 0 0 X
R7
1 X X X 0 1 X X X 1
Слика 1.8
S = A⋅B
R=C
Y = B + A ⋅Q
Функција излаза је иста као под а), није овде посебно обрађивана. Логичка шема аутомата је
на слици.
B
A Z
AQ
A AB
S Q
B
C R
Слика 1.9
Задатак 2
Анализирати одговарајући SR леч са НИ колима, помоћу табеле побуде и излаза, ако се
кашњење може сконцентрисати у једном елементу за кашњење у повратној спрези. Зашто је
стање улаза 00 недозвољено?
Решење:
Нацртајмо обичан (нетактовани) SR леч са НИ колима мало неуобичајено (тако што дајемо
предност једном од логичких капија. На тај начин једну од веза између излаза
проглашавамо излазу комбинационе мреже, излазу са којег враћамо повратну спрегу на
улаз. ( Из теорије о аутоматима знамо да се асинхрона секвенцијална мрежа може остварити
повратном спрегом са излаза на улаз комбинационе мреже.) Враћени сигнал је унутрашња
променљива (променљива стања), означена Q (та ознака која потиче из опште теорије нема
директне везе са уобичајеном ознаком излаза лечева и флипфлопова).
88
Не желећи да прејудицирамо решење, означимо улазе мреже са А и B, на крају ћемо
видети какви су то улази у анализираном лечу. По сличном резону означимо излазе
логичких капија (могуће излазе мреже) са Z1 и Z2.
Кашњење сигнала у комбинационој мрежи (које се састоји од кашњења једне или две
капије, у зависности од тога, да ли промена сигнала А или B изазива промену стања кола,
респективо, и од кашњења на везама које повезују капије) по теорији измештамо у повратну
спрегу. За основну анализу стварна вредност кашњења није важна, зато уводимо кашњење
јединствено ∆. На овај начин смо обезбедили да на добијеној логичкој шеми постоји чвор са
сигналом који одговара затеченом стању мреже (обележено Q) и други чвор у којем се
одмах по промени улазног сигнала појави будуће стање (обележено Q'). По промени улаза,
пре истека времена кашњења ∆ променљива стања Q задржава стару вредност, а Q' већ
указује на будућу вредност. Ако накнадна промена Q, после ∆ не изазове нову промену Q',
мрежа се одмах смирује. Ако, пак изазива накнадну промену, мрежа или се смирује после
још једног интервала кашњења ∆, или се не смирује, него дивље осцилује (наравно, то је
непожељна, хазардна ситуација у мрежи; стање на улазу које доводи до осцилације у мрежи
није дозвољено).
Пошто изместимо кашњење у повратну грану, пажљиво обележимо сигнале
променљиве стања Q и Q', и излазне сигнале (З1 је везан за Q).
Z1
Q
Z2 Z2
B B
<≡>
Z1
A Q A Q’
Слика 2.1
Функција побуде и функције излаза једноставно се налазе са логичке шеме. Затим се
уносе у две независне табеле: табелу побуде Q' и табелу излаза (уместо Хуфманове табеле
која би садржала све ове податке, па би била тешко прегледна. Са леве стране табела
бележимо унутрашње променљиве (овде је то само Q, зато имамо само по две врсте у
табелама), са горње стране све комбинације улазних променљивих (овде их имамо две, А и
B, па имамо четири колоне у табелама).
Примећујемо да осим улаза АB=11, у којем имамо меморисање претходног стања, у
свим другим ситуацијама почетно стање је нестабилно, долази до промене и мрежа се после
кашњења смирује у стабилном стању (што видимо по томе да је будуће стање једнако
затеченом стању). Та стања обележимо звездицама. Пренесимо то и у табелу излаза.
Приметимо да су у сви стабилним стањима (само су она важна) излази З1 и З2 инвертовани
међусобно (обележено знаком исправности у табели), осим за стање улаза АB=00: тада су
оба излаза једнака 1 (заокружено у табели). Пошто је то непожељно, ако је реч о лечу (или
флипфлопа), сматрамо да је то недозвољено стање на улазу. Очигледно је неактивно стање
на улазима 1. Закључујемо да је овде реч о SR лечу са активним ниским улазима
(инвертовани SR леч). Определимо се произвољно да је А сет улаз и B ресет улаз, оба
активна на 0. Томе одговара да је З1 неинвертовани излаз леча (Q, што нема везе са ознаком
89
унутрашње променљиве мреже, само се традиционално једнако обележава с њим), а З2 је
инвертована вредност излаза Q.
Q’ AB Z1Z2 AB
00 01 11 10 00 01 11 10
Q Q
0 1 1 0* 0* 0 01 01 01* 01*
Задатак 3
Анализирати да ли има дивљег осциловања (и да ли се “види” на излазу), меморисања
(задржавања) претходног стања и критичне трке у датој мрежи. У мрежи су коришћена
НИЛИ и НЕ кола. Да ли се мрежа може упростити?
Y
X1
X2
Слика 3.1
Решење:
Z
Z (alternativno)
X1
Q'
X2
Слика 3.2
90
Q' = X1 + Q + X 2 + Q = X1Q + X 2Q
Z = X1 + Q = X1Q
Q’ X1X2 Z X 1X 2
00 01 11 10 00 01 11 10
Q Q
* *
0 1 1 0 0 0 1 1 0 0
1 0 1* 1* 0 1 0 0 0 0
Слика 3.2
Мрежа дивље осцилује за X1X2=00 (нема стабилног стања за тај улаз). Осциловање се
види се на излазу, пошто за Q=0 имамо З=1, а за Q=1 З=0, наизменижно !
Има ситуације да мрежа не мења стање, меморише за X1X2=11.
Нема критичне трке (која се може појавити због различитог кашњења у колима
повратне спреге), пошто нема више од једне повратне спреге.
Мрежа се може упростити. Уочимо да је излазни сигнал З једнак једном сабирку у
побудној функцији. Зато није потребно остварити га посебном НИЛИ капијом. На слици је
та модификација доцртана испрекидано. При томе је потребно изоставити горњу НИЛИ
капију.
91
4 Бројачи
Задатак 1
На слици 1.1 је приказан редни бројач модула 8 реализован ЈК - флипфлоповима. Ако је
кашњење сваког флипфлопа tdFF=50ns, нацртати временске дијаграме сигнала. Периода
тактног сигнала је ТCLK=200 ns.
Слика 1.1
Решење
Временски дијаграми сигнала су приказани на слици 1.2. Због кашњења које уноси сваки
флипфлоп, сваки излазни сигнал касни у односу на тактни за 50 ns. Због тога се јавља
велики број паразитих стања и кодоваће се погрешан садржај на излазу (погледати сигнал
Stanje).
Редни бројачи се због тога углавном користе као делитељи фреквенције (сигнал А има 2
пута дужу периоду у односу на тактни P, сигнал B 4 пута, а сигнал C 8 пута дужу периоду у
односу на такни сигнал P).
Слика 1.2
92
Задатак 2
Конструисати редни бројач модула 10 коришћењем ЈК - флипфлопова. Ако се занемаре
кашњења кроз флипфлопове, нацртати временске дијаграме сигнала.
Решење
Најједноставније мреже редног бројача изводе се помоћу Т - флипфлопова (или нпр. ЈК-
флипфлопова или D- флипфлопова модификованих тако да раде као Т-флипфлопови, тј.
појавом тактог импулса мења се логичко стање флипфлопа).
У практичним применама, међутим, јавља се потреба за бројачима који имају и друге -
произвољне вредности основе бројања.
Бројачи произвољног модула се изводе на сличан начин, само што код њих постоје спреге за
измену природног односа делења. Ове спреге треба да обезбеде успостављање почетног
стања у бројачу по истеку произвољно одабраног броја секвенција. Потребан број
меморијских кола н за овакву бројачку мрежу модула М налази се из неједначине:
2 n −1 < M ≤ 2 n .
Дакле, за бројач модула М=10 потребно је н=4 флипфлопа.
Коло за детекцију првог забрањеног стања детектује појаву високог стања на излазима D и
B (јер је DCBA=10102), као што се види на слици 12.1.
Слика 2.1
93
Слика 2.2
Задатак 3
На слици 3.1а је приказан синхрони бројач реализован коришћењем ЈК флипфлопова.
a) Одредити основу бројања и испитати забрањена стања бројача. Нацртати дијаграм
стања.
б) На основу података датих у табели 1 одредити максималну фреквенцију рада бројача.
ц) Одредити трајање периода Т1 и Т2 (слика 3.1б) тако да на излазима О1, О2 и О3 буду
сигурно исправни подаци барем 50 ns.
д) Нацртати временске дијаграме сигнала Q1, Q2 и Q3 и О1, О2 и О3 током 3 такт импулса.
Сматрати да се бројач налазио у ресетованом стању у t = 0.
Слика 3.1а
J0 = Q2 , K0 = 1 ,
J1 = Q 0 , K1 = Q 0 ,
J 2 = Q1 ⋅ Q 0 , K2 = 1.
Слика 3.2
где је ТP временски интервал од појаве активне ивице такт сигнала до тренутка када ће се на
улазима свих флипфлопова сигурно поставити исправне вредности (односно, до тренутка
када ће бити завршени сви прелазни процеси у бројачу), а tSU је време постављања
флипфлопа (пошто ово време није задато, сматраћемо да је tSU =0).
95
Прелазни процеси се завршавају након:
TP = max{t dFF2 max ,t dFF0 max ,t dFF0 max + t d Im ax , t dFF1 max + t d Im ax }
TP = 92ns .
Дакле, максимална фреквенција рада бројача је
1
f max = = 10.87 MHz .
92ns
ц) Сигнал дозволе EN може да постане активан тек након што су се сигурно поставили
сигнали на излазима инвертора (слика 3.3):
T3 = max{t dFF0 max + t dINV max ; t dFF1 max + t dINV max ; t dFF2 max + t dINV max } ,
T3 = max{80ns;85ns;80ns} ,
T3 = 85ns .
Ако се сигнал дозволе EN активира у Т3 = 85 нс, излазни сигнали О0, О1 и О2 се појављују
најраније након
t A min = T3 + t dINV min = 85ns + 10ns = 95ns ,
а најкасније након
t A max = T3 + t dINV max = 85ns + 22ns = 107 ns .
Пошто излазни сигнали морају да буду исправни барем ТDV=50ns,
t B min = t A max + TDV = 107 ns + 50ns = 157 ns ,
што значи да сигнал дозволе EN може да престане да буде активан најраније након
t C = t B min − t d Im in = 157 ns − 10ns = 147 ns ,
односно, интервал у коме је EN активан је
T1 = t C − T3 = 147 ns − 85ns .
T1 = 62ns .
Пошто је укупна периода сигнала дозволе ТEN једнака периоди тактног сигнала
ТEN=Т1+Т2 ,
следи
T2 = TCLK − T1 = 92ns − 62ns .
T2 = 30ns
96
Слика 3.3
Слика 3.4.
97
Задатак 4
На слици 4.1а приказан је бројач реализован коришћењем ЈК флипфлопова.
а) Одредити основу бројања и нацртати дијаграм стања бројача.
б) На основу података датих у табели 1 одредити максималну фреквенцију рада бројача.
Сматрати да је време постављања свих флипфлопова tSU =5 ns, а време држања tH=7 ns.
ц) Одредити трајање периода Т1 и Т2 (слика 4.1б) тако да на излазима О0, О1 и О2 буду
сигурно исправни подаци барем 60 ns.
д) Нацртати временске дијаграме сигнала CLK, EN, Q0, Q1 и Q2 и О0, О1 и О2 током прве три
периоде.
Сматрати да се бројач налазио у ресетованом стању у t = 0. Периода такт сигнала је 150 ns.
Слика 4.1а
Решење:
а) Улазне функције флипфлопова су:
J 0 = Q 2 + Q1 , K 0 = Q1 ,
J1 = 1 , K1 = 1 ,
J 0 = Q1 ⋅ Q 0 , K 0 = Q0 .
98
Функционална табела је:
Стање Садашње стање Услови прелаза Следеће стање Стање
Си Q2 Q1 Q0 Ј2 К2 Ј1 К1 Ј0 К0 Q’2 Q’1 Q’0 Си’
0 0 0 0 1 1 1 1 1 1 1 1 1 7
1 0 0 1 0 0 1 1 1 1 0 1 0 2
2 0 1 0 0 1 1 1 0 0 0 0 0 0
3 0 1 1 0 0 1 1 0 0 1 0 1 5
4 1 0 0 1 1 1 1 1 1 0 1 1 3
5 1 0 1 0 0 1 1 1 1 1 1 0 6
6 1 1 0 0 1 1 1 1 0 0 0 1 1
7 1 1 1 0 0 1 1 1 0 1 0 1 5
Слика 4.2
99
Пошто излазни сигнали морају да буду исправни барем ТDV = 60ns, сигнал дозволе престаје
да буде активан након
T4 = (85ns + TDV ) − t d Im in = 145ns − 10ns = 135ns .
Интервал у коме је сигнал дозволе активан Т1 траје
Т1=135n-65n=70ns,
док је интервал Т2
Т2=ТCLK-Т1=150n-70n=80ns.
EN
T3=65n T4=135n
Oi
t dI max t dI max
TDV = 60 n
85n 145n
Слика 4.3
д) Временски дијаграми сигнала током прва три такт интервала су приказани на слици 4.4.
Слика 4.4
100
Задатак 5
Ако су на располагању D флипфлопови и потребна логичка кола конструисати синхрони
бројач модула 6, који пролази скоз стања 0-1-3-6-5-2-0. Нацртати бројач и дијаграм стања.
Решење:
Поступак при синтези синхроног бројача је следећи:
• Одредити потребан број флипфлопова.
• Направити функционалну табелу бројача (5.1).
• Одредити улазне променљиве свих флипфлопова (претходно минимизирати
функције Јi и Кi).
• Нацртати шему бројача.
Потребан број флипфлопова н за бројач модула М налази се из неједначине:
2 n −1 < M = 6 ≤ 2 n .
Дакле, потребно је n=3 флипфлопа.
Формирамо одговарајућу функционалну табелу бројача (Табела 5.1).
Табела 5.1
Садашње стање Услови прелаза Следеће стање
Si Q2 Q1 Q0 D2 D1 D0 Q2’ Q1’ Q0’ Si’
0 0 0 0 0 0 1 0 0 1 1
1 0 0 1 0 1 1 0 1 1 3
3 0 1 1 1 1 0 1 1 0 6
6 1 1 0 1 0 1 1 0 1 5
5 1 0 1 0 1 0 0 1 0 2
2 0 1 0 0 0 0 0 0 0 0
На основу функционалне табеле одређујемо Di, i=0,1,2, помоћу Карноових таблица (слика
5.1).
D 2 = Q1Q 0 + Q 2 Q1
D1 = Q 0
D 0 = Q 2 Q1 + Q 2 Q0
Слика 5.1
101
На слици 5.2 је приказан реализовани синхрони тробитни бројач.
Q0 Q1 Q2
D Q D Q D Q
FF0 FF1 FF2
>C Q >C Q >C Q
CLK
Слика 5.2
Табела 5.2
Забрањено стање Услови прелаза Следеће стање
Si Q2 Q1 Q0 D2 D1 D0 Q2’ Q1’ Q0’ Si’
4 1 0 0 0 0 1 0 0 1 1
7 1 1 1 1 1 0 1 1 0 6
Дијаграм стања реализованог бројача је приказан на слици 5.3. Уколико се због нађе у
неком од забрањенх стања, најкасније након једног такт интервала бројач ће наставити да
исправно ради.
4
0
2 1
5 3
6
7
Слика 5.3
102
Задатак 6
Конструисати синхрони бројач унапред модула 16 коришћењем ЈК - флипфлопова.
Решење:
Потребан број флипфлопова н за бројач модула 16 се налази из неједначине:
2 n −1 < M = 16 ≤ 2 n .
Потребно је 4 флипфлопа.
При реализацији бројача користићемо следећу чињеницу: када је
⎧0, FF zadrzava prethodno stanje
Ji = Ki = ⎨
⎩1, FF menja stanje
Формирамо одговарајућу функционалну табелу бројача (Табела 6.1).
Табела 6.1
Садашње стање Услови прелаза Следеће стање
Si Q3 Q2 Q1 Q0 Ј3=К3 Ј2=К2 Ј1=К1 Ј0=К0 Q3’ Q2’ Q1’ Q0’
0 0 0 0 0 0 0 0 1 0 0 0 1
1 0 0 0 1 0 0 1 1 0 0 1 0
2 0 0 1 0 0 0 0 1 0 0 1 1
3 0 0 1 1 0 1 1 1 0 1 0 0
4 0 1 0 0 0 0 0 1 0 1 0 1
5 0 1 0 1 0 0 1 1 0 1 1 0
6 0 1 1 0 0 0 0 1 0 1 1 1
7 0 1 1 1 1 1 1 1 1 0 0 0
8 1 0 0 0 0 0 0 1 1 0 0 1
9 1 0 0 1 0 0 1 1 1 0 1 0
10 1 0 1 0 0 0 0 1 1 0 1 1
11 1 0 1 1 0 1 1 1 1 1 0 0
12 1 1 0 0 0 0 0 1 1 1 0 1
13 1 1 0 1 0 0 1 1 1 1 1 0
14 1 1 1 0 0 0 0 1 1 1 1 1
15 1 1 1 1 1 1 1 1 0 0 0 0
103
Ј3=К3 Ј2=К2
Ј1=К1 Ј0=К0
Слика 6.1
1 J Q J Q J Q J Q
CL CL CL CL
Q Q Q K Q
K K K
CLK
Q0 Q1 Q2 Q3
Слика 6.2
Максимална фреквенција рада бројача је
1
f max = ,
t dFF + t dLK
где је tdFF време пропагације кроз флипфлоп, а tdLK време пропагације кроз логичко коло. У
овом случају се сматра да је време постављања флипфлопа tsu = 0.
Решење:
Ако желимо да конструишемо бројач који ће се моћи везивати у ланац истих таквих бројача
(да би се добио бројач већег модула) тада морамо користити
- улазни сигнал преноса CIN (Carry in) и
- излазни сигнал преноса COUT (Cаrry out).
Излазни сигнал преноса се активира када је достигнуто максимално стање Q3Q2Q1Q0=11112,
C OUT = Q 3 ⋅ Q 2 ⋅ Q1 ⋅ Q 0 ⋅ C IN .
На слици 7.1 је приказан синхрони четворобитни бројач унапред са серијским преносом.
Услови прелаза су модификовани тако да се бројач може реализовати коришћењем
флипфлопова и двоулазних И кола:
Ј0=К0= CIN
Ј1=К1=Q0⋅ CIN
Ј2=К2= Q1 ⋅Q0⋅ CIN = Q1 ⋅Ј1
Ј3=К3= Q2 ⋅Q1 ⋅Q0⋅ CIN = Q2 ⋅Ј2
као и излазни сигнал преноса CОУТ
C OUT = Q 3 ⋅ Q 2 ⋅ Q1 ⋅ Q 0 ⋅ C IN = Q n ⋅ J n
C IN J J J J Q C OUT
Q Q Q
C C C C
K Q K Q K Q K Q
CLK
Q0 Q1 Q2 Q3
Слика 7.1
Максимална фреквенција рада бројача са серијским преносом је мања него код бројача са
паралелним преносом и износи
1
f max = .
t dFF + (n − 1) ⋅ t dLK
Задатак 8
Ако су на располагању ЈК флипфлопови конструисати синхрони бројач уназад модула 8.
Решење:
За реализацију овог бројача је потребно 3 флипфлопа. Слично као у задатку 7, користићемо
услов:
⎧0, FF zadrzava pret.stanje
Ji = Ki = ⎨
⎩1, FF menja stanje
Најпре је потребно направити функционалну табелу бројача (8.1).
Табела 8.1
Садашње стање Услови прелаза Следеће стање
Си Q2 Q1 Q0 Ј2=К2 Ј1=К1 Ј0=К0 Q2’ Q1’ Q0’
0 0 0 0 1 1 1 1 1 1
1 0 0 1 0 0 1 0 0 0
2 0 1 0 0 1 1 0 0 1
3 0 1 1 0 0 1 0 1 0
4 1 0 0 1 1 1 0 1 1
5 1 0 1 0 0 1 1 0 0
6 1 1 0 0 1 1 1 0 1
7 1 1 1 0 0 1 1 1 0
Ј2=К2= Q1 Q 0 .
Тробитни синхрони бројач уназад приказан је на слици 8.1.
106
Слика 8.1
Задатак 9
Ако су на располагању ЈК флипфлопови и потребна логичка кола конструисати синхрони
обострани бројач модула 8, са могућношћу везивања више оваквих бројача. Нека контролна
променљива SMER одређује смер бројања (за SMER =1 бројач броји унапред, а за SMER =0
уназад).
Решење:
За реализацију оваквог бројача потребно је 3 флипфлопа. При реализацији обостарног
бројача могуће је искористити услове прелаза претходно одређене за бројач унапред за n-ти
флипфлоп
J n = K n = Q n −1 ⋅ ... ⋅ Q1 ⋅ Q 0 ⋅ C IN ,
за бројач уназад
J n = K n = SMER ⋅ Q n −1 ⋅ ... ⋅ Q 1 ⋅ Q 0 ⋅ C IN ,
Задатак 10
На слици 10.1 приказан је синхрони четворобитни обострани бројач. Контролни логички
сигнал SMER одређује смер бројања (Ако је SMER = 1 бројач броји унапред, а за SMER = 0
броји уназад).
а) Ако су у табели дата времена кашњења појединих компоненти, одредити максималну
фреквенцију рада бројача фмаx.
б) Ако су на располагању потребна логичка кола и SR лечеви, коришћењем бројача са
слике 1, реализовати бројач који пролази кроз стања:
0000, 0001, 0010,..., N-1, N, N-1,..., 0010, 0001, 0000, 0001,...
где је N=1010.
b) Одредити максималну фреквенцију рада fmax1 бројача добијеног под б) и нацртати
временске дијаграме сигнала Q3, Q2, Q1 и Q0, ако је периода такт сигнала CLK=1/fmax1,
док је почетно стање бројача 10002, а да је контролна променљива SMER = 1. (Напомена:
Сигнале цртати током првих пет периода такт сигнала.)
SMER
"1" J Q J Q J Q J Q
Q0 Q1 Q2 Q3
CLK CLK CLK CLK
K Q K Q K Q K Q
SMER
CLK
за FF2: { }
t max 2 = max t dFF0 + 3t dNI + t dNE ; t dFF1 + 2 t dNI = max{144ns;114ns} = 144ns ,
б) Потребно је конструисати бројач који броји унапред од стања 00002 до 10102, а затим
уназад до стања 00002. Да би то реализовали потребно да конструисати помоћну
секвенцијалну мрежу која обезбеђује да контролна променљива SMER у сваком тренутку
буде исправна.
Ако сматрамо да је бројач био ресетован на почетку, онда и променљива SMER мора бити
једнака SMER =1 да би бројач бројао у исправном смеру. Када се достигне последње
дозвољено стање 10102, потребно је да реагује коло за детекцију
DET1 = Q 3 ⋅ Q1 = Q 3 ⋅ Q1
и промени смер бројања. Пошто контолна променљива СМЕР мења вредност у том
тренутку, информацију о томе може чувати SR леч. Значи, у датом тренутку се врши
ресетовање SR леча,
R = DET1 = Q 3 ⋅ Q1 .
Аналогно, када бројач броји уназад потребно је детектовати последње дозвољено стање
00002, и извршити сетовање SR леча, да би бројач од тог тренутка наставио да броји
унапред:
S = DET2 = Q3 ⋅ Q 2 ⋅ Q1 ⋅ Q0 = Q 3 + Q 2 + Q1 + Q 0 .
Реализација обостраног бројача је приказана на слици 10.2.
109
SMER
DET1
Q0 R D
Q
CLK CLK Q1
Q2
Q3 DET2
S Q
OBOSTRANI
BROJAČ
Слика 10.2
CLK
Q3
1315ns 1330ns
Q2
1310ns 1325ns
Q1
370ns 385ns 685ns 700ns 1315ns 1330ns
Q0
50ns 65ns 365ns 380ns 680ns 695ns 995ns 1100ns 1310ns 1325ns
Слика 10.3
110
Задатак 11
Коришћењем интегрисаног бројача 74LS163 (чија је логичка шема приказана на слици) и
потребних логичких кола, конструисати бројач и нацртати дјаграм стања бројача:
а) модула 12,
б) модула 8, који броји од 3 до 10, и
DAT0 DAT3
LD UPIS.H 74LS193
BROJ.H
D Q Q0 D Q Q3
CLR
CLK CLK
Q Q
CLK
Q2
Q1
ENP Q2
Q1 RCO
ENT
Q0 Q3
Слика 11.1
Решење
Ради лакше анализе рада бројача, на слици 11.1 су означене две помоћне функције
UPIS .H = CLR ⋅ LD
BROJ.H = CLR ⋅ UPIS.H = CLR ⋅ LD
На улазима D флипфлопова налазе се комбинационе мреже сличне структуре. Улазне
фунције су:
D 0 = UPIS.H ⋅ DAT0 + BROJ.H ⋅ (Q 0 ⊕ (ENT ⋅ ENP))
D1 = UPIS.H ⋅ DAT1 + BROJ.H ⋅ (Q1 ⊕ (Q 0 ⋅ ENT ⋅ ENP))
D 2 = UPIS.H ⋅ DAT2 + BROJ.H ⋅ (Q 2 ⊕ (Q1 ⋅ Q 0 ⋅ ENT ⋅ ENP))
D 3 = UPIS.H ⋅ DAT3 + BROJ.H ⋅ (Q 2 ⊕ (Q 2 ⋅ Q1 ⋅ Q 0 ⋅ ENT ⋅ ENP))
Улазна функција CLR је највишег приоритета. Ако је она активна (CLR=0), појавом следеће
активне ивице актног сигнала изврчиће се синхрони ресет бројача,
D3D2D1D0 = 0000.
Следећа по приоритету је функција LD. Ако је она активна (LD =0) и ако функција вичег
приоритета CLR није активна (CLR=1), тада је UPIS.H=1 и BROJ.H=0. На улазима D
флипфлопова су улазне променљиве
D3D2D1D0 = DАТ3DАТ2DАТ1DАТ0.
У овом случају ће се извршити синхрони упис огдоварајућег садржаја.
Ако су контролне функције CLR и LD неактивне (CLR=1 и LD =1), тада је UPIS.H=0 и
BROJ.H=1. Ако су обе функције за дозволу бројања активне ENТ=ENP=1, бројач ће бројати
унапред.
111
На основу свега претходног, може се закључити да је интегрисани бројач 74LS163 синхрони
четворобитни бинарни бројач унапред са могућношћу синхроног ресетовања (CLR) и
синхроног уписа (LD). Највиши приоритет има ресетовање, затим упис, а најнижи бројање
(ENP⋅ENТ=1).
Коришћењем излазног сигнала преноса RCO могуће је повезивање више оваквих бројача
ради добијања бројача већег модула,
RCO=Q3⋅Q2⋅Q1⋅Q0⋅ENТ.
а) Бројач М12 може да се реализује на више начина (да броји од 0 до 11, од 1 до 12 итд.).
Ако се изабере да бројач броји од 0 до 11, потребно је детектовати последње дозвољено
стање и извршити синхрони ресет бројача. Детекција стања Q3Q2Q1Q0=10112, врши се колом
за детекцију које се активира сваки пут када су на излазима Q3Q1Q0 појави високо стање
(слика 11.2а). Коло за детекцију мора бити такво да се у том случају појави низак сигнал,
јер је сигнал за ресет CLR активан на ниском нивоу (дакле, мора се користити НИ коло).
Слика 11.2
Слика 11.3
112
б) При реализацији бројача који броји од 3 до 10, потребно је детектовати стање
Q3Q2Q1Q0=10102 Коло за детекцију је
CLR = DET = Q 3 Q l ,
као што је приказано на слици 11.4. Након последњег дозвољеног стања синхроно се
уписује стање DАТ3DАТ2DАТ1DАТ0=00112.
Слика 11.4
Слика 11.5
113
Задатак 12
На сл. 11.1 је приказана логичка шема интегрисаног бројача 74LS163. То је синхрони
четворобитни бинарни бројач унапред са могућношћу синхроног ресетовања (CLR) и
синхроног уписа (LD). Највиши приоритет има ресетовање, затим упис, а најнижи бројање
(ENP⋅ENТ=1). Излазни сигнал преноса RCO остварује логичку функцију
RCO=Q3⋅Q2⋅Q1⋅Q0⋅ENТ.
Коришћењем интегрисаног бројача 74LS163 и потребних логичких кола конструисати
бројач модула 53 и нацртати његов дијаграм стања;
Слика 12.1
Решење:
Пошто је 74LS163 четворобитни бројач са максимално 16 различитих стања, за реализацију
бројача модула 53 је потребно
16 n −1 < M = 53 ≤ 16 n ,
n=2 оваква бројача. Ако изаберемо да бројач броји унапред кроз прва 53 стања (од стања 0
до стања 5210= 0011 01002), потребно је да се коло за детекцију буде
DET=CLR= Q 5 Q 4 Q 2 .
Слика 12.2
114
Задатак 13
Бројачи (подела; асинхрони − редни − бројачи: реализација бројача модула 8 помоћу Т или
ЈК флипфлопа; проблем генерисања погрешног кода – паразитног стања код редног бројача;
како се може бројач модификовати да буде заустављив у затеченом стању).
Решење:
Бројачи
→ Циклички аутомати
a b
→ Броји догађаје
(„активне ивице” такт сигнала)
Подела бројача:
По редоследу проласка кроз стања (смеру бројања):
− бројач на више (унапред)
− бројач на ниже (уназад)
− бројач обострани.
По начину реализације
− асинхрони (редни, ripple counter)
− синхрони (паралелни, synchronous counter).
Додатне могућности:
− може да се ресетује (у стање 0000) приближно сваки
− може да се постави у произвољно почетно стање (пресет, лоад)
− дозвола бројања.
Редни бројач:
− спор (сва кашњења треба да прођу)
− (успут) генерише паразитна стања.
Редни бројач модула 8 са ЈК флипфлоповима који реагују на опадајућу ивицу такт сигнала.
(Са Т флипфлоповима начин повезивања је исти, сви улази Т везани су на константни
сигнал 1.) Бројач броји унапред.
115
Слика 13.2
Слика 13.3
Задатак 14
Синтетизовати синхрони бројач који броји по коду задатом у дијаграму стања, помоћу D
флипфлопова.
QBQA
01
11
00 10
Слика 14.1
116
Решење:
n n+1
QБ QА QБ QА DB DA
1 1 0 1 0 1
0 1 1 0 1 0
1 0 0 0 0 0
0 0 1 1 1 1
DB DB
QA QA
0 1 0 1
QB QB
0 1 1 0 1 0
1 0 0 1 0 1
Слика 14.2
D A = Q BQ A + Q BQ A
DB = QB
DA = QB ⊕ QA
QB QA
QB QB QA QA
DB DA
>
>
TAKT
Слика 14.3
117
Задатак 15
Синтетизовати синхрони бројач који броји по коду задатом у дијаграму стања, помоћу Т
флифлопа.
QBQA S=0
01
00
S=1
0 1 1 0
1
11 10
Слика 15.1
Решење:
Ово је дијаграм стања двосмерног бинарног бројача који за S=0 броји унапред, а за S=1
уназад.
Функционална табела бројача, комбинована са табелама побуде Т флипфлопова је:
S QБ Q А QБ QА ТБ ТА
0 0 0 0 1 0 1 TB Q Q
A B
0 0 1 1 0 1 1 S
00 01 11 10
0 1 0 1 1 0 1
0 1 1 0 0 1 1 0 0 1 1 0
1 0 0 1 1 1 1
1 0 1 0 0 0 1 1 1 0 0 1
1 1 0 0 1 1 1
1 1 1 1 0 0 1
ТА ≡ 1 TB = S Q A + SQ A
Q Q
Слика 15.3
118
Задатак 16
Синтетизовати синхрони бројач по задатом дијаграму стања, помоћу:
а) D флифлопа б) ЈК флифлопa.
00 11
10 01
Слика 16.1
Решење:
Функционална табела бројача, комбинована са табелама побуде D и ЈК флипфлопова је:
t t+1 a) b)
QB QA QB QA DB DA JB KB JA KA
0 0 1 1 1 1 1 X 1 X
1 1 0 1 0 1 X 1 X 0
0 1 1 0 1 0 1 X X 1
1 0 0 0 0 0 X 1 0 X
а) б)
Слика 16.2
119
Задатак 17
Синтетизовати синхрони бројач који броји по коду задатом у дијаграму стања (и који може
да се зауставља у произвољном затеченом стању, сигналом Count/ Stop – што није
задато на дијаграму!), помоћу Т флифлопa.
QBQA 01
00
10 11
Слика 17.1
Решење:
Count / Stop = 1 Count / Stop = 0
Слика 17.2
C/ S QB QA QB QA TB TA
0 0 0 0 0 0 0
0 0 1 0 1 0 0
0 1 1 1 1 0 0
0 1 0 1 0 0 0
1 0 0 0 1 0 1
1 0 1 1 1 1 0
1 1 1 1 0 0 1
1 1 0 0 0 1 0
TB Q Q
B A
00 01 11 10
C/S
0 0 0 0 0
1 0 1 0 1
Слика 17.3
TB = C / S ⋅ (Q B ⊕ Q A ) TA = C / S ⋅ Q B ⊕ Q A
= C / S ⋅ QBQ A + C / S ⋅ Q B QA = C / S ⋅ QB QA + C / S ⋅ Q BQ A
120
>
>
Слика 17.4
Задатак 18
Реализовати синхрони бројач по задатом циклусу, користећи компоненту дату блок шемом
QD QC QB QA
Takt DD DC DB DA
0 1 12 13 14 15
Решење:
Потпуни дијаграм стања, укључивши и некоришћена стања:
Слика 18.2
121
Приметимо да код овог бројача не треба користити брисање (ресет), пошто је прелаз из
стања 15 у стање 0 последица природног бројања. Зато држимо улаз за ресет неактивним –
високим:
→ CLR = 1
110
QD QC QB QA
C/L
CLR 1
TAKT
> DD DC DB DA
12 10 1 1 0 0
Слика 18.3
Задатак 19
Реализовати синхрони бројач по задатом циклусу, користећи бројачки модул са асинхроним
ресет улазом, дат блок шемом.
Шта је потребно променити ако се користи модул бројача који се ресетује синхроно?
QD QC QB QA
Takt DD DC DB DA
0 1 2 3 13 14
Слика 19.1
Решење:
310
1510
QD QC QB QA
C/L
CLR
TAKT
> DD DC DB DA
13 10 1 1 0 1
Слика 19.2
У случају синхроног ресет улаза декодер за формирање ресет сигнала треба да хвата
последње пожељно стање пре скока на стање 0, а то је стање 14.
122
5 Регистри
Задатак 1
а) Одредити основу бројања синхроног бројача приказаног на слици 1.
б) Нацртати дијаграм стања бројача. Какав је ово бројач?
Слика 1.1
Решење:
На слици је приказан бројач реализован коришћењем померачког четворобитног регистра.
Да би одредили основу бројања, одређујемо услове прелаза
D 0 = Q 3 Q 2 Q1Q 0 ,
D1 = Q 0 ,
D 2 = Q1 и
D3 = Q2
и формирамо функционалну табелу (Табела 1.1). Пошто су услови прелаза једнаки следећем
стању бројача, ова табела моће бити поједностављена.
123
Табела 1.1
Садашње стање Услови прелаза= Следеће стање
Si Q3 Q2 Q1 Q0 D3= Q3’ D3= Q3’ D3= Q3’ D3= Q3’ Si’
0 0 0 0 0 0 0 0 1 1
1 0 0 0 1 0 0 1 1 3
2 0 0 1 0 0 1 0 1 5
3 0 0 1 1 0 1 1 1 7
4 0 1 0 0 1 0 0 1 9
5 0 1 0 1 1 0 1 1 11
6 0 1 1 0 1 1 0 1 13
7 0 1 1 1 1 1 1 1 15
8 1 0 0 0 0 0 0 1 1
9 1 0 0 1 0 0 1 1 3
10 1 0 1 0 0 1 0 1 5
11 1 0 1 1 0 1 1 1 7
12 1 1 0 0 1 0 0 1 9
13 1 1 0 1 1 0 1 1 11
14 1 1 1 0 1 1 0 1 13
15 1 1 1 1 1 1 1 0 14
Ово је самоподешавајући кружни бројач модула М5. Садржај који кружи кроз бројач је
једна ,,јединица" и остале ,,нуле". За разлику од ,,обичног" кружног бројача, као дозвољено
стање се јавља и стање са свим ,,нулама".
Слика 1.2
124
Задатак 2
На слици 2а је приказан 4-битни Џонсонов бројач реализован померачким регистром 74194
(слика 18б). 74194 је интегрисани бидирекциони померачки регистар, у склопу кога је
декодер 2/4 који, у зависности од контролних сигнала S0 и S1, декодује четири различите
функције регистра:
за S1S0=00, регистар задржава
постојеће стање;
за S1S0=01, регистар ради као
померачки регистар удесно;
за S1S0=10, регистар ради као D Q QD
LIN
померачки регистар улево; CLK
RIN QA
D Q
CLK
R Q
A
3 2 1 0 CLK
S0
DEK2/4
S1 CLR
Слика 2.1б
Слика 2.1а
125
Решење:
а) Џонсонов бројач је кружни бројач реализован помоћу померачког регистра код кога се на
серијски улаз доводи комплемент серијског излаза. Ако је реализован са n флипфлопова,
онда има 2n дозвољених стања.
Функционална табела је:
Стање S1 S0 CLR QА QB QC QD Излаз
Иниц. 0 1 0 0 0 0 0 0
0 0 1 1 0 0 0 0 0
1 0 1 1 1 0 0 0 1
2 0 1 1 1 1 0 0 3
3 0 1 1 1 1 1 0 7
4 0 1 1 1 1 1 1 15
5 0 1 1 0 1 1 1 14
6 0 1 1 0 0 1 1 12
7 0 1 1 0 0 0 1 8
0 0 1 1 0 0 0 0 0
2. при исправном раду бројача након стања 1000 следи стање 0000; значи, ако детектујемо
стање
Q3Q2=10,
126
потребно је извршити паралелан упис стања 0000. Кола за детекцију је:
DET = S1 = Q 3 ⋅ Q 2 = Q 3 + Q 2 .
Џонсонов бројач који има коло за детекцију забрањеног стања се назива самоподешавајући
Џонсонов бројач.
Слика 2.2
Слика 2.3
127
Задатак 3
Помоћу потребног броја интегрисаних Џонсонових декадних бројача 4017 и потребних
логичких кола конструисати кружни бројач са:
a) 8 и
b) 20 декодерских излаза.
Слика 3.1
Решење:
а) Интегрисани Џонсонов бројач 4017 је самоподешавајући, тј. има уграђено коло за
аутокорекцију
D2=Q1⋅(Q0+Q2),
које враћа бројач после неколико такт интервала у нормалан режим.
У нормалном режиму рада бројач има дозвољена стања приказана у табели 3.1.
Табела 3.1
Стање Q0 Q1 Q2 Q3 Q4 BCD вредност Излази
0 0 0 0 0 0 0 О0
1 1 0 0 0 0 1 О1
2 1 1 0 0 0 3 О2
3 1 1 1 0 0 7 О3
4 1 1 1 1 0 15 О4
5 1 1 1 1 1 31 О5
6 0 1 1 1 1 30 О6
7 0 0 1 1 1 28 О7
8 0 0 0 1 1 24 О8
9 0 0 0 0 1 16 О9
0 0 0 0 0 0 0 О0
128
Временски дијаграми контролних и злазних сигнала самоподешавајућег петобитног
кружног бројача је приказан на слици 3.2.
Слика 3.2
MR
PT CP 0 4017
CP 1
O0 O1 O2 O3 O4 O5 O6 O7 O8 O9
Слика 3.3
Слика 3.4
129
Задатак 4
На слици је приказан генератор псеудопериодичних бројева, реализован коришћењем
померачког четворобитног регистра, са прикључцима за серијски улаз SIN и синхроно
ресетовање CLR.
а) Одредити дозвољена стања генератора, ако је при иницијализацији уписано стање
Q3Q2Q1Q0=00012.
б) Модификовати коло са слике 1 тако да при евентуалном уласку у неко забрањено стање
буде обезбеђено да се коло врати у нормалан режим рада.
SIN
CLK CLK POMERAČKI
1 CLR REGISTAR
Q0 Q1 Q2 Q3
Слика 4.1
Решење:
а) Посебна класа кружних бројача су генератори псеудопериодичних бројева. Померачки
регистар од n бита може да заузме 2n-1 различитих стања, док је стање 0 једино изузето.
Стања која заузима регистар нису у природном бинарном низу, тако да се овакви
секвенцијални аутомати називају генератори псеудопериодичних импулса. Ако је почетно
стање 00012, табела стања је следећа:
Табела 4.1
Стање Q3 Q2 Q1 Q0 Излаз
1 0 0 0 1 1
2 0 0 1 0 2
3 0 1 0 0 4
4 1 0 0 1 9
5 0 0 1 1 3
6 0 1 1 0 6
7 1 1 0 1 13
8 1 0 1 0 10
9 0 1 0 1 5
10 1 0 1 1 11
11 0 1 1 1 7
12 1 1 1 1 15
13 1 1 1 0 14
14 1 1 0 0 12
15 1 0 0 0 8
1 0 0 0 1 1
130
б) Једино забрањено стање је нула. Треба га детектовати и након њега уписати SIN=1 да би
бројач ушао у дозвољено стање:
DET = Q 3 + Q 2 + Q1 + Q 0 = Q 3 ⋅ Q 2 ⋅ Q1 ⋅ Q 0 ,
S IN = (Q 3 ⊕ Q 2 ) + DET .
SIN
CLK CLK
POMERAČKI
1 CLR REGISTAR
Q0 Q1 Q2 Q3
DET
Слика 4.2
Задатак 5
Померачки регистар (улога; начин спрезања флипфлопова; пример померачког регистра са
серијским улазом и серијским излазом - FIFO регистра ; како се може регистар проширити
да има и паралелни излаз).
Решење:
Најчешће улоге померачких регистара дужине n бита (од n флипфлопова) су:
• закашњавање сигнала за n периода такта;
• прилагођење по брзини при серијском преносу информација;
• множење/дељење бинарног броја бројем 2m, у зависности од смера померања (m је број
корака начињених приликом померања)
Q Q
Слика 5.1
Погледајмо пример FIFO регистра (померачког регистра са серијским улазом и излазом), за
n=3. Испрекидано је додат паралелни излаз (у пракси се обично додају и бафери – одвојни
степени – на све излазе, а често и на улазе).
131
ц)
Слика 5.2
Задатак 6
Џонсонов кружни бројач (шема са четири D флипфлопа и временски дијаграми, са
коментаром; колики је модуо бројања)
Решење:
Џонсонов кружни бројач прави се од померачког регистра са серијским улазом и
паралелним/серијским излазом, враћањем инвертованог излазног сигнала на улаз. Ако је на
располагању и инвертовани излаз последњег флипфлопа, бројач се може формирати без
додатних капија:
Слика 6.1
132
QD
Слика 6.2
Задатак 7
Џонсонов кружни бројач (шема са четири ЈК флипфлопа и временски дијаграми).
Решење:
QA QB QC QD
J Q J Q J Q J Q
> > > >
K Q K Q K Q K Q
Takt
Слика 7.1
133
QD
Слика 7.2
134
Литература
[1] С. Lj. Тешић, Д. М. Васиљевић, Основи електронике, Научна књига, Београд, 1990.
[2] Д. Б. Живковић, М. В. Поповић, Импулсна и дигитална електроника, Наука, Београд,
1995.
[3] Др М. Хрибшек, др М. Поповић, Зборник решених проблема из импулсне и
дигиталне електронике, 2. део, Научна књига, Београд, 1988.
[4] Др С. Тешић, др Д. Васиљевић, Збирка задатака из дигиталне електронике, Научна
књига, Београд, 1981.
[5] Szittya O., Digitális és Analóg Technika Informatikusoknak, LSI Oktatóközpont,
Budapest, 1999.
[6] С. Љ. Тешић, Д. М. Васиљевић, Основи електронике, Научна књига, Београд, 1990.
135