You are on page 1of 137

др Мирјана Дамњановић, др Ласло Нађ

Збирка решених задатака из


дигиталне електронике

Спонзор / Sponsored by

TEMPUS

Education and Culture

JEP CD TEMPUS 18105/2003


”Revision of Electrical Engineering Curricula
Based on New Technologies and Bologna Recommendations”
Рецензирали

др Миодраг Поповић, ред. проф.

др Милош Живанов, ред. проф.

Факултет техничких наука


Катедра за електронику
Нови Сад, јул 2007.

СВА ПРАВА ЗАДРЖАНА


ПРЕШТАМПАВАЊЕ И УМНОЖАВАЊЕ ЗАБРАЊЕНО
И У ЦЕЛИНИ И У ДЕЛОВИМА
САДРЖАЈ

Предговор .......................................................................................................................................2

1 Комбинационе мреже................................................................................................................4
2 Синхроне секвенцијалне мреже............................................................................................75
3 Асинхроне секвенцијалне мреже..........................................................................................83
4 Бројачи ......................................................................................................................................92
5 Регистри ..................................................................................................................................123

Литература .................................................................................................................................135

1
Предговор

Ово је збирка решених задатака из предмета Дигитална електроника, уводног у низу


предмета који обрађују примену дигиталних електронских кола. Дигитална електроника се
изводи у трећем семестру студија електротехничке струке на Факултету техничких наука
Универзитета у Новом Саду, на Смеру за микрорачунарску електронику. Предмет обухвата
следеће градиво:
• анализа основних комбинационих мрежа
• синтеза основних комбинационих мрежа
• утицај кашњења логичких кола на рад комбинационих мрежа
(логички и функционални хазарди)
• комбинациони функционални блокови и њихова примена
• анализа основних синхроних и асинхроних секвенцијалних мрежа
• синтеза синхроних и основних асинхроних секвенцијалних мрежа
• основни проблеми (хазарди) у секвенцијалним мрежама
• секвенцијални функционални блокови и њихова примена.

У оквиру предавања, поред теоретских разматрања, раде се и кратки илустративни


задаци, док се на рачунским вежбама решавају детаљни задаци.

У првом поглављу ј ображена синтеза и анализа комбинационих мрежа, 15 детаљних


задатака и 22 кратка, теоретска задатка. Поред класичног приступа основним проблемима
студенти се навикавају и на проблеме у раду дигиталних мрежа, анализирају се и по
могућству избегавају или елиминишу хазардне појаве у мрежама.

У другом поглаљу су анализиране синхроне секвенцијалне мреже. Прво је нагласак на


самим флипфлоповима као основним блоковима синхроних мрежа. Потом се ради анализа и
синтеза једноставнијих синхроних мрежа, у складу са примерима обрађеним на
предавањима, обухваћеним скриптама из Дигиталне електронике.

Треће поглавље садржи задатке за увежбавање основних метода анализе асинхроних


секвенцијалних. Уједно се ради и један начин синтезе једноставних асинхроних мрежа, тзв.
интуитивна метода.

Преостале вежбе служе за проучавање две веома важне класе синхроних секвенцијалних
мрежа. У четвртој вежби раде се бројачи, асинхрони и синхрони, као и коришћење готових
универзалних четворобитних бројачких модула (проширивање капацитета бројача и
скраћивање њиховог циклуса бројања). Уочавају се проблеми у вези рада бројача, посебно у
вези асинхронизма у раду због неадекватног одзива на помоћне сигнале (за брисање стања,
пуњење бројача итд.).

У петој вежби проучавају се статички и померачки регистри, у разним варијантама.


Уједно се реализују кружни бројачи, полазећи од померачких регистра са серијским улазом
и излазом (FIFO регистра).

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

ц) Могућност појаве ,,лажне нуле“ може се елиминисати модификацијом комбинационе


мреже (додавањем одговарајућих И кола) или синхронизацијом, која уноси додатна
кашњења.
Модификација комбинационе мреже CD
00 01 11 10
се врши коришћењем Карноових AB

таблица (слика 1.4) . 00 1 1 1


Морају се додати следећа И-кола:
AB D, ACD, BCD, ABC i ABC . 01 1 1 1

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,

а крај порастом сигнала B + C


t2min = tHL1min + tLH5min + tHL7min = 33ns
t2max = tHL1max + tLH5max + tHL7max = 54ns.
Комбинациона мрежа има два недостатка:
• постоји могућност појаве ,,лажне“ јединице у случају да су улазне променљиве
А = C = 0, док се B мења са ниске на високу вредност ( ↑ ) и
• сигнал B је двоструко инвертован, што уноси додатно кашњење сигнала F.

Временски дијаграми сигнала су приказани на слици 3.2.


7
A=C=0

10n 18n

A+B

10n 18n

B+C

20n 35n

BZ = B

20n 35n
C =1

BZ + C = 0

22n 54n

Слика 3.2

b) Да би се елиминисали ови недостаци потребно је да се избаци коло 2 и да се сигнал B


води директно са улаза на улаз кола 6 (наравно, ако сигнал B у том случају неће бити
преоптерећен!). Појава „лажне“ јединице се елиминише модификацијом кола (додавањем
потребног броја НИЛИ кола). Логичку функцију F,

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

Додавањем A + C добијамо модификовану функцију F,

F= A+B + B+C + B+ C + A+C ,


код које је елиминисана могућност појаве хазарда (слика 3.4).
8
A

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 се мења.

Коришћењем типичних времена пропагације, представљени су временски дијаграми


сигнала у тим случајевима (слика 4.3).
1. А1 = 0, А2 = 0, А3 = 1, А4 се мења, 2. А1 = 0, А3 = 1, А4 = 0, А2 се мења,
A3=1 A3=1
A1=A2=0 A1=A4=0

A4 A2
0 0
A4 A2
10ns 10ns
A1A2=0
A1A2=0
15ns
A3A4 A3A4=0
15ns
A1A3A4=0 A1A3A4=0

A1A2 A3A4 A1A2 A3A4


25ns 25ns

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

Слика 4.4а Слика 4.4б


Једноставнија је реализација само НИЛИ колима (слика 4.5).
A1

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

Слика 5.1a Слика 5.1б

tdmin tdtip tdmax


Инвертор 8 ns 10 ns 20 ns
И коло 10 ns 15 ns 27 ns
ИЛИ коло 9 ns 12 ns 25 ns

Решење
Логичка функција коју обавља комбинациона мрежа је
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

Слика 5.2 Слика 5.3

б) За сваку комбинацију улазних променљивих на излазу дигиталне мреже ће се


успоставити одговарајућа вредност сигнала F. Ако се на улазима дигиталне мреже у
тренутку у t = t0 појави нова комбинација променљивих, тада излазни сигнал F:
• извесно време остаје непромењен, јер промена улазних променљивих није стигла до
улаза излазног кола, (t < t0 + t1);
• може да се мења у било ком тренутку интервала (t0 + t1; t0 + t2), где је t1 тренутак када
улазни сигнали излазног кола могу најраније да се промене услед промене улазних
сигнала, а t2 тренутак када се F сигурно мењају и узимају нову вредност; у овом
интервалу не знамо поуздано њихову вредност и зато ћемо их забранити коришћењем
сигнала дозволе EN (Ако је EN = 1, тада је F = 1 и не зависи од улазних променљивих.);
• у интервалу t > t0 + t2, улазни сигнали излазног кола су стабилни и одговарају новој
комбинацији улазних сигнала (слика 5.4).

• Одређивање временских интервала t1 и t2:


Интервал t1 је интервал након кога промена улазних сигнала може најраније да стигне до
неког од улаза излазног кола F. Да би се одредио потребно је испитати све могуће путање
улазних сигнала логичка кола од улаза комбинационе мреже до улаза 9, сматрајући да
сигнали пролазе кроз логичка кола максимално брзо:
t1= min {td3min + td5min + td7min ; td1min + td3min + td5min + td7min ; td4min + td5min + td7min;
td2min + td4min + td5min + td7min ; td6min + td7min ; td8min ; td8min}
t1= 10 ns.
Аналогно, интервал t2 је време након кога ће се прелазни процеси сигурно завршити.
Потребно је одредити кроз коју грану сигнали најдуже путују. При томе се узима најгори
могући случај, да сва логичка кола уносе максимално кашњење:
t2 = max {td3max + td5max + td7max ; td1max + td3max + td5max + td7max ; td4max + td5max + td7max;
td2max + td4max + td5max + td7max; td6max + td7max; td8max; td8max}
t2 = 99 ns.

13
X,Y,Z

t0

( XY + XY ) ⋅ Z

t0+ 18ns t0 + 99ns

X⋅Z

t0 + 10ns t0 + 27ns

EN

t0 + 10ns t0 + 27ns

Prethodna Blokiranje Naredna


kombinacija izlaza kombinacija

Слика 5.4

Дакле, све док прелазни процеси трају


t ∈ (t0 + 10ns; t0 + 99ns)
потребно је ,,блокирати” излаз, односно, сигнал дозволе мора бити такав да обезбеди да
излаз не зависи од улазних сигнала. Тренутак т0 је тренутак када се на улазима успоставља
нова комбинација улазних сигнала.

Пошто је
F = (XY + XY) ⋅ Z + X ⋅ Z + EN ,
закључујемо да је сигнал дозволе неактиван ако је висок EN=1, тј. тада излаз блокиран и не
зависи од улаза
EN=1 => F=1 ≠ f (X, Y, Z) .

ц) Временски дијаграми сигнала су приказани на слици 5.5.

Напомене:
1. Ако се сигнали први пут постављују у t=0, тада вредност F није позната све док се
прелазни процеси сигурно не заврше, и зато је ЕN неактиван до 99ns.
2. При промени комбинације улазних сигнала (као нпр. у t0=200ns) излазни сигнал мора
бити забрањен у интервалу у коме се може мењати, тј. од тренутка када промена са улаза
најраније може стићи до излаза (после 10ns кроз LК8) до тренутка када се излаз сигурно
мења (након 99ns).

14
t=0

X, Z

200n

X, Z

20n 208n 220n

20n

XY

27n 210n 227n

XY

27n

XY + X Y

52n 219n 252n


(XY + XY ) ⋅ Z

79n 229n 247n

XZ

27n 210n 227n

EN ∆T1 = (−∞;99ns) ∆TEN = ( t 0 + 10n; t 0 + 99n )


99n t 0 + 10n t 0 + 99n
F
108n 124n 219n 235n

Слика 5.5

Задатак 6
a) Испитати да ли комбинациона мрежа приказана на слици 6.1 поседује могућност појаве
вишеструке промене нивоа излазног сигнала. Објаснити и илустровати на примеру
A = C = D = 0, a B се мења са логичке „0“ на „1“. Сматрати да сва логичка кола имају
једнако време пропагације тд.
b) На које начине се може модификовати дата комбинациона мрежа тако да не постоји
могућност појаве вишеструке промене нивоа излазног сигнала?
c) Ако претпоставимо да су у тренутку t = 0 постављене све улазне променљиве,
коришћењем података из табеле одредити карактеристична времена излазног сигнала F
и нацртати временске дијаграме свих сигнала.

tdmin tdtip tdmax


Инвертор 8 ns 10 ns 14 ns
И коло 10 ns 15 ns 20 ns
ИЛИ коло 10 ns 12 ns 15 ns
Слика 6.1

15
Решење
a) Логичка кола 1, 5, 6 и 9 представљају део мреже у коме није елиминисана могућност
појављивања лажне јединице (која се јавља у случају да су A = C = 0, a B се мења са ниске
на високу вредност ↑ ).

Улазни сигнал B је растерећен инверторима 1 и 2, услед чега се на излазу инвертора 2


генерише закашњени сигнал BZ, који ју у стационарном режиму рада једнак сигналу B. Зато
излазни сигнал F два пута мења стање пре него што достигне вредност логичке „1“.
Временски дијаграми сигнала су приказани на слици 5.2.

0 td 2td 3td 4td 5td

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

б) Вишеструка промена излазног сигнала F би се могла избећи на следеће начине:


1. Модификацијом горњег дела мреже (кога чине логичка кола 1, 5, 6 и 9) у циљу
онемогућавања појаве лажне ,,1” (додавањем ИЛИ кола (А+C). Модификован део
мреже је приказан на слици 6.3а.
2. Коришћењем временски идентичног улазног сигнала B на улазима логичких кола 5,
6, 7 и 8, као што је приказано на слици 6.3б.

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

Слика 6.3а Слика 6.3б

Напомена: ако није критично преоптерећење улазног сигнала B, онда би се могао избацити
инверторе 2 и 4, чиме би се значајно убрзао рад комбинационе мреже! Решење код кога је
ово примењено, као и извршена елиминација могућности појаве лажне “1” је приказано на
слици 6.4.

1
6 9

12
11

7 11
3

10
10

Слика 6.4 Слика 6.5

Вишеструка промена излазног сигнала може бити спречена и синхронизацијом, као што је
приказано на слици 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.

tAmin tAmax tBmin tBmax

Слика 6.6

Интервали за почетак и завршетак лажне јединице се делимично преклапају („лажна“


јединица се може јавити али не мора). Изглед сигнала F је приказан на слици 6.7.
F:
tCmin = tAmin + t11min = 20n + 10n = 30ns
tCmax = tAmax + t11max = 35n + 15n = 50ns
tDmin = tBmin + t11min = 28n + 10n = 38ns
tDmax = tBmax + t11max = 39ns + 15n = 54ns
tEmin = tYmin + td11min = 36n + 10n = 46ns
tEmax = tYmax + td11max = 63n + 15n = 78ns

{ { {
tC tD tE

Слика 6.7

Временски дијаграми свих сигнала су приказани на слици 6.8. До вишеструке промене


излазног сигнала може, али не мора доћи, у интервалу од 30 ns до 78 ns.

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 након:

t1= max{td5max+td9max; td1max+td6max+td9max; td6max+td9max; td1max+td2max+td7max+td10max;


td3max+ td7max+ td10max; td1max+ td2max+ td4max + td8max + td10max; td8max + td10max}
= max { 25n + 27n; 20n + 25n + 27n; 25n + 27n; 20n + 20n + 27n + 25n;
20n + 27n + 25n; 20n + 20n + 20n + 27n +25n; 27n + 25n}
= max { 52n; 72n; 52n; 92n; 72n; 112n; 52n}= 112ns

Сигнал дозволе 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

Слика 7.2а Слика 7.2б

Аналогно, ако се синхронизација врши помоћу И или НИ кола, онда је EN активан када је
једнак јединици (слике 7.3а и 7.3б, респективно).
Ако је EN=0, излаз F је блокиран и не зависи од улазних променљивих.

20
X X
F F
Y Y
EN EN

EN EN

F F

Слика 7.3а Слика 7.3б

Излазни сигнал F може да се мења у интервалу (tAmin; tAmax), као што је приказано на слици
7.4:
tAmin = t1 + td11min = 112n + 9n = 121ns
tAmax = t1 + td11max = 112n + 25n = 137ns

По услову задатка, излазни сигнал F треба да буде исправан TDV = 50 ns:


tBmin = tAmax + TDV = 137n + 50n = 187ns,
а tBmin је тренутак када најраније излазни сигнал постаје неактиван
tBmin = t2 + td11min =>
t2 = tBmin – td11min = 187n – 9n = 178ns

tA min tA max tB min tB max

Слика 7.4

Након што је сигнал дозволе постао неактиван (EN=1) улазне променљиве X и Y могу да
мењају вредност. Посматрајући најгори могућ случај (тј. када се улазни сигнали
максимално брзо мењају) мора бити обезбеђено да се X и Y најраније мењају након
t2 = 178ns.

Означимо са т3 укупно минимално време пропагације сигнала А, B, C и D до 12.


t3 = min {td5min+ td9min; td1min+ td6min+ td9min; td6min+ td9min; td1min+ td2min+ td7min+td10min;
td3min + td7min + td10min; td1min + td2min + td4min + td8min + td10min; td8min + td10min}
= min{9n + 10n; 8n + 9n + 10n; 9n + 10n; 2⋅8n + 10n +9n; 8n + 10n + 9n;
3⋅8n + 10n + 9n; 10n + 9n} = min{19n; 27n; 19n; 35n; 27n; 43n; 19n} = 19ns

Дакле, улазни сигнали могу најраније да мењају вредност након


tul = t2 – t3 = 178n – 19n
tul = 159ns
Временски дијаграми свих сигнала приказани су на слици 7.5.

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.

а) Да би испројектовали дигиталну мрежу која садржи најмањи могући број НИ кола


потребно је да најпре минимизирамо логичку функцију коју треба остварити.
Минимизацију ћемо извршити помоћу Карноове таблице, као што је приказано на слици
8.2:
F = CD + ABD + BCD = CD + ABD + BCD = CD⋅ABD⋅BCD .
Комбинациона мрежа која реализује логичку функцију F је приказана на слици 8.3.
CD
00 01 11 10
AB
00 x 1 1 A
B
01 x 1
F
C
11 1 x

10 x 1 1
D

Слика 8.2 Слика 8.3

б) На сличан начин врши се синтеза комбинационе мреже само НИЛИ колима, као што је
приказано на слици 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

Слика 8.4 Слика 8.5

Задатак 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

Слика 9.1а Слика 9.1б


б) Z(A, B, C, D) = A BD + AC + B CD
CD
00 01 11 10
AB
00 1 A
B
01
F
11 1 1 1 C

10 1 x
D

Слика 9.2а Слика 9.2б


24
Задатак 10
Дата је логичка функција
F(A, B, C, D) = ∑ (2, 3, 4, 5, 7,10,11,12,14,15) .
Реализовати је коришћењем потребних логичких кола и:
а) мултиплексера MUX 8/1;
б) мултиплексера MUX 4/1.

Решење
а) Мултиплексер је комбинациона мрежа која обавља улогу вишеположајног прекидача, тј.
она од више улаза изабере један који ће се појавити на излазу, ако је активан сигнал дозволе
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

б) При реализацији коришћењем мултиплексера MUX 4/1, потребно је изабрати две


променљиве које ће бити доведене на селекционе улазе, док ће преостале две морати да
буду уведене преко информационих улаза.
На пример, изаберимо да су А1=А, А0=B, као што је приказано на слици 10.3. Преостале
две променљиве се доводе на информационе улазе, Ii = f(C,D), i=0,1,…,3.
CD
00 01 11 10
AB
I0 = C 00 0 0 1 1 I0

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.

tLHmin tLHtip tLHmax tHLmin tHLtip tHLmax


Инвертор 8 ns 10 ns 22 ns 7 ns 10 ns 15 ns
И коло 10 ns 15 ns 27 ns 11 ns 15 ns 19 ns
ИЛИ коло 7 ns 12 ns 15 ns 10 ns 12 ns 22 ns

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

LK 1 ,LK 2 ,LK 3 ,LK 5 ,LK 6 ,LK 7 = 0

Y1
128n 179n

Слика 11.2

б) У зависности од тога која је комбинација селекционих сигнала, само један (селектован)


информациони сигнал се прослеђује на излаз.
Ако нас интересује у ком интервалу требају да буду постављени информациони
сигнали и када треба да буде активан сигнал дозволе, анализу вршимо на тај начин што
посматрамо коло и одређујемо у ком интервалу Y1 неће бити стабилан и када га не смемо
проследити на излаз.
Дакле, у одговарајућем тренутку излаз треба да зависи само од одговарајућег
информационог улаза. Међутим, због коначног времена пропагације може се десити да још
увек није престао утицај претходно селектованог информационог улаза. Зато морамо да
будемо сигурни да су сви прелазни процеси завршени да би смели да активирамо EN.

Потребно време да претходно активиран Di престане да буде активан је (у зависности да ли


је Si једном или двапут инвертован):
t3max = max{tHLINVmax + tHLImax; tLHINVmax + tHLINVmax + tHLImax}
= max{15n + 19n; 22n + 15n + 19n} = max{34n, 56n} = 56ns
Након ког времена информациони сигнал Dj стиже до улаза логичког кола 10?
Прво, информациони улаз мора да буде постављен довољно раније да, када се појаве
активни селекциони улази до улаза И-кола (1 до 8) буде одмах прослеђен Dј.

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?

ц) Реализација мултиплексера MUX 32/1 коришћењем мултиплексера MUX 8/1 је приказана


на слици 11.4.

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).

б) Коришћењем једног MUX 8/1 и потребних логичких кола:


Ако на селекционе улазе доведемо А2=А2, А1=А1, А0=А0, информациони улази су:
I0 = A4 A3 + A4 A3 + A4A3 = A3 + A4
I1 = A4 A3
I2 = A4 A3 + A4 A3 + A4 A3 = A4 + A3
I3 = A4 A3 + A4 A3 + A4A3 = A4 + A3
I4 = A4 A3 + A4A3 = A3
I5 = A4 A3
I6 = A4 A3 + A4 A3 + A4 A3 + A4A3 = 1
I7 = A4A3

Реализација логичке функције је приказана слици 12.3.

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.

tLHmin tLHtip tLHmax tHLmin tHLtip tHLmax


Инвертор 10 ns 10 ns 14 ns 8 ns 10 ns 12 ns
НИ,НИЛИ кола 11 ns 15 ns 23 ns 11 ns 14 ns 20 ns
И коло 13 нс 17 нс 29 нс 12 нс 15 нс 26 нс

33
A2 A1 A0

Y0

Y1

Y2

Y3

Y4

Y5

Y6

Y7
CS3 EN1
E
CS2
CS1

Слика 13.1

Решење
a) Да би одговарајући излаз био активан потребно је да све улазне променљиве буду
постављене пре него што се активира сигнал дозволе (ЕN=1)

EN = CS1 ⋅ CS2 + CS3 = CS1 ⋅ CS2 ⋅ CS3


Посматрајући најгори могући случај (да улазне променљиве максимално касне) одређујемо
тренутак када ће бити сигурно постављене (као ,,1'') на улазима једног од излазних НИ кола:
t1= max{tLHINVmax; tHLINVmax + tLHINVmax} = max{12n;11n+12n}=23ns.
Тренутке када НАЈРАНИЈЕ можемо активирати сигнале селекције CS1 , CS2 и CS3 :
CS1 : tA= t1-tLHImin= 23n – 12n= 11ns
CS2 , CS3 : tB= t1- (tLHNILImin + tLHImin) = 23n – (10n + 12n) = 1ns

Напомена: Прорачун је могао да извршен и тако да се сматра да су два сигнала селекције


стално активна, а да од тренутка када и трећи сигнал селекције постане активан, постаје
активан и сигнал ЕN!

34
У ком интервалу ће се појавити сигнал дозволе ЕN?
t2min= 23ns
t2max = max {tA+ tLHImax; tB + tLHNILImax + tLHImax}=
= max {11n + 29n; 1n + 22n + 29n}= max{40n; 52n}
= 52 ns

Излазни сигнал Y4 постаје активан након:


t3min = t1 + tHLNImin = 23n + 10n= 33ns
t3max = max{tA + tLHImax + tHLNImax; tB + tLHNILImax + tLHImax + tHLNImax}
= max{11n + 29n + 19n; 1n + 22n + 29n + 19n} = max{59n; 71n}= 71ns
Из услова да Y 4 треба да буде исправан 50ns одређујемо
t4min = t3max + 50ns = 71n + 50n = 121ns
С друге стране, т4мин је одређено тиме да CS1 , CS2 и CS3 постају неактивни:
CS1 : t4min = tA1 + tHLImin + tLHNImin => tA1= 121n – 11n – 10n = 100ns,

CS2 , CS3 : t4min = tB1 + tHLNILImin + tHLImin + tLHNImin


=> tB1= 121n – 10n – 11n – 10n=90ns,
а сигнали дозволи EN1 и EN:
EN1: t5min = tB1 + tHLNILImin = 90n + 10n = 100ns
t5max = tB1 + tHLNILImax = 90n + 19n = 109ns

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

11n 23n 100n 109n

EN

23n 52n 111n 125n

Y4

33n 71n 121n 147n

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

d) Реализација декодера DEC 5/32 помоћу 74HC138 је приказана на слици 13.7.

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

б) Реализација функције коришћењем само НИ кола је приказана на слици 14.4.

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

Реализација функције коришћењем само НИЛИ кола је приказана на слици 14.5.

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.

ц) Ако на селекционе улазе доведемо S1 = C и S0 = D, приказом функције F помоћу Карноове


таблице (слика 14.6), можемо одредити информационе улазе у зависности од преостале две
променљиве, Ii = f(А, B), i = 0, 1, 2, 3.
Реализација функције F помоћу мултиплексера MUX 4/1 је приказана на слици 14.7.

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

Слика 14.6 Слика 14.7

д) Реализација функције помоћу декодера DEC 3/8 на два различита начина је приказана на
сликама 14.8а за А2=А, А1=B и А0=C и 14.8б за А2=B, А1=C и А0=D.

Слика 14.8а Слика 14.8б

е) Увођење синхронизационог сигнала у комбинациону мрежу је приказано на слици 14.9.


Излазни сигнал треба да буде блокиран све док трају прелазни процеси коришћењем
сигнала дозволе EN.
A 1
B 4

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.

Слика 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).

td min td tip td max


Инвертор 7 ns 9 ns 12 ns
И кола 11 ns 15 ns 23 ns
ИЛИ кола 10 ns 13 ns 20 ns
FF0, FF2 50 ns 55 ns 60 ns
FF1, FF3 45 ns 50 ns 55 ns
A
B

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

б) Временски дијаграми сигнала су приказани на слици 15.3.

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

У тако реализованој мрежи, услед кашњења сигнала приликом инвертовања може да се


појави статички логички хазард јединице, у виду краткотрајног опадајућег импулса (глича).
Пошто се у Карноовој таблици сва формирана поља пресецају, без додиривања по
страницама, закључујемо да нема тог типа хазарда. (Неки од других типова хазарда нису
тиме искључени – на пример фунционални хазард се може појавити при истовременој
промени сигнала B и А, са вредности 01 на 10, уз D=Ц=0, ако промена сигнала А касни у
односу на промену B.)
Ради реализације одговарајуће логичке мреже НИ-НИ типа применимо на
минимизирану функцију, после двоструког инвертовања, де Морганову теорему:
F = D B + CA + BCD + D C A =

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

При формирању производа (заокруживањем јединица) постоји једна могућност за појаву


статичког хазарда јединице, при промени D са 1 на 0, уз B=Ц=А=0 (одговарајуће границе
суседних поља обележене су цик-цак линијама). Елиминишимо хазард додавањем нове

47
контуре, уоквирене дебљом линијом, која у овом случају обухвата поља у угловима
(обележено ЕХ – Елиминација Хазарда ).

У другој реализацији, формирањем збирова променљивих код ове функције нема


могућности појаве статичког хазарда нуле. Из табела очитајмо минимизиране вредности
функције (F), уз потребну елиминацију хазарда и формирајмо меру сложености мреже (Н)
тако што пребројимо укупан број улаза потребних капија:

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
(применом једне од де Морганових теорема) свести на стандардну форму. Питање је, да ли
се уопште може реализовати у траженој форми? Приметимо следећу могућу
трансформацију, пошто се ИЛИ операција може свести на НИЛИ-НЕ:

НИЛИ - ИЛИ ≡ НИЛИ - НИЛИ – НЕ

Ово је корисно, пошто је НИЛИ-НИЛИ структура мреже стандардна, изводи се де


Моргановом теоремом из ИЛИ-И, а тражена структура се од ње разликује само у једном
инвертовању. Идеја у реализацији је да кренемо у реализацију НИЛИ-НИЛИ типа са
инвертованом функцијом F. На крају уместо излазне НИЛИ капије, стављањем тражене
ИЛИ капије извршимо додатно инвертовање. На тај начин (после двоструког инвертовања)
реализује се тражена функција F.
Инвертована функција је (најлакше се инвертује у самој Карноовој таблици,
инвертовањем свих вредности појединачно):

Минимизирамо заокруживањем нула (у циљу НИЛИ-НИЛИ реализације инвертоване


функције):
BC
00 01 11 10
A
0 0 0 0

0 0 0 1

Слика 18.1

F = ∑ (6 )

F = (А)·(B)·(C) = (А)·(B)·(C) = А + B + C

Задата функција је веома једноставна (и у инвертованом облику). У општем случају


чиниоци су збирови променљивих, овде се то свело на појединачне
променљиве.(Инвертована функција је толико једноставна да је и у облику збира производа
иста: заокружите једину јединицу и очитајте вредност функције!) Прегледности ради ипак
смо их ставили у заграде, и, после двоструког инвертовања, применили смо де Морганову
теорему. У последњој фази, при цртању логичке шеме, ставили смо ИЛИ коло уместо
НИЛИ, тиме смо се вратили са инвертоване вредности функције F на тражену функцију F.

Задатак 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
ЕХ ЕХ

N(X = 0) = 2 + 2 + 3 + 3 + 4 = 14 N(X = 1) = 4 × 2 + 4 = 12 < N(X = 0)

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

Има 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⎭

• Пођимо од усвојеног интервала у којем се улазни сигнали (означени генерално са


X) не смеју мењати.
• У складу са тим скицирајмо излаз основне комбинационе мреже КМ (произвољно
је усвојено кашњење одзива те мреже). Када су улазни сигнали стабилни, излаз
заузима једну од вредности 0 или 1, у складу са логиком мреже и вреднотима
улазних променљивих.
• Усвојимо активни интервал такта. Тај не сме бити изван максималног трајања
мирног сигнала Y, а сме бити краћег трајања (што је у пракси лимитирано неким
техничким захтевом у вези мреже – корисника синхронизованог сигнала, овде је
најкраће трајање такта произвољно одабрано).
• Нацртајмо излазни сигнал F (пошто је по услову задатка занемарљиво качњење
капије додате на излаз, времена се поклапају са променама такта, иначе би исти
одзив био смакнут додатно по временској оси):
Док је такт неактиван (0), излаз је низак (особина И кола).
Када је такт активан (1), излаз F прати Y (високој вредности Y одговара висока
вредност F и обрнуто, што ја назначено стрелицама). Важно је запазити да се
логика у овој варијанти не обрће.

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

б) Потребно је реализовати декодер 4/12. То је непотпуни декодер (42>12) са четири


тежинска улаза, обележена са X0, X1,...X3 и дванаест излаза, обележена Y0, Y1,...Y11.
На располагању је поново декодер 2/4.
За реализацију 12 излаза потребна су 3 модула са 4 излаза, за активацију још један, са чија
прва три излаза одаберемо одговарајући излазни модул. Некоришћени четврти излаз
остављамо необележеним. Оставља се читаоцу да нацрта потребне слике.

Задатак 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 ставља до знања да је важећи код на излазу. При томе ако је
активан само један улаз, појављује се његов код на излазу као и код обичног кодера. Ако је
истовремено активно више улаза, приоритетни кодер кодује редни број најприоритетнијег
од активних улаза (редослед приоритета је усвојен, практично по опадајућем редоследу
улаза; а редослед приоритета стварних сигнала између којих кодер треба да направи избор
одабран је редоследом прикључивања сигнала, приликом повезивања мреже).

б) Функционална табела приоритетног кодера са четири улаза (у скраћеној форми; потпуна


табела има 16 врсти):

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.)

Više aktivnih Jedan aktivan


Слика 29.1

Начин рада приоритетне мреже са слике: Под условом да је EN активан и да је активан


(висок) X2, без обзира на све друго Y2=1, а, због инвертованог X2 сигнала сва И кола мање
тежине имају сигнал забране, па су одговарајући излази на нули. Ако је X2=0, следи да је
63
Y2=0, а остала И кола добијају дозволу и одлучују по сличној логици о следећим сигналима.
Y0 може бити активан само ако су и X2 и X1 неактивни.

Слика 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, по истој
логици. Оставља се читаоцу да попуни одговарајућу логичку табелу.

Логичка шема система за паралелни пренос четворобитних, битом парности заштићених


порука са детекцијом грешке на пријемној страни (преносним медијумом, на пример
шестожилним каблом, преносе се сигнали А, B, C, D и P, шеста жила је заједнички
повратни вод – маса ):

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).

Решење:
Разматрањима сличним онима у претходним примерима долазимо до следећег решења:

MUX 7/1 MUX 2/1


I0
I1
I2
I3
I4
I5 Y
I6

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

б) Програмљиве компоненте PAL типа, да би биле универзалније, често се праве тако да


имају могућност враћања сигнала са излаза ИЛИ мреже на улаз И мреже. (Та могућност је у
пракси најчешће комбинована и са могућношћу да се одговарајуће излазне ножице могу
преконфигурисати у улазне, чиме се у овој упрошћеној анализи нећемо бавити.)
PAL 4/2/3 омогућава формирање само по два логичка производа по функцији. Функција
ф1 се састоји од три логичка производа, значи не може директно да се унесе у PAL. Пошто
Овај PAL има могућност реализације једне функције више, у односу на потребе,
проблематична функција може да се разбије, груписањем, у две мање функције, са по два
сабирка, и враћањем у И матрицу, значи, уз два проласка кроз PAL, коначно реализовати.
(Мана је повећано кашњење.)

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 Табела 1.2 Екстациона табела SR-флипфлопа


Ј К Qн Qн+1 S R S R
Qn Q n +1
0 0 0 0 0 X
0 0 1 1 x 0 0 0 0 x
0 1 0 0 0 X 0 1 1 0
0 1 1 0 0 1 1 0 0 1
1 1 x 0
1 0 0 1 1 0
1 0 1 1 x 0
1 1 0 1 1 0
1 1 1 0 0 1

Одређујемо комбинациону мрежу КМ (слика 2.1) у којој су улазне променљиве улази


траженог типа флипфлопа (Ј и К) и тренутно стање на излазу флипфлопа Qn, док су излазне
променљиве улази флипфлопа којим вршимо синтезу (S и R), односно
S = f (J, K, Qn) i
R = f (J, K, Qn).

Слика 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

Слика 2.1а Слика 2.1б

Напомена: Као Т флифлоп (делитељ фреквенције) може се користити и D флифлоп, код


кога је D = Q n (слика 2.1б).

Задатак 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 типа.

Сажета табела за сва четири типа флипфлопа, односно за 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

Напомена: Приметимо, ради лакшег памћења да су у случају оваквог редоследа


промена Qn и Qn+1 (по растућем бинарном низу) табеле за SR, ЈК и Т флифлоп централно
симетричне, визуелно гледано (додате су * у центру симетрије). За D флифлоп или леч то не
стоји. Али овде се лако памти да је потребна вредност побудног сигнала D једнака жељеном
будућем стању Qn+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, за
Мурову варијанту.

Решење:
Код аутомата Муровог типа у кругове који описују стања уписујемо ознаку (код) стања и
вредност излаза. На стрелице које означавају промене стања дописујемо вредност улазног
сигнала који изазива ту промену.

У реализацији задатка размишљамо на следећи начин:


• Аутомат треба да детектује секвенцу сигнала 00 – 11 на свом улазу тако што тај
догађај јавља на излазу сигналом 0. У свим осталим случајевима излаз треба да је 1.
• Мора постојати једно почетно стање (означимо произвољно кодом А) у којем ће се
налазити аутомат ако се ни један од наведених догађаја није десио (нити се десио
низ 00 па 11 на улазу, нити бар 00). Из тог стања генерише се излаз 1.
• У том стању ће аутомат остати за сваку вредност улаза, осим 00 (првог пожељног
члана секвенце коју аутомат треба да детектује.
• Мора постојати једно стање (назовимо га међустањем и произвољно означимо –
кодујмо са B) у којем ће аутомат памтити да се појавио први члан у низу који се
лови: 00. У том стању излаз је још увек 1.
• У то стање аутомат доспева из почетног стања по наиласку улазног сигнала 00.
Друга могућност је да остане у том стању по поновном наиласку сигнала 00.
• Пошто аутомат треба да генерише 0 наизлазу (а у досада поменутим стањима то
није могуће, мора постојати и треће стање (кодовано C), у којем се генерише излаз
0.
• У то стање аутомат доспева само из међустања 01, наиласком другог члана поворке
сигнала коју треба да улови (11).
• Из овог стања по наиласку сигнала 01, 10, 11 враћа се у почетно стање А (ресетује
се), а по наиласку 00 иде у стање B, пошто то може да значи почетак следеће
исправне поворке.
• Ако се у међустању B, после 00 на улазу се појави 01 или 10, аутомат се ресетује
као последица наиласка погрешног сигнала.

Слика 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

Одговарајућа табла промене стања (функција побуде ) је на слици. Распоред


променљивих одговара одговара уобичајеном у анализи асинхроних аутомата (по вертикали
се мења унутрашња променљива Q, по хоризонтали улазне променљиве), али уједно и
Карноовој табели (редослед Грејовог кода за три бита). Дописане су ознаке тактова у којима
се аутомат налази у појединим пољима. Комбинације улазних сигнала АBC 001, 011 и 111
се не појављују у дефиницији рада аутомата, па се одговарајућа поља могу искористити у
минимизацији. Слично важи и за улаз 100, који се не појављује када је стање аутомата Q=1.
ABC 2 3 4a 7b 1
Q'
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

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

Напомена: Приметимо да решење у нацртаној варијанти, случајно, не зависи од све три


променљиве.

б) Сигнали за случај реализације SR лечем дати су на слици б).


Оваква реализација аутомата има смисла само ако побуда леча зависи само од улазних
променљивих.
Како одабрати вредности сигнала С и Р у појединим тактовима:
1) У такту 4 S=1 и Р=0 да би се леч сетовао, пошто Q треба да скочи са 0 на 1.
2) У такту 3 не сме се сетовати, S=0. Пошто је у такту 5 исти улаз, и у том такту мора
бити S=0.
3) Пошто у такту 5 и 6 не сме да се ресетује леч, мора бити и Р=0. због истих улаза и у
такту 3 и 2 треба да је Р=0.
4) У такту 2 не сме да се сетује леч, зато је S=0. Пошто је исти улаз, то важи и за такт
6.
5) У такту 7 прeдвиђено је да се ресетује леч, следи да је Р=1 и S=0.
86
6) У такту 1 не сме да се сетује леч, S=0. Пошто се та комбинација улазних сигнала не
појављује више, а леч је већ ресетован, све једно је коју вредност има ресет улаз,
следи Р=X.

Takt 1 2 3 4 5 6 7 1
ABC 100 000 010 110 010 000 101 100

Слика 1.7

На основу ових закључака корак по корак се попуне Карноове табеле за S и Р сигнал, у


зависности од А, B и Ц.
Пошто може доћи до грешака у закључивањима, важно је запазити следеће:
• Не сме се погрешити у тактовима у којима треба сетовати и ресетовати леч (срећом,
сигнале је ту најлакше одредити).
• Ако у неком пољу дође до контрадикције да се појавила једна конкетна вредност
сигнала (0 или 1) и једна неодређена (X), усваја се конкретна вредност и настави са
радом.
• Ако у неком поље дође до контрадикције да су се појавила обе конкетне вредности
сигнала (0 и 1), аутомат није могуће реализовати у складу са одабраним обликом
сигнала Q, мора се мењати сигнал.

Напомена: Ако је аутомат реализљив са усвојеним сигналом у једној форми (на пример са
повратном спрегом), сигурно се може реализовати и у другој форми (са лечем).

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*

1 1* 1* 1* 0 1 11* 10* 10* 11

Q' = BQ ⋅ A = BQ + A сет мем ресет


Z1 = Q Z1 = Z 2
Z 2 = BQ = B + Q забрањено
A=S Z 1= Q
B=R Z 2= Q

Задатак 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 флипфлопа.

При реализацији бројача произвољног модула потребно је обезбедити да бројач броји


унапред од почетног (ресетованог) стања 00002, до последњег дозвољеног 10012; након
тога, бројач краткотрајно улази у прво забрањено стање 10102, које се детектује помоћу НИ
кола и изврши се ресет бројача.

Коло за детекцију првог забрањеног стања детектује појаву високог стања на излазима D и
B (јер је DCBA=10102), као што се види на слици 12.1.

Слика 2.1

Временски дијаграми тактног сигнала P, излазних сигнала флипфлопова D, C, B и А су


приказани на слици 12.2.

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а

tdmin tdtip tdmax


Инвертор 8 ns 10 ns 15 ns
И коло 10 ns 15 ns 22 ns
FF0, FF2 50 ns 55 ns 65 ns
FF1 55 ns 60 ns 70 ns
Слика 3.1б
94
Решење
а) Улазне функције флипфлопова су:

J0 = Q2 , K0 = 1 ,

J1 = Q 0 , K1 = Q 0 ,

J 2 = Q1 ⋅ Q 0 , K2 = 1.

Функционална табела је:


Стање Садашње стање Услови прелаза Следеће стање Стање
Si Q2 Q1 Q0 Ј2 К2 Ј1 К1 Ј0 К0 Q’2 Q’1 Q’0 Si’
0 0 0 0 0 1 0 0 1 1 0 0 1 1
1 0 0 1 0 1 1 1 1 1 0 1 0 2
2 0 1 0 0 1 0 0 1 1 0 1 1 3
3 0 1 1 1 1 1 1 1 1 1 0 0 4
4 1 0 0 0 1 0 0 0 1 0 0 0 0
5 1 0 1 0 1 1 1 0 1 0 1 0 2
6 1 1 0 0 1 0 0 0 1 0 1 0 2
7 1 1 1 1 1 1 1 0 1 0 0 0 0

Коришћењем функционалне табеле може се нацртати дијаграм стања (слика 4.1).


Основа бројања бројача је М=5. Дозвољена стања су 000, 001, 010, 011 и 100, а забрањена
101, 110 и 111. Ако би се нашао у неком од забрањених стања, бројач би се вратио у
нормалан режим рада (тј. у неко од дозвољених стања) најкасније након једног такт
интервала.
7
111 1
0 001
2 5
000
101
010
4
3 6
100 110
011

Слика 3.2

б) Максимална фреквенција рада бројача се одређује као


1
f max = ,
TP + t SU

где је Т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 = max{65ns; 65ns; 87 ns; 92ns}

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.

Слика 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а

тдмин тдтип тдмаx


И коло 10 нс 15 нс 20 нс
ИЛИ коло 8 нс 12 нс 18 нс
Инвертор 7 нс 10 нс 15 нс
FF0, FF2 45 нс 50 нс 60 нс
FF1 50 нс 60 нс 65 нс
Слика 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.1).


Основа бројања бројача је М6. У нормалном режиму рада бројач пролази кроз стања 0-7-5-
6-1-2-0. Ако би се нашао у неком од забрањених стања, бројач би се вратио у нормалан
режим рада (тј. у неко од дозвољених стања) најкасније након два такт интервала.

Слика 4.2

б) Прелазни процеси се завршавају након:


TP = max{tdFF2max + tdILImax; tdFF1max + tdILImax; tdFF1max; tdFF1max + tdImax; tdFF0max + tdImax}
TP = max{60n+18n; 65n+18n; 65n; 65n+20n; 60n+20n}
Tp = 85ns,
а максимална могућа фреквенција рада бројача је
1 1 1
f max = = = .
Tp + t su 85n + 5n 90ns

ц) EN најраније може да се активира након тренутка (слика 4.3)


T3 = max{ tdFF0max; tdFF1max; tdFF2max}=65ns
Излазни сигнали постају сигурно исправни након
t A max = T3 + t dI max = 65ns + 20ns = 85ns .

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

При минимизацији су коришћена и забрањена стања бројача 1002=4 и 1112=7.

Слика 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). Користећи минимизацијом
одређене услове прелаза (D2, D1 и D0) попуњавамо табелу са забрањеним стањима.

Табела 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

На основу функционалне табеле одређујемо Јi и Кi помоћу Карноових таблица, које су


приказане наа слици :
Ј3=К3= Q2 ⋅Q1 ⋅Q0
Ј2=К2= Q1 ⋅Q0
Ј1=К1=Q0
Ј0=К0=1

103
Ј3=К3 Ј2=К2

Ј1=К1 Ј0=К0

Слика 6.1

На слици 6.2 је приказан синхрони четворобитни бројач унапред са паралелним


преносом.

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.

Напомена: У општем случају, за n-ти флипфлоп улазне променљиве су:


J n = K n = Q n −1 ⋅ Q n − 2 ⋅ ... ⋅ Q1 ⋅ Q 0 .
104
Задатак 7
Конструисати синхрони бројач унапред модула 16, са могућношћу везивања више оваквих
бројача, ако су на располагању ЈК-флипфлопови и потребна логичка кола. За каскадно
везивање бројача користити улазни CIN и излазни сигнал преноса COUT.

Решење:
Ако желимо да конструишемо бројач који ће се моћи везивати у ланац истих таквих бројача
(да би се добио бројач већег модула) тада морамо користити
- улазни сигнал преноса 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

На пример: Синхрони 10-битни бројач унапред реализован помоћу 4-битних бројача је


приказан на слици 7.2.
105
Слика 7.2

Задатак 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

Коришћењем Карноових таблица одређују се услови прелаза:


Ј0=К0=1,
Ј1=К1= Q 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 ,

Увођењем контролне променљиве СМЕР могуће је објединити ове услове прелаза да би се


добили одговарајући услови за обострани бројач

J n = K n = SMER ⋅ Q n −1 ⋅ ... ⋅ Q1 ⋅ Q 0 ⋅ C IN + SMER ⋅ Q n −1 ⋅ ... ⋅ Q1 ⋅ Q 0 ⋅ C IN ,


Исто тако је могуће објединити излазне функције преноса за Н-битни у случају да бројач
броји унапред
COUT = Q N −1 ⋅ ... ⋅ Q1 ⋅ Q0 ⋅ CIN ,
за бројач уназад
C OUT = Q N −1 ⋅ ... ⋅ Q1 ⋅ Q 0 ⋅ C IN ,

Да ли се добила одбоварајућа функција за обострани бројач


C OUT = SMER ⋅ Q n −1 ⋅ ... ⋅ Q 1 ⋅ Q 0 ⋅ C IN + SMER ⋅ Q n −1 ⋅ ... ⋅ Q 1 ⋅ Q 0 ⋅ C IN .

Реализовани тробитни обострани бројач је приказан на слици 9.1. Коришћена су НИ кола и


ЈК флипфлопови.
107
Слика 9.1

Задатак 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

tdmin tdtip tdmax


Инвертор 8 ns 10 ns 15 ns
НИ коло 10 ns 15 ns 22 ns
НИЛИ коло 12 ns 17 ns 24 ns
SR леч 50 ns 55ns 60 ns
FF0, FF2 50 ns 55 ns 65 ns
FF1, FF3 55 нс 60 нс 70 нс
108
Решење:
а) Ово је синхрони обострани бројач са редним (серијским) преносом. Пошто се услов
бројања преноси серијски, од степена до степена, брзина рада бројача зависи од броја
флипфлопова у бројачу. На основу тога може се претпоставити да је најкритичније
постављање улазних променљивих за последњи степен, тј за FF3.
Под претпоставком да се контролна променљива не мења, одредићемо потребно време
постављања улазних променљих за све флипфлопове:
за FF0: t max 0 = 0 ,

за FF1: t max 1 = t dFF0 + 2 t dNI = 109ns ,

за FF2: { }
t max 2 = max t dFF0 + 3t dNI + t dNE ; t dFF1 + 2 t dNI = max{144ns;114ns} = 144ns ,

за FF3: t max 3 = max{t dFF 0


+ 4t dNI + 2t dNE ; t dFF1 + 3t dNI + t dNE ; t dFF2 + 2t dNI }
= max{183ns;119ns;114ns} = 183ns .

Максимално време потребно да се улазне променљиве флипфлопова поставе је


t max = max{t max 0 ; t max 1 ; t max 2 ; t max 3 } = 183ns .

Максимална могућа фреквенција рада бројача је:


1 1
f max = = = 5.46MHz .
t max 183ns

б) Потребно је конструисати бројач који броји унапред од стања 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

ц) На основу анализе рада обостраног бројача са редним преносом, закључили смо да је


највише времена потребно за постављање улазних променљивих последњег флипфлопа FF3.
Слично, ако одређујемо максималну фреквенцију рада бројача реализованог под б)
оправдано је очекивати да је најкритичније постављање улазне променљиве за трећи
флипфлоп:
{ }
t max 1 = max t dFF1, 3 + t dNI + t dNE + t dSR + (4 t dNE + 4 t dNI ); t dFF0 ,1, 2 , 3 + t dNILI + t dSR + (4 t dNE + 4 t dNI )
= max{70ns + 22ns + 15ns + 60ns + 148ns;70ns + 24ns + 60ns + 148ns}
= max{315ns;302ns} = 315ns.
Максимална фреквенција рада бројача је:
1
f max1 = = 3.17 MHz ,
t max1
док је периода такт сигнала једнака
t CLK = t max 1 = 315ns .

д) Временски дијаграми сигнала приказани су на слици 10.3.


t=0 315ns 630ns 945ns 1260ns 1575ns

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

Дијаграм стања бројача М12 је приказан на слици 11.3.

Слика 11.3

112
б) При реализацији бројача који броји од 3 до 10, потребно је детектовати стање
Q3Q2Q1Q0=10102 Коло за детекцију је
CLR = DET = Q 3 Q l ,
као што је приказано на слици 11.4. Након последњег дозвољеног стања синхроно се
уписује стање DАТ3DАТ2DАТ1DАТ0=00112.

Слика 11.4

Коришћењем оваквог кола за детекцију


Q3Q2Q1Q0=1 x 1 x,
осим последњег дозвољеног стања 10102=1010, истовремено се детектује и неколико
забрањених стања; на тај начин се убрзава враћање бројача у нормалан режим рада
(10112=1110, 11102=1410, и 11112=1510 ).
Дијаграм стања бројача је проказан на слици 11.5.

Слика 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
→ Броји догађаје
(„активне ивице” такт сигнала)

d c Стање кодујемо на одговарајући (погодан, у датој


примени потребан) начин.
Слика 13.1

Подела бројача:
По редоследу проласка кроз стања (смеру бројања):
− бројач на више (унапред)
− бројач на ниже (уназад)
− бројач обострани.

По начину реализације
− асинхрони (редни, ripple counter)
− синхрони (паралелни, synchronous counter).

Додатне могућности:
− може да се ресетује (у стање 0000) приближно сваки
− може да се постави у произвољно почетно стање (пресет, лоад)
− дозвола бројања.

Редни бројач:
− спор (сва кашњења треба да прођу)
− (успут) генерише паразитна стања.
Редни бројач модула 8 са ЈК флипфлоповима који реагују на опадајућу ивицу такт сигнала.
(Са Т флипфлоповима начин повезивања је исти, сви улази Т везани су на константни
сигнал 1.) Бројач броји унапред.

115
Слика 13.2

Спор је, пошто флипфлопови редом генериши такт за окидање следећег.


Илустрација генерисања паразитних стања, на примеру преласка из стања 11112 у 00002:

Слика 13.3

Модификација бројача да буде заустављив у затеченом стању постиже се коришћењем Ј и К


сигнала првог флипфлопа (најниже позиционе вредности), заједно повезаних, да служе за
STOP.L (заустављање при ниском нивоу тако створеног контролног улазног сигнала). У
случају Т флипфлопова Т улаз првог флипфлопа може да има исту улогу.

Задатак 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

Запазимо да се ТB сигнал генерише мултиплексером 2/1, избором неинвертоване или


инвертоване вредности QА сигнала, на основу сигнала S (који је доведен на селекциони улаз
мултиплексера). Ово је један пример улоге мултиплексера у конфигурисању хардвера!

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

C/L CLR Asinhroni (sinhroni) reset

Takt DD DC DB DA

0 1 12 13 14 15

(Ово је упрошћени начин цртања дијаграма стања)


Слика 18.1

Решење:
Потпуни дијаграм стања, укључивши и некоришћена стања:

Слика 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

C/L CLR Asinhroni (sinhroni) reset

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

за S1S0=11, у регистар се врши D


R Q

паралелан упис улазних


променљивих АBCD.

а) Ако је при иницијализацији


извршен ресет (CLR=0)
одредити табелу стања D Q QC

Џонсоновог бројача. CLK

б) Проучити која су стања C


R Q

забрањена. Како их избећи?


ц) Ако је у тренутку t=0 уписано
стање QАQBQCQD=0000,
нацртати временске дијаграме
излазних сигнала регистра при
S1S0=01, RIN=1, LIN=1 током D Q QB
једног такт интервала. CLK
д) Ако су на располагању R Q
декодери 4/16 реализовати B

коло које декодује дозвољена


стања Џонсоновог бројача.

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

б) Џонсонов бројач има 2n - 2n = 8 забрањених стања.


Стање S1 S0 CLR QА QB QC QD Излази
а 0 1 1 0 1 0 0 2
б 0 1 1 1 0 1 0 5
ц 0 1 1 1 1 0 1 11
д 0 1 1 0 1 1 0 6
е 0 1 1 1 0 1 1 13
ф 0 1 1 0 1 0 1 10
г 0 1 1 0 0 1 0 4
х 0 1 1 1 0 0 1 9
а 0 1 1 0 1 0 0 2

Дакле, ако се једном нађе у недозвољеном стању, Џонсонов бројач ће наставити да


погрешно броји до следеће иницијализације. Да би се то спречило потребно је детектовати
забрањено стање и вратити бројач у исправан режим рада. Кола за детекцију забрањеног
стања могу се реализовати на виће начина:
1. при исправном раду бројача у циклусу се јавља стање 0000; након кога следи стање 0001;
значи, у случају да се појави неко од забрањених стања 0xx0, потребно је извршити
паралелан упис стања 0001, чиме се не утиче на нормалан режим рада, али се из
забрањеног стања бројач враћа у дозвољено; коло за детекцију је
DET = S1 = Q 0 + Q 3 .

2. при исправном раду бројача након стања 1000 следи стање 0000; значи, ако детектујемо
стање
Q3Q2=10,
126
потребно је извршити паралелан упис стања 0000. Кола за детекцију је:
DET = S1 = Q 3 ⋅ Q 2 = Q 3 + Q 2 .

Џонсонов бројач који има коло за детекцију забрањеног стања се назива самоподешавајући
Џонсонов бројач.

ц) Временски дијаграми Џонсоновог .бројача су приказани на слици 2.2.

Слика 2.2

д) На слици 2.3 је приказан самоподешавајући Џонсонов бројач са детекцијом излазних


стања. Са временских дијаграма се види да се два узастопна стања Џонсоновог бројача
разликују само у једном биту. Зато се декодовање стања бројача може обављати без забране
излаза декодера за време прелазних процеса (не може доћи до појаве глича).

Слика 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

Помоћу овог бројачаје могуће направити самоподешавајући кружни бројач модула 8


скраћивањем циклуса бројања. Потребно је детектовати прво забрањено стање (излаз О8) и
иyвршити асихрони ресет (MR=1). Бројач М8 је приказан на слици 3.2.

MR
PT CP 0 4017
CP 1
O0 O1 O2 O3 O4 O5 O6 O7 O8 O9

Слика 3.3

б) Слично, могуће је реализовати и бројач већег модула повезовањем одговарајућег броја


кружних бројача 4017. Бројач М20 је приказан на слици 3.4.

Слика 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 је број
корака начињених приликом померања)

Флип-флопови се спрежу редно. Основна реализација се састоји од n редно везаних D


флипфлопова (нацртан је пример за n=2). Дат је и случај са ЈК флипфлоповима (ово је у
суштини исто, своди се на претварање ЈК флипфлопа у D флипфлоп).

Q Q

Слика 5.1
Погледајмо пример FIFO регистра (померачког регистра са серијским улазом и излазом), за
n=3. Испрекидано је додат паралелни излаз (у пракси се обично додају и бафери – одвојни
степени – на све излазе, а често и на улазе).
131
ц)
Слика 5.2

Задатак 6
Џонсонов кружни бројач (шема са четири D флипфлопа и временски дијаграми, са
коментаром; колики је модуо бројања)

Решење:
Џонсонов кружни бројач прави се од померачког регистра са серијским улазом и
паралелним/серијским излазом, враћањем инвертованог излазног сигнала на улаз. Ако је на
располагању и инвертовани излаз последњег флипфлопа, бројач се може формирати без
додатних капија:

Слика 6.1

Скицирани су излазни сигнали, паралелно расположиви. (Уједно, ради прегледности


дат је и инвертовани излаз последњег флипфлопа.) Излази сигнали свих флипфлопова су
исти, са односом трајања импулса и паузе једнаким 1, само су померени у времену.
Запазимо да нема истовремене промене два или више сигнала, што значи да нема
могућности појаве функционалног хазарда у некој комбинационој мрежи која користи
излазни сигнал.
Модуо бројања овог Џонсоновог бројача је М = 2•n = 2•n = 8, што је назначено на
слици. На сваком излазу учестаност сигнала је М пута мања од учестаности такта, само су
сигнали међусобно фазно померени. Значи овако се може генерисати полифазни сигнал.

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

You might also like