Виконання завдання
На картах Карно кожному з 2n наборів відповідає одна клітинка. Якщо на даному наборі аргументів функція дорівнює 0, то у тій клітинці, яка відповідає даному набору, записується 0. Клітинки, які відповідають наборам, де функція недовизначена, заповнюються позначкою Х. Номери наборів проставлені у верхніх лівих кутках карт у шістнадцятковому коді.
Карта « /а » Карта « a »
/d d /d d
------------------ ------------------ ------------------ -------------------
0
0 |
1
0 |
3
X |
2
0 |
4
0 |
5
|
7
|
6
X |
С
X |
D
0 |
F
X |
E |
8
0 |
9
X |
B |
A
|
10
0 |
11
0 |
13
|
12
X |
14
0 |
15
X |
17
0 |
16 |
1C
0 |
1D
0 |
1F
|
1E
X |
18
X |
19
|
1B
X |
1A
|
|
| /b
|
|
|
|
|
| b
|
|
------ ----------------- ------ ----- ------------------ -------
/e e /e /e e e
Результати склеювання позначені у зображеннях карт.
Склеєні набори:
1). Клітинки 10, 14, 1C, 18, 0, 4, C, 8 - результат /d/e, зникли 3 змінні - a, b, c. Це склеювання потрібне, щоб мінімізувати набори 0, 4, 8, 10, 14, 1C, на яких функція визначена і дорівнює 0.
2). Клітинки 10, 11, 14, 15 – результат a/b/d, зникли 2 змінні c, e. Це склеювання потрібне, щоб мінімізувати набори 10, 11, 14, на яких функція визначена і дорівнює 0.
3). Клітинки C, D, 1С, 1D - результат bc/d, зникли 2 змінні - a, e. Це склеювання потрібне, щоб мінімізувати набори D, 1C і 1D, на яких функція визначена і дорівнює 0.
4). Клітинки 0, 1, 3, 2 – результат /a/b/c, зникли 2 змінні - d, e. Це склеювання потрібне, щоб мінімізувати набори 0, 1, 2, на яких функція визначена і дорівнює 0.
5). Клітинки 15, 17 – результат a/bce, зникла 1 змінна - d. Це склеювання потрібне, щоб мінімізувати набір 17, на якому функція визначена і дорівнює 0.
Невизначені набори функції у клітинках 3, С, 15, 18 довизначаємо як «0», оскільки вони допомагають при склеюванні за «0».
Невизначені набори функції у клітинках 6, F, 9, 12, 1E, 1B довизначаємо як «1», оскільки вони не допомагають при склеюванні за «0».
Набори 1, 2, 3, 4, D, 8, 11, 17, 1D – кожен бере участь в одному склеюванні.
Набори 0, C, 10, 14, 15, 1C – кожен бере участь у двох склеюваннях.
Оскільки склеювання проводиться за «0», то в результаті мінімізації отримаємо диз’юнктивну нормальну форму для інверсного значення функції /f:
/f = /d/e v a/b/d v bc/d v /a/b/c v a/bce.
Визначення сполучних термів.
Щоб позбутися негативного ефекту «гонок» сигналів, необхідно об’єднати всі сусідні набори, на яких функція приймає значення «0» і які не об’єднані в результаті мінімізації спільним склеюванням (спільним термом). Для цього використовують сполучний терм. У даній задачі всі склеєні набори сполучені між собою, тому сполучний терм не потрібний.
Пряме значення функції f буде отримане згідно з правилами де Моргана у вигляді кон’юктивної нормальної форми:
//f = /( /d/e v a/b/d v bc/d v /a/b/c v a/bce) =
= (d v e)(/a v b v d)(/b v /c v d)(a v b v c)(/a v b v /c v /e).
Завдання 3.1
Реалізувати функцію у базисі Буля. На виході кожного елемента написати формулу сигналу, який даним елементом реалізується. Елементи можуть мати довільну кількість входів. Для 5 довільних вхідних наборів визначити рівні сигналів (0 або 1) на виході кожного елемента. Навести таблиці істинності задіяних елементів.
Функція для реалізації:
F = bd v /acd v ab/c v a/cd v ad/e v /bc/de
Результати синтезу наведені на рисунку 3.1.
Визначення рівнів вихідних сигналів на виходах елементів:
abcde |
bd |
/acd |
ab/c |
a/cd |
ad/e |
/bc/de |
f |
D6 |
D7 |
D8 |
D9 |
D10 |
D11 |
D12 |
|
00100 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
00101 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
01011 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
10111 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
11111 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
Таблиці істинності логічних елементів у базисі Буля:
Номер набору |
Аргументи |
Функція |
|||
a |
b |
c |
I (&) |
АБО (+) |
|
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
2 |
0 |
1 |
0 |
0 |
1 |
3 |
0 |
1 |
1 |
0 |
1 |
4 |
1 |
0 |
0 |
0 |
1 |
5 |
1 |
0 |
1 |
0 |
1 |
6 |
1 |
1 |
0 |
0 |
1 |
7 |
1 |
1 |
1 |
1 |
1 |
Номер набору |
Аргументи |
Функція |
а |
НЕ |
|
0 |
0 |
1 |
1 |
1 |
0 |
Завдання 3.3
Реалізувати функцію у монобазисі І-НЕ (базисі Шиффера). На виході кожного елемента І-НЕ написати формулу сигналу, який даним елементом реалізується. Елементи можуть мати довільну кількість входів. Для 5 довільних вхідних наборів визначити рівні сигналів (0 або 1) на виході кожного елемента. Навести таблиці істинності задіяних елементів.
Функція для реалізації:
F = bd v /acd v ab/c v a/cd v ad/e v /bc/de
Результати синтезу наведені на рисунку 3.3.
Таблиця істинності логічних елементів у базисі Шиффера І - НЕ:
Номер набору |
Аргументи |
Функція |
||
a |
b |
c |
І – НЕ |
|
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
2 |
0 |
1 |
0 |
1 |
3 |
0 |
1 |
1 |
1 |
4 |
1 |
0 |
0 |
1 |
5 |
1 |
0 |
1 |
1 |
6 |
1 |
1 |
0 |
1 |
7 |
1 |
1 |
1 |
0 |
Визначення рівнів вихідних сигналів на виходах елементів:
abcde |
/(bd) |
/(/acd) |
/(ab/c) |
/(a/cd) |
/(ad/e) |
/(/bc/de) |
f |
D6 |
D7 |
D8 |
D9 |
D10 |
D11 |
D12 |
|
00100 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
00101 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
01011 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
10111 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
11111 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
Завдання 3.5
Реалізувати у монобазисі АБО-НЕ (базисі Пірса) функцію, отриману в результаті виконання завдання 2.4. На виході кожного елемента АБО-НЕ написати формулу сигналу, який даним елементом реалізується. Елементи можуть мати довільну кількість входів. Для 5 довільних вхідних наборів визначити рівні сигналів (0 або 1) на виході кожного елемента схеми. Навести таблиці істинності задіяних елементів.
Оскільки склеювання у завданні 2.4 проводилося за «0», то в результаті мінімізації отримали диз’юнктивну нормальну форму для інверсного значення функції /f:
/f = /d/e v a/b/d v bc/d v /a/b/c v a/bce
Пряме значення функції f буде отримане згідно з правилами де Моргана у вигляді кон’юктивної нормальної форми:
//f = /( /d/e v a/b/d v bc/d v /a/b/c v a/bce) =
= (d v e)(/a v b v d)(/b v /c v d)(a v b v c)(/a v b v /c v /e).
Схема реалізації функції f зображена на рис. 3.5.
Визначення рівнів сигналів на виходах елементів схеми при 5-ти довільних вхідних наборах:
a b c d e |
D6 |
D7 |
D8 |
D9 |
D10 |
D11 |
/(d v e) |
/(/a v b v d) |
/(/b v /c v d) |
/(a v b v c) |
/(/a v b v /c v /e) |
f |
|
0 0 1 0 0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 0 1 0 1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 1 0 1 1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 0 1 1 1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 1 1 1 1 |
0 |
0 |
0 |
0 |
0 |
1 |
Таблиця істинності для логічних елементів у монобазисі АБО-НЕ (базисі Пірса):
Номер набору |
Аргументи |
Функція |
||
A |
b |
c |
АБО-НЕ |
|
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
2 |
0 |
1 |
0 |
0 |
3 |
0 |
1 |
1 |
0 |
4 |
1 |
0 |
0 |
0 |
5 |
1 |
0 |
1 |
0 |
6 |
1 |
1 |
0 |
0 |
7 |
1 |
1 |
1 |
0 |
Завдання 3.7
Реалізувати функцію, мінімізовану у завданні 2.3. за допомогою дешифраторів. У кожного із задіяних дешифраторів кількість виходів не повинна перевищувати 16. Навести таблиці істинності, які пояснюють роботу задіяних дешифраторів.
Функція, яку потрібно синтезувати за допомогою дешифраторів:
F = bd v /acd v ab/c v a/cd v ad/e v /bc/de
З функції отримуємо:
bd – x1x1x – відповідає наборам - 01010, 01011, 01110, 01111, 11010, 11011,
11110, 11111 (A, B, E, F, 1A, 1B, 1E, 1F);
/acd – 0x11х - відповідає наборам - 00110, 00111, 01110, 01111 (6, 7, E, F);
ab/c – 110xx - відповідає наборам - 11000, 11001, 11010, 11011 (18, 19, 1A, 1B);
a/cd – 1x01x - відповідає наборам - 10010, 10011, 11010, 11011 (12, 13, 1A, 1B;
/bc/de - x0101 - відповідає наборам – 00101, 10101 (5, 15).
Для реалізації функції використовуємо три дешифратори: D0, D1, D2.
D0 – “1 у 2”; D1 – “4 у 16”; D2 – “4 у 16”.
Таблиця істинності для дешифратора D1.
N |
Входи |
Виходи |
|||||||||||||||||||
b |
c |
d |
e |
|
|||||||||||||||||
8 |
4 |
2 |
1 |
ВК |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
2 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
3 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
4 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
5 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
6 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
7 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
8 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
9 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
10 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
11 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
12 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
13 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
14 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
15 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Х |
Х |
Х |
Х |
Х |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Таблиця істинності для дешифратора D2.
N |
Входи |
Виходи |
|||||||||||||||||||
b |
c |
d |
e |
|
|||||||||||||||||
8 |
4 |
2 |
1 |
ВК |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
16 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
17 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
18 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
19 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
20 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
21 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
22 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
23 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
24 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
25 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
26 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
27 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
28 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
29 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
30 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
31 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Х |
Х |
Х |
Х |
Х |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Таблиця істинності для дешифратора D0.
N |
Входи |
Виходи |
||
a |
|
|||
1 |
ВК |
1 |
0 |
|
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
X |
Х |
0 |
0 |
0 |
Схема реалізації функції f зображена на рис. 3.7.
Завдання 3.8
Реалізувати функцію, мінімізовану у завданні 2.3 за допомогою мультиплексорів. У кожного із задіяних мультиплексорів кількість входів не повинна перевищувати 16. Навести таблиці істиності, які пояснюють роботу задіяних мультиплексорів.
Функція, яку потрібно синтезувати за допомогою мультиплексорів:
F = bd v /acd v ab/c v a/cd v ad/e v /bc/de
З функції отримуємо:
bd – x1x1x – відповідає наборам - 01010, 01011, 01110, 01111, 11010, 11011,
11110, 11111 (A, B, E, F, 1A, 1B, 1E, 1F);
/acd – 0x11х - відповідає наборам - 00110, 00111, 01110, 01111 (6, 7, E, F);
ab/c – 110xx - відповідає наборам - 11000, 11001, 11010, 11011 (18, 19, 1A, 1B);
a/cd – 1x01x - відповідає наборам - 10010, 10011, 11010, 11011 (12, 13, 1A, 1B;
/bc/de - x0101 - відповідає наборам – 00101, 10101 (5, 15).
Для реалізації функції використовуємо три мультиплексори: D0, D1, D2.
D0 – “16 в 4”; D1 – “16 в 4”; D2 – “2 в 1”.
Таблиця істинності для мультиплексора D0.
№ набору |
Входи |
На виході f сигнал з інформаційного |
|||
b |
c |
d |
e |
||
8 |
4 |
2 |
1 |
||
0 |
0 |
0 |
0 |
0 |
входу 0 |
1 |
0 |
0 |
0 |
1 |
входу 1 |
2 |
0 |
0 |
1 |
0 |
входу 2 |
3 |
0 |
0 |
1 |
1 |
входу 3 |
4 |
0 |
1 |
0 |
0 |
входу 4 |
5 |
0 |
1 |
0 |
1 |
входу 5 |
6 |
0 |
1 |
1 |
0 |
входу 6 |
7 |
0 |
1 |
1 |
1 |
входу 7 |
8 |
1 |
0 |
0 |
0 |
входу 8 |
9 |
1 |
0 |
0 |
1 |
входу 9 |
10 |
1 |
0 |
1 |
0 |
входу 10 |
11 |
1 |
0 |
1 |
1 |
входу 11 |
12 |
1 |
1 |
0 |
0 |
входу 12 |
13 |
1 |
1 |
0 |
1 |
входу 13 |
14 |
1 |
1 |
1 |
0 |
входу 14 |
15 |
1 |
1 |
1 |
1 |
входу 15 |
Таблиця істинності для мультиплексора D1.
№ набору |
Входи |
На виході f сигнал з інформаційного |
|||
b |
c |
d |
e |
||
8 |
4 |
2 |
1 |
||
16 |
0 |
0 |
0 |
0 |
входу 0 |
17 |
0 |
0 |
0 |
1 |
входу 1 |
18 |
0 |
0 |
1 |
0 |
входу 2 |
19 |
0 |
0 |
1 |
1 |
входу 3 |
20 |
0 |
1 |
0 |
0 |
входу 4 |
21 |
0 |
1 |
0 |
1 |
входу 5 |
22 |
0 |
1 |
1 |
0 |
входу 6 |
23 |
0 |
1 |
1 |
1 |
входу 7 |
24 |
1 |
0 |
0 |
0 |
входу 8 |
25 |
1 |
0 |
0 |
1 |
входу 9 |
26 |
1 |
0 |
1 |
0 |
входу 10 |
27 |
1 |
0 |
1 |
1 |
входу 11 |
28 |
1 |
1 |
0 |
0 |
входу 12 |
29 |
1 |
1 |
0 |
1 |
входу 13 |
30 |
1 |
1 |
1 |
0 |
входу 14 |
31 |
1 |
1 |
1 |
1 |
входу 15 |
Таблиця істинності для мультиплексора D2.
N |
Входи |
На виході f сигнал з інформаційного |
а |
||
1 |
||
0 |
0 |
входу 0 |
1 |
1 |
входу 1 |
Схема реалізації функції f зображена на рис. 3.8.
Завдання 3.9
Реалізувати функцію, мінімізовану у завданні 2.3, за допомогою постійного запам’ятовуючого пристрою (ПЗП). Скласти таблицю прошиття ПЗП. Функція, яку потрібно синтезувати за допомогою постійного запам’ятовуючого пристрою:
F = bd v /acd v ab/c v a/cd v ad/e v /bc/de
Таблиця прошиття ПЗП
Номери наборів |
Входи (Адреси) |
Виходи (дані) |
||||
a |
b |
c |
d |
e |
f |
|
A4 |
A3 |
A2 |
A1 |
A0 |
D0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
2 |
0 |
0 |
0 |
1 |
0 |
0 |
3 |
0 |
0 |
0 |
1 |
1 |
1(x) |
4 |
0 |
0 |
1 |
0 |
0 |
0 |
5 |
0 |
0 |
1 |
0 |
1 |
1 |
6 |
0 |
0 |
1 |
1 |
0 |
1(x0 |
7 |
0 |
0 |
1 |
1 |
1 |
1 |
8 |
0 |
1 |
0 |
0 |
0 |
0 |
9 |
0 |
1 |
0 |
0 |
1 |
0(x) |
10 |
0 |
1 |
0 |
1 |
0 |
1 |
11 |
0 |
1 |
0 |
1 |
1 |
1 |
12 |
0 |
1 |
1 |
0 |
0 |
0(x0 |
13 |
0 |
1 |
1 |
0 |
1 |
0 |
14 |
0 |
1 |
1 |
1 |
0 |
1 |
15 |
0 |
1 |
1 |
1 |
1 |
1(x0 |
16 |
1 |
0 |
0 |
0 |
0 |
0 |
17 |
1 |
0 |
0 |
0 |
1 |
0 |
18 |
1 |
0 |
0 |
1 |
0 |
0(x) |
19 |
1 |
0 |
0 |
1 |
1 |
1 |
20 |
1 |
0 |
1 |
0 |
0 |
0 |
21 |
1 |
0 |
1 |
0 |
1 |
1(x) |
22 |
1 |
0 |
1 |
1 |
0 |
1 |
23 |
1 |
0 |
1 |
1 |
1 |
0 |
24 |
1 |
1 |
0 |
0 |
0 |
0(x) |
25 |
1 |
1 |
0 |
0 |
1 |
1 |
26 |
1 |
1 |
0 |
1 |
0 |
1 |
27 |
1 |
1 |
0 |
1 |
1 |
1(x) |
28 |
1 |
1 |
1 |
0 |
0 |
0 |
29 |
1 |
1 |
1 |
0 |
1 |
0 |
30 |
1 |
1 |
1 |
1 |
0 |
1(x) |
31 |
1 |
1 |
1 |
1 |
1 |
1 |
На ПЗП зручно реалізувати ДДНФ набору функцій, оскільки ДДНФ безпосередньо вказує на ті набори, на яких функція приймає значення “1”. Для реалізації таких функцій необхідно завести на входи ПЗП усі змінні, з яких формуються функції, кожній функції поставити у відповідність один з виходів ПЗП і скласти таблицю прошиття.
Функціональна схема ПЗП:
Для виконання нашого завдання використовуємо ПЗП об’ємом 256 * 4 функції. Кількість входів адрес ПЗП дорівнює 8, оскільки 256 = 28, кількість виходів ПЗП дорівнює 4. Розряди адрес А5 . . . А7 і даних D1 . . . D3 – не використовуються. У даному випадку використовується тільки 32 з 256 можливих адрес (0 . . 31) і тільки один з 4-х виходів.
Завдання 3.10
Реалізувати функцію, мінімізовану у завданні 2.3, за допомогою програмованої логічної матриці (ПЛМ) типу PLA. Скласти таблиці прошиття (програмування) ПЛМ. Навести функціональну схему запрограмованої ПЛМ.
Програмована логічна матриця (ПЛМ, PLA – Programmable Logic Array) – це комбінаційна багатовходова схема з одним або кількома виходами. ПЛМ складається з трьох основних частин:
набору (матриці) інверторів вхідних сигналів;
набору (матриці) програмованих елементів І (кон’юнкторів);
набору (матриці) програмованих елементів АБО (диз’юнкторів).
На ПЛМ зручно реалізувати мінімізовані ДНФ набору функцій. Для їхньої реалізації необхідно завести на адресні входи ПЛМ всі змінні, з яких формуються функції, кожній функції поставити у відповідність один з виходів ПЛМ і скласти таблицю прошиття.
Функція, яку потрібно синтезувати за допомогою програмованої логічної матриці:
F = bd v /acd v ab/c v a/cd v ad/e v /bc/de
Функціональна схема ПЛМ
Кількість елементів у матриці АБО залежить від кількості виходів ПЛМ, яких може бути 4, 8. 14, 16 і т. д. У ПЛМ типу PLA на кожний елемент АБО заведені виходи всіх елементів І. ПЛМ, функціональна схема якої зображена вище, має 5 адресних входів, що відповідає кількості аргументів логічної функції, 12 елементів І, 4 елементів АБО, 4 виходи. Які саме елементи І та АБО будуть використовуватися визначає користувач. У нашому завданні ми повинні реалізувати одну логічну функцію, тому буде використаний тільки один вихід D1.
Терм bd реалізований на кон’юнкторі І0;
Терм /acd реалізований на кон’юнкторі І1;
Терм ab/c реалізований на кон’юнкторі І3;
Терм a/cd реалізований на кон’юнкторі І5;
Терм ad/e реалізований на кон’юнкторі І7;
Терм /bc/de реалізований на кон’юнкторі І9.
Кон’юнктори І2, І4, І6, І8, І10 та І11 не використовуються.
Таблиця прошиття ПЛМ
N |
Входи (Адреси) |
Виходи (Дані) |
|||||
A0 |
A1 |
A2 |
A3 |
A4 |
D0 |
D1 |
|
a |
b |
c |
d |
e |
- |
f |
|
I0 |
- |
H |
- |
H |
- |
- |
A |
I1 |
L |
_ |
H |
H |
- |
- |
A |
I2 |
0 |
0 |
0 |
0 |
0 |
A |
- |
I3 |
H |
H |
L |
- |
- |
- |
A |
I4 |
0 |
0 |
0 |
0 |
0 |
A |
- |
I5 |
H |
- |
- |
H |
L |
- |
A |
I6 |
0 |
0 |
0 |
0 |
0 |
A |
- |
I7 |
H |
- |
- |
H |
L |
- |
A |
I8 |
0 |
0 |
0 |
0 |
0 |
A |
- |
I9 |
- |
L |
H |
L |
H |
- |
A |
I10 |
0 |
0 |
0 |
0 |
0 |
A |
- |
I11 |
0 |
0 |
0 |
0 |
0 |
A |
A |
У таблиці прошиття ПЛМ прийняті наступні позначення:
N - позначення елемента І;
На перетині рядка з номером Nі та графи з номером адресного входу Аі можуть стояти такі символи:
Н – сигнал з даного входу заведений на відповідний кон’юнктор І у прямому коді (від High – високий рівень);
L - сигнал з даного входу заведений на відповідний кон’юнктор І у інверсному коді (від Low – низький рівень);
“ – “ – сигнал з даного входу від’єднаний від відповідного елемента І;
0 – даний кон’юнктор не використовується.
На перетині рядка з номером елемента Іі та графи з номером виходу Di (тобто, номером елемента АБО) можуть стояти такі символи:
“ – “ – сигнал з даного елемента І від’єднаний від входу відповідного елемента АБО і не проходить на відповідний вихід ПЛМ;
А - сигнал з даного елемента І заведений на вхід відповідного елемента АБО і проходить через елемент АБО на відповідний вихід ПЛМ.
Внутрішня структура запрограмованої ПЛМ зображена на рис. 3.10.
Завдання 3.11
Реалізувати функцію, мінімізовану в завданні 2.4, за допомогою програмованої матриці логіки (ПМЛ) типу PAL. Скласти таблиці прошиття (програмування) ПМЛ. Навести функціональну схему запрограмованої ПМЛ.
На ПМЛ зручно реалізувати мінімізовані ДНФ набору функцій. Для їхньої реалізації необхідно завести на входи ПМЛ усі змінні, з яких формуються функції, кожній з функцій поставити у відповідність один з виходів ПМЛ і скласти таблицю прошиття.
Оскільки склеювання у завданні 2.4 проводилося за «0», то в результаті мінімізації отримали диз’юнктивну нормальну форму для інверсного значення функції /f:
/f = /d/e v a/b/d v bc/d v /a/b/c v a/bce
Пряме значення функції f буде отримане згідно з правилами де Моргана у вигляді кон’юктивної нормальної форми:
//f = /( /d/e v a/b/d v bc/d v /a/b/c v a/bce) =
= (d v e)(/a v b v d)(/b v /c v d)(a v b v c)(/a v b v /c v /e).
Таблиця прошиття (програмування) ПМЛ.
N |
Вхід/Вихід |
Входи |
Вихід |
При-міт-ки |
|||||||||
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
A4 |
A3 |
A2 |
A1 |
A0 |
|||
|
|
|
|
|
|
a |
b |
c |
d |
e |
|||
I0 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
L |
L |
D0 |
|
I1 |
- |
- |
- |
- |
- |
- |
H |
L |
- |
L |
- |
D0 |
|
I2 |
- |
- |
- |
- |
- |
- |
- |
H |
H |
L |
- |
D1 |
|
I3 |
- |
- |
- |
- |
- |
H |
- |
- |
- |
- |
- |
D1 |
|
I4 |
- |
- |
- |
- |
- |
- |
L |
L |
L |
- |
- |
D2 |
|
I5 |
- |
- |
- |
|
H |
- |
- |
- |
- |
- |
- |
D2 |
|
I6 |
- |
- |
- |
- |
- |
- |
H |
L |
H |
- |
H |
D3 |
/f |
I7 |
- |
- |
- |
H |
- |
- |
- |
- |
- |
- |
- |
D3 |
|
I8 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
D4 |
f |
I9 |
- |
- |
H |
- |
- |
- |
- |
- |
- |
- |
- |
D4 |
|
I10 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
D5 |
|
I11 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
D5 |
|
У таблиці подаються такі скорочення:
N – позначення елемента Іі;
На перетині рядка з позначенням елемента Іі та граф з номером входу (Аі) і номером зворотнього зв’язку (Di) можуть стояти такі символи:
«Н» - сигнал з даного входу заведений на відповідний елемент І в прямому коді;
«L» - сигнал з даного входу заведений на відповідний елемент І в інверсному коді;
“ – “ - сигнал з даного входу від’єднаний від відповідного елемента І;
“ 0 ” - сигнал з даного входу заведений на відповідний елемент І одночасно в прямому та інверсному кодах (початковий стан ПМЛ, даний елемент І не використовується).
Функціональне позначення ПМЛ
/f = /d/e v a/b/d v bc/d v /a/b/c v a/bce
Внутрішня структура запрограмованої ПMЛ зображена на рис. 3.11. Пряме значення функції f отримане шляхом використання внутрішнього інвертора зворотнього зв’язку.
Терм /d/e реалізований на елементі І0;
Терм a/b/d реалізований на елементі І1
Терм bc/d реалізований на елементі І2;
Терм /a/b/c реалізований на елементі І4;
Терм a/bce реалізований на елементі І6.
Функція /f формується на виході D3. Функція f реалізована шляхом інверсії функції /f на інверторі D5, елементі АБО 4 і формується на виході D4.
Завдання 3.12
Для схем, побудованих у завданнях 3.1. – 3.7., визначити їх “ціну”, підрахувавши кількість корпусів задіяних елементів. Визначити оптимальний (найдешевший) варіант.
№ п/п |
Номер завдання |
Варіант реалізації функції |
Кількість корпусів |
1 |
3.1 |
У базисі Буля з довільною кількістю входів |
12 |
2 |
3.2 |
У базисі Буля з кількістю входів не більше 2 |
22 |
3 |
3.3 |
У монобазисі І-НЕ з довільною кількістю входів |
12 |
4 |
3.4 |
У монобазисі Шеффера з двовходовими елементами |
32 |
5 |
3.5 |
У монобазисі АБО-НЕ з довільною кількістю входів |
11 |
6 |
3.6 |
У монобазисі Пірса з двовходовими елементами |
27 |
7 |
3.7 |
За допомогою дешифраторів |
4 |
Отже з порівняльної таблиці видно, що найбільш оптимальним (найдешевшим) варіантом реалізації функції за кількістю корпусів задіяних елементів є реалізація функції на дешифраторах. Використовується 4 дешифратори. При реалізації на елементарній логіці найменше корпусів є у монобазисі АБО – НЕ (11 корпусів).
Завдання 3.13
Для схем, побудованих у завданнях 3.1. – 3.7., визначити їх “ціну”, підрахувавши кількість виводів задіяних елементів. Визначити оптимальний (найдешевший) варіант.
№ п/п |
Номер завдання |
Варіант реалізації функції |
Кількість виводів |
1 |
3.1 |
У базисі Буля з довільною кількістю входів |
41 |
2 |
3.2 |
У базисі Буля з кількістю входів не більше 2 |
61 |
3 |
3.3 |
У монобазисі І-НЕ з довільною кількістю входів |
41 |
4 |
3.4 |
У монобазисі Шеффера з двовходовими елементами |
75 |
5 |
3.5 |
У монобазисі АБО-НЕ з довільною кількістю входів |
36 |
6 |
3.6 |
У монобазисі Пірса з двовходовими елементами |
66 |
7 |
3.7 |
За допомогою дешифраторів |
62 |
Отже з порівняльної таблиці видно, що найбільш оптимальним (найдешевшим) варіантом реалізації функції за кількістю виводів задіяних елементів є реалізація функції у монобазисі АБО - НЕ з довільною кількістю входів. Використовується 36 виводів.
Завдання 3.14
Для схем, побудованих у завданнях 3.1. – 3.7., визначити час проходження сигналів від входу до виходу. Визначити оптимальний (найшвидший) варіант.
№ п/п |
Номер завдання |
Варіант реалізації функції |
Час проход-ження |
1 |
3.1. |
У базисі Буля з довільною кількістю входів |
3 |
2 |
3.2. |
У базисі Буля з кількістю входів не більше 2 |
6 |
3 |
3.3. |
У монобазисі І-НЕ з довільною кількістю входів |
3 |
4 |
3.4. |
У монобазисі Шеффера з двовходовими елементами |
9 |
5 |
3.5. |
У монобазисі АБО-НЕ з довільною кількістю входів |
3 |
6 |
3.6. |
У монобазисі Пірса з двовходовими елементами |
9 |
7 |
3.7. |
За допомогою дешифраторів |
3 |
Отже з порівняльної таблиці видно, що найбільш оптимальним (найшвидшим) варіантом реалізації функції за часом проходження сигналів від входу до виходу є реалізація функції за допомогою дешифраторів, у базах Буля, Шеффера (І – НЕ) і Пірса (АБО – НЕ) з довільною кількістю входів (3 одиниці часу).
