Professional Documents
Culture Documents
Лабораторні ФЛП
Лабораторні ФЛП
Функціонально-логічне проектування
Лабораторний практикум
Київ – 2019
Функціонально-логічне проектування. Лабораторний практикум
[Електронний ресурс] : навч. посіб. для студ. спеціальності 172
«Телекомунікації та радіотехніка», освітньої програми «Інформаційно-
обчислювальні засоби електронних систем» / КПІ ім. Ігоря Сікорського ;
уклад.: Варфоломєєв А.Ю. – Київ : КПІ ім. Ігоря Сікорського, 2019. – 61 с.
Гриф надано Методичною радою КПІ ім. Ігоря Сікорського (протокол № 2 від 31.10.2019 р.)
за поданням вченої ради факультету електроніки (протокол № 10/2019 від 28.10.2019 р.)
Функціонально-логічне проектування
Лабораторний практикум
Варфоломєєв А.Ю.
КПІ ім. Ігоря Сікорського, 2019
2
ЗМІСТ
3
Додаток А. Основи роботи в системі Quartus II та застосування плат
налагодження ....................................................................................................... 42
Створення проекту ............................................................................................ 42
Створення схеми логічного пристрою ............................................................ 43
Моделювання схеми логічного пристрою ...................................................... 46
Створення тестових сигналів для моделювання ........................................ 46
Моделювання логічних схем у нових версіях Quartus II .......................... 49
Моделювання логічних схем у старих версіях Quartus II ......................... 50
Прив’язування входів і виходів схеми конкретним виводам ПЛІС ............ 52
Імпорт присвоювань...................................................................................... 53
Програмування ПЛІС........................................................................................ 55
Додаток Б. Засоби введення-виведення плат налагодження ..................... 57
Плата налагодження UP2 ................................................................................. 57
Плата налагодження DE2 ................................................................................. 59
Список рекомендованої літератури................................................................. 61
4
ЛАБОРАТОРНА РОБОТА №1.
Моделювання простих логічних схем на основі
базових логічних елементів
Тема роботи: моделювання найпростіших логічних схем.
Мета роботи: ознайомитись з особливостями побудови та моделювання
логічних схем в графічному редакторі Quartus II, навчитись виконувати
моделювання логічних схем за допомогою вбудованого симулятора та із
застосуванням плати налагодження.
5
y = x2 x1
Таблиця істинності логічного елементу АБО з двома входами:
x2 x1 y = x2 x1
0 0 0
0 1 1
1 0 1
1 1 1
Умовне графічне позначення:
1 ≥1
6
Таблиця істинності:
x2 x1 y = x2 x1
0 0 0
0 1 1
1 0 1
1 1 0
Умовне графічне позначення:
=1 =1
1) Ідемпотентні закони
x x x
x x x
2) Комутативні закони
x y y x
x y y x
3) Асоціативні закони
( x y ) z x ( y z )
( x y ) z x ( y z )
4) Дистрибутивні закони
x ( y z) x y x z
x y z ( x y) ( x z)
5) Закони заперечення
x x 1
x x 0
0 x x
1 x x
1 x 1
0 x 0
6) Закони двоїстості (закони де Моргана)
x y x y
x y x y
7
7) Закони подвійного заперечення
( x) x x
8) Закони поглинання (абсорбції)
x x y x
x( x y ) x
9) Операції склеювання
x y x y x
( x y ) ( x y ) x
10) Закони узагальненого склеювання
x y x z y z x y x z
( x y ) ( x z ) ( y z ) ( x y ) ( x z )
x x y x y
x ( x y) x y
Пріоритетність операцій
8
Порядок виконання роботи
Варіанти завдань
1. x1 ( x1 x2 ) 13. x1 x1 x2
2. x1 x1 x2 14. x1 x1 x2
3. x1 x1 x2 15. x1 x1 x2
4. x1 ( x1 x2 ) 16. x1 x1 x2
5. x1 ( x1 x2 ) 17. x1 x1 x2
6. x1 ( x1 x2 ) 18. x1 x1 x2
7. x1 ( x1 x2 ) 19. x1 x1 x2
8. x1 ( x1 x2 ) 20. x1 x1 x2
9. x1 x1 x2 21. x1 x1 x2
10. x1 x1 x2 22. x1 x1 x2
11. x1 x1 x2 23. x1 x1 x2
12. x1 x1 x2 24. x1 x1 x2
9
Контрольні питання
10
ЛАБОРАТОРНА РОБОТА №2.
Створення логічних схем на основі заданої таблиці істинності
11
значення на всіх інших наборах аргументів. Математичним виразом для
макстерма (або максимального терма) є диз’юнкція n змінних або їх інверсій.
12
оберемо всі рядки, в яких функція дорівнює 1. Для наочності нижче наведемо
таблицю істинності, в якій ці рядки відмічені.
i x4 x3 x2 x1 y
0 0 0 0 0 1
1 0 0 0 1 1
2 0 0 1 0 0
3 0 0 1 1 1
4 0 1 0 0 1
5 0 1 0 1 1
6 0 1 1 0 0
7 0 1 1 1 1
8 1 0 0 0 0
9 1 0 0 1 0
10 1 0 1 0 1
11 1 0 1 1 0
12 1 1 0 0 1
13 1 1 0 1 1
14 1 1 1 0 1
15 1 1 1 1 0
13
NOT
x1 INPUT
VCC
inst12
NOT
x2 INPUT
VCC
inst11
NOT
x3 INPUT
VCC
inst10
NOT AND4
x4 INPUT
VCC
inst9
x3
inst
x4
x2
x1
nx4
nx3
nx2
nx1
AND4
inst1
AND4
inst2
AND4
OR4
inst3
AND4
OR2
inst16
OR6 OUTPUT y
inst18
inst4
AND4
inst17
inst5
AND4
inst7
AND4
inst6
AND4
inst8
AND4
inst13
0 ps 160.0 ns 240.0 ns
160.0 ns
x1
x2
x3
x4
y
14
Тепер побудуємо ДКНФ функції. Згідно визначення ДКНФ – це
кон’юнкція макстермів, які відповідають наборам аргументів, на яких
функція приймає лише нульові значення. Отже, у таблиці істинності оберемо
всі рядки, в яких функція дорівнює 0. Нижче наведено таблицю істинності, в
якій ці рядки відмічені.
i x4 x3 x2 x1 y
0 0 0 0 0 1
1 0 0 0 1 1
2 0 0 1 0 0
3 0 0 1 1 1
4 0 1 0 0 1
5 0 1 0 1 1
6 0 1 1 0 0
7 0 1 1 1 1
8 1 0 0 0 0
9 1 0 0 1 0
10 1 0 1 0 1
11 1 0 1 1 0
12 1 1 0 0 1
13 1 1 0 1 1
14 1 1 1 0 1
15 1 1 1 1 0
15
На основі знайденого виразу (2.2) також легко побудувати схему
пристрою. Вона показана на рис. 2.3. Нижче на рис. 2.4 показано результат
функціонального моделювання схеми, що реалізує ДКНФ.
NOT
x1 INPUT
VCC
inst12
NOT
x2 INPUT
VCC
inst11
NOT
x3 INPUT
VCC
inst10
NOT
x4 INPUT
VCC
inst9 OR4
inst
nx4
nx3
nx2
nx1
x3
x4
x2
x1
OR4
inst1
OR4
AND6
inst2 OUTPUT y
OR4
inst6
inst3
OR4
inst4
OR4
inst5
0 ps 160.0 ns 240.0 ns
160.0 ns
x1
x2
x3
x4
y
16
Порядок виконання роботи
17
Варіанти завдань
Варіант 1 Варіант 2
i x4 x3 x 2 x1 f(νi) i x4 x3 x2 x1 f(νi)
0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 1 0 0 0 1 1
2 0 0 1 0 0 2 0 0 1 0 0
3 0 0 1 1 0 3 0 0 1 1 1
4 0 1 0 0 1 4 0 1 0 0 0
5 0 1 0 1 1 5 0 1 0 1 0
6 0 1 1 0 0 6 0 1 1 0 0
7 0 1 1 1 1 7 0 1 1 1 1
8 1 0 0 0 0 8 1 0 0 0 0
9 1 0 0 1 0 9 1 0 0 1 0
10 1 0 1 0 1 10 1 0 1 0 0
11 1 0 1 1 1 11 1 0 1 1 0
12 1 1 0 0 0 12 1 1 0 0 1
13 1 1 0 1 1 13 1 1 0 1 1
14 1 1 1 0 1 14 1 1 1 0 1
15 1 1 1 1 0 15 1 1 1 1 1
Варіант 3 Варіант 4
i x4 x3 x 2 x1 f(νi) i x4 x3 x2 x1 f(νi)
0 0 0 0 0 1 0 0 0 0 0 1
1 0 0 0 1 1 1 0 0 0 1 0
2 0 0 1 0 0 2 0 0 1 0 1
3 0 0 1 1 1 3 0 0 1 1 0
4 0 1 0 0 0 4 0 1 0 0 1
5 0 1 0 1 1 5 0 1 0 1 1
6 0 1 1 0 1 6 0 1 1 0 1
7 0 1 1 1 1 7 0 1 1 1 1
8 1 0 0 0 0 8 1 0 0 0 0
9 1 0 0 1 0 9 1 0 0 1 1
10 1 0 1 0 0 10 1 0 1 0 0
11 1 0 1 1 1 11 1 0 1 1 0
12 1 1 0 0 0 12 1 1 0 0 0
13 1 1 0 1 0 13 1 1 0 1 1
14 1 1 1 0 1 14 1 1 1 0 0
15 1 1 1 1 0 15 1 1 1 1 0
18
Варіант 5 Варіант 6
i x4 x3 x 2 x1 f(νi) i x4 x3 x2 x1 f(νi)
0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 1 0 0 0 1 0
2 0 0 1 0 0 2 0 0 1 0 0
3 0 0 1 1 0 3 0 0 1 1 0
4 0 1 0 0 1 4 0 1 0 0 0
5 0 1 0 1 1 5 0 1 0 1 1
6 0 1 1 0 1 6 0 1 1 0 0
7 0 1 1 1 0 7 0 1 1 1 1
8 1 0 0 0 0 8 1 0 0 0 1
9 1 0 0 1 1 9 1 0 0 1 0
10 1 0 1 0 1 10 1 0 1 0 1
11 1 0 1 1 1 11 1 0 1 1 1
12 1 1 0 0 0 12 1 1 0 0 0
13 1 1 0 1 0 13 1 1 0 1 1
14 1 1 1 0 0 14 1 1 1 0 0
15 1 1 1 1 1 15 1 1 1 1 1
Варіант 7 Варіант 8
i x4 x3 x 2 x1 f(νi) i x4 x3 x2 x1 f(νi)
0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 1 0 0 0 1 1
2 0 0 1 0 0 2 0 0 1 0 1
3 0 0 1 1 0 3 0 0 1 1 0
4 0 1 0 0 1 4 0 1 0 0 1
5 0 1 0 1 0 5 0 1 0 1 1
6 0 1 1 0 0 6 0 1 1 0 0
7 0 1 1 1 1 7 0 1 1 1 0
8 1 0 0 0 1 8 1 0 0 0 1
9 1 0 0 1 1 9 1 0 0 1 0
10 1 0 1 0 0 10 1 0 1 0 1
11 1 0 1 1 0 11 1 0 1 1 1
12 1 1 0 0 1 12 1 1 0 0 0
13 1 1 0 1 1 13 1 1 0 1 0
14 1 1 1 0 0 14 1 1 1 0 0
15 1 1 1 1 0 15 1 1 1 1 1
19
Варіант 9 Варіант 10
i x4 x3 x 2 x1 f(νi) i x4 x3 x2 x1 f(νi)
0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 1 0 0 0 1 0
2 0 0 1 0 0 2 0 0 1 0 1
3 0 0 1 1 0 3 0 0 1 1 1
4 0 1 0 0 0 4 0 1 0 0 1
5 0 1 0 1 1 5 0 1 0 1 0
6 0 1 1 0 1 6 0 1 1 0 0
7 0 1 1 1 1 7 0 1 1 1 0
8 1 0 0 0 1 8 1 0 0 0 1
9 1 0 0 1 0 9 1 0 0 1 1
10 1 0 1 0 1 10 1 0 1 0 0
11 1 0 1 1 1 11 1 0 1 1 0
12 1 1 0 0 0 12 1 1 0 0 0
13 1 1 0 1 0 13 1 1 0 1 0
14 1 1 1 0 0 14 1 1 1 0 1
15 1 1 1 1 1 15 1 1 1 1 1
Варіант 11 Варіант 12
i x4 x3 x 2 x1 f(νi) i x4 x3 x2 x1 f(νi)
0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 1 0 0 0 1 1
2 0 0 1 0 1 2 0 0 1 0 0
3 0 0 1 1 1 3 0 0 1 1 0
4 0 1 0 0 0 4 0 1 0 0 0
5 0 1 0 1 1 5 0 1 0 1 1
6 0 1 1 0 0 6 0 1 1 0 1
7 0 1 1 1 1 7 0 1 1 1 0
8 1 0 0 0 0 8 1 0 0 0 1
9 1 0 0 1 1 9 1 0 0 1 0
10 1 0 1 0 1 10 1 0 1 0 0
11 1 0 1 1 0 11 1 0 1 1 1
12 1 1 0 0 1 12 1 1 0 0 1
13 1 1 0 1 0 13 1 1 0 1 1
14 1 1 1 0 0 14 1 1 1 0 0
15 1 1 1 1 0 15 1 1 1 1 0
20
Варіант 13 Варіант 14
i x4 x3 x 2 x1 f(νi) i x4 x3 x2 x1 f(νi)
0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 1 1 0 0 0 1 0
2 0 0 1 0 0 2 0 0 1 0 0
3 0 0 1 1 0 3 0 0 1 1 1
4 0 1 0 0 1 4 0 1 0 0 1
5 0 1 0 1 0 5 0 1 0 1 1
6 0 1 1 0 1 6 0 1 1 0 1
7 0 1 1 1 0 7 0 1 1 1 1
8 1 0 0 0 1 8 1 0 0 0 0
9 1 0 0 1 1 9 1 0 0 1 1
10 1 0 1 0 0 10 1 0 1 0 0
11 1 0 1 1 0 11 1 0 1 1 0
12 1 1 0 0 0 12 1 1 0 0 1
13 1 1 0 1 0 13 1 1 0 1 0
14 1 1 1 0 1 14 1 1 1 0 1
15 1 1 1 1 1 15 1 1 1 1 0
Варіант 15 Варіант 16
i x4 x3 x 2 x1 f(νi) i x4 x3 x2 x1 f(νi)
0 0 0 0 0 1 0 0 0 0 0 0
1 0 0 0 1 0 1 0 0 0 1 1
2 0 0 1 0 0 2 0 0 1 0 1
3 0 0 1 1 1 3 0 0 1 1 1
4 0 1 0 0 0 4 0 1 0 0 0
5 0 1 0 1 1 5 0 1 0 1 0
6 0 1 1 0 0 6 0 1 1 0 1
7 0 1 1 1 0 7 0 1 1 1 0
8 1 0 0 0 1 8 1 0 0 0 1
9 1 0 0 1 1 9 1 0 0 1 0
10 1 0 1 0 1 10 1 0 1 0 0
11 1 0 1 1 0 11 1 0 1 1 1
12 1 1 0 0 0 12 1 1 0 0 0
13 1 1 0 1 1 13 1 1 0 1 1
14 1 1 1 0 1 14 1 1 1 0 1
15 1 1 1 1 0 15 1 1 1 1 0
21
Варіант 17 Варіант 18
i x4 x3 x 2 x1 f(νi) i x4 x3 x2 x1 f(νi)
0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 0 1 0 0 0 1 0
2 0 0 1 0 0 2 0 0 1 0 0
3 0 0 1 1 1 3 0 0 1 1 0
4 0 1 0 0 1 4 0 1 0 0 1
5 0 1 0 1 0 5 0 1 0 1 1
6 0 1 1 0 0 6 0 1 1 0 0
7 0 1 1 1 0 7 0 1 1 1 0
8 1 0 0 0 1 8 1 0 0 0 1
9 1 0 0 1 1 9 1 0 0 1 1
10 1 0 1 0 1 10 1 0 1 0 1
11 1 0 1 1 1 11 1 0 1 1 0
12 1 1 0 0 1 12 1 1 0 0 1
13 1 1 0 1 0 13 1 1 0 1 1
14 1 1 1 0 1 14 1 1 1 0 0
15 1 1 1 1 0 15 1 1 1 1 0
Варіант 19 Варіант 20
i x4 x3 x 2 x1 f(νi) i x4 x3 x2 x1 f(νi)
0 0 0 0 0 1 0 0 0 0 0 1
1 0 0 0 1 1 1 0 0 0 1 1
2 0 0 1 0 0 2 0 0 1 0 0
3 0 0 1 1 0 3 0 0 1 1 1
4 0 1 0 0 0 4 0 1 0 0 0
5 0 1 0 1 1 5 0 1 0 1 0
6 0 1 1 0 0 6 0 1 1 0 0
7 0 1 1 1 1 7 0 1 1 1 1
8 1 0 0 0 0 8 1 0 0 0 1
9 1 0 0 1 1 9 1 0 0 1 1
10 1 0 1 0 0 10 1 0 1 0 1
11 1 0 1 1 0 11 1 0 1 1 1
12 1 1 0 0 0 12 1 1 0 0 0
13 1 1 0 1 1 13 1 1 0 1 0
14 1 1 1 0 1 14 1 1 1 0 0
15 1 1 1 1 1 15 1 1 1 1 0
22
Варіант 21 Варіант 22
i x4 x3 x 2 x1 f(νi) i x4 x3 x2 x1 f(νi)
0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 1 0 0 0 1 1
2 0 0 1 0 0 2 0 0 1 0 0
3 0 0 1 1 0 3 0 0 1 1 0
4 0 1 0 0 1 4 0 1 0 0 0
5 0 1 0 1 1 5 0 1 0 1 0
6 0 1 1 0 0 6 0 1 1 0 1
7 0 1 1 1 1 7 0 1 1 1 0
8 1 0 0 0 1 8 1 0 0 0 1
9 1 0 0 1 0 9 1 0 0 1 1
10 1 0 1 0 1 10 1 0 1 0 1
11 1 0 1 1 0 11 1 0 1 1 0
12 1 1 0 0 0 12 1 1 0 0 1
13 1 1 0 1 1 13 1 1 0 1 1
14 1 1 1 0 1 14 1 1 1 0 0
15 1 1 1 1 0 15 1 1 1 1 0
Варіант 23 Варіант 24
i x4 x3 x 2 x1 f(νi) i x4 x3 x2 x1 f(νi)
0 0 0 0 0 1 0 0 0 0 0 1
1 0 0 0 1 0 1 0 0 0 1 1
2 0 0 1 0 1 2 0 0 1 0 0
3 0 0 1 1 1 3 0 0 1 1 0
4 0 1 0 0 0 4 0 1 0 0 0
5 0 1 0 1 1 5 0 1 0 1 1
6 0 1 1 0 1 6 0 1 1 0 0
7 0 1 1 1 0 7 0 1 1 1 1
8 1 0 0 0 0 8 1 0 0 0 0
9 1 0 0 1 1 9 1 0 0 1 0
10 1 0 1 0 0 10 1 0 1 0 1
11 1 0 1 1 0 11 1 0 1 1 1
12 1 1 0 0 0 12 1 1 0 0 0
13 1 1 0 1 1 13 1 1 0 1 1
14 1 1 1 0 1 14 1 1 1 0 0
15 1 1 1 1 0 15 1 1 1 1 1
23
Контрольні питання
24
ЛАБОРАТОРНА РОБОТА №3.
Оптимізація логічних схем.
Синтез дешифраторів
p 1
x1 DC F0 x1 DC 0
x2 F1 x2 1
x3 F2 x3 2
F3 3
F4 4
F5 5
F6 6
F7 7
25
Неповним дешифратором називається комбінаційна схема, яка має n
входів та реалізує N < 2n мінтермів n змінних.
Дешифратор адреси (ДшА) – це комбінаційна схема з M-входами та
одним виходом, на якому формується сигнал високого рівня тоді, коли
двійкове число, що подається на його входи, потрапляє в зазначений, при
проектуванні дешифратора адреси діапазон.
Дешифратори адреси досить широко використовується в системах з
загальною шиною – системах, в яких всі елементи одночасно підключені до
єдиної шини даних та адреси. В даному випадку дешифратори адреси
дозволяють визначити якому саме пристрою призначені дані: запит
потрапляє до всіх елементів відразу, проте обробляється лише тим з них, чия
адреса співпала з адресою, що містяться в запиті. Число входів M
дешифратора адреси при цьому залежить від кількості адресованих
елементів, максимальне число яких дорівнює 2М.
Дешифратори адреси досить широко використовуються як один з
функціональних блоків засобів введення-виведення.
Тепер знайдемо функцію для змінної частини адреси. Цій частині, як було
вже встановлено, відповідає 4 біти. Враховуючи це, а також наявні в точках 0x8
(10002) та 0xA (10102) виключення, запишемо таблицю істинності функції Yзмін:
i x4 x3 x2 x1 Yзмін
0 0 0 0 0 1
1 0 0 0 1 1
2 0 0 1 0 1
3 0 0 1 1 1
4 0 1 0 0 1
5 0 1 0 1 1
6 0 1 1 0 1
7 0 1 1 1 1
8 1 0 0 0 0
9 1 0 0 1 1
10 1 0 1 0 0
11 1 0 1 1 1
12 1 1 0 0 0
13 1 1 0 1 0
14 1 1 1 0 0
15 1 1 1 1 0
01 1 1 0 1
11 1 1 0 1
10 1 1 0 0
27
У карті Карно здійснюємо склеювання наступних рядків та стовпців:
стовпці 00, 01 та всі рядки (відповідає терму 4), стовпці 00, 10 рядки 01, 11
(відповідають терму 3x1). В результаті отримуємо наступну МДНФ:
Yзмін = 4 3 x1 .
x11 INPUT
VCC
AND8
x10 INPUT
VCC
x9 INPUT
VCC
NOT
x8 INPUT
VCC
inst3
NOT
x7 INPUT
VCC
inst2 AND2
NOT
x6 INPUT inst4 OUTPUT F
VCC
inst1
NOT inst10
x5 INPUT
VCC
inst
Constant Part
NOT
x4 INPUT
VCC
inst5 OR2
NOT AND2
x3 INPUT
VCC
inst6
inst8
x2 INPUT inst7
VCC
x1 INPUT
VCC
Variable Part
28
Як видно з функції дешифратора, в ньому не використовується змінна
x2. Тим не менш, на схемі відповідний вхід було залишено не підключеним.
Це зроблено з одного боку для наочності, а з іншого – для більш зручного
формування вхідних сигналів у файлі часових діаграм.
У редакторі часових діаграм, щоб не задавати окремо кожен вхідний
сигнал доцільно згрупувати вхідні змінні. Це виконується наступним чином:
слід виділити потрібні вхідні сигнали та в контекстному меню обрати
Grouping… → Group (рис. 3.2).
29
Рисунок 3.3 – Автоматичне генерування послідовності вхідних сигналів
F
X EFF F00 F01 F02 F03 F04 F05 F06 F07 F08 F09 F0A F0B F0C F0D F0E F0F F10 000
30
5. Синтезувати дешифратор семисегментного індикатора, що виводить на
індикатор шітнадцяткові цифри (для всіх варіантів). Типове позначення
сегментів індикатора наведено у додатку Б (див. рис. Б.2) Провести
моделювання та за допомогою модуля налагодження підтвердити
працездатність отриманої схеми.
Варіанти завдань
Початок Кінець
№ Виключення
діапазону діапазону
1. 0x201 0x207 0x203, 0x206
2. 0x1F2 0x1FA 0x1F6, 0x1F9
3. 0x0E9 0x0EF 0x0EA, 0x0EC
4. 0x502 0x50A 0x505, 0x504
5. 0x41C 0x41F 0x41D, 0x41E
6. 0x328 0x32C 0x329, 0x32A
7. 0x230 0x23E 0x23A, 0x23C
8. 0x143 0x14B 0x145, 0x149
9. 0x051 0x05A 0x053, 0x054
10. 0xF69 0xF6F 0xF6A, 0xF6E
11. 0xE73 0xE7E 0xE75, 0xE7A
12. 0xD81 0xD8D 0xD82, 0xD84
13. 0xC90 0xC9C 0xC93, 0xC98
14. 0xBA5 0xBAB 0xBA8, 0xBAA
15. 0xAB4 0xABA 0xAB8, 0xAB
16. 0x9C2 0x9C9 0x9C7, 0x9C8
17. 0x8DA 0x8DE 0x8DB, 0x8DC
18. 0x7E4 0x7E8 0x7E6, 0x7E7
19. 0x6F1 0x6F7 0x6F4, 0x6F5
20. 0xF45 0xF4F 0xF45, 0xF49
21. 0xE54 0xE57 0xE55, 0xE56
22. 0xD38 0xD3D 0xD39, 0xD3A
23. 0xC60 0xC66 0xC63, 0xC65
24. 0xB19 0xB1E 0xB1A, 0xB1C
31
Контрольні питання
32
ЛАБОРАТОРНА РОБОТА №4.
Пристрої двійкової арифметики
Суматори
33
На основі отриманої таблиці істинності знайдемо ДДНФ функцій, що
реалізують функції виходу s та co:
s a b ci a bci ab ci abci (a b ab)ci (a b ab )ci
(a b) ci (a b) ci (a b) ci ;
co a bci ab ci abci abci (a b ab ) ci (ci ci ) ab
(a b)ci ab.
Схема, що реалізує наведені вирази називається повним суматором та
має вигляд, представлений на рис. 4.1.
ci
=1
=1 abci
a ab s
b
&
& (ab)ci 1
сo
a∙b щ
a SM s
b
ci co
34
0 ci SM s s0
x0 a
y0 b co c1
ci SM s s1
x1 a
y1 b co c2
ci SM s s2
x2 a
y2 b co c3
ci SM s s3
x3 a
y3 b co c4
Схема віднімання
35
1
ci SM s d0
x0 a
b co
1
y0
ci SM s d1
x1 a
b co
1
y1
ci SM s d2
x2 a
b co
1
y2
ci SM s d3
x3 a
b co c4
1
y3
36
Схема комбінаційного зсуву (Barrel Shifter) може бути побудована на
основі мультиплексорів. Приклади схем логічного зсуву вліво та
арифметичного зсуву вправо наведено на рис. 4.5.
x3 x2 x1 x0 s0 s1 x3 x2 x1 x0 s0 s1
3 3
2 2
y3 y3
1 1
0 0
3 3
2 2
y2 y2
1 1
0 0
3 3
2 2
y1 y1
1 1
0 0
3 3
2 2
y0 y0
1 1
0 0
0
Схема логічного Схема арифметичного
зсуву вліво зсуву вправо
37
процедуру множення можна узагальнити наступною чином (для спрощення
наведено 4-х розрядні числа):
a3 a2 a1 a0 множене
× b3 b2 b1 b0 множник
a3b0 a2b0 a1b0 a0b0
+ a3b1 a2b1 a1b1 a0b1
частинні добутки
a3b2 a2b2 a1b2 a0b2
a3b3 a2b3 a1b3 a0b3
p7 p6 p5 p4 p3 p2 p1 p0 результат
b1
0
+ + + + 0
b2
+ + + + 0
b3
+ + + + 0
p7 p6 p5 p4 p3 p2 p1 p0
Рисунок 4.6 – Схема для виконання множення 4-х розрядних двійкових чисел
38
в ньому за усіма правилами реалізувати схему потрібного пристрою
(наприклад, однобітного повного суматора з рис. 4.1). Далі зайти в головне
меню File → Create / Update → Create Symbol Files for Current File. Після цього
буде запропоновано зберегти файл символу (*.bsf файл).
39
Порядок виконання роботи
Контрольні питання
41
ДОДАТОК А
ОСНОВИ РОБОТИ В СИСТЕМІ QUARTUS II
ТА ЗАСТОСУВАННЯ ПЛАТ НАЛАГОДЖЕННЯ
Створення проекту
а) б)
в) г)
вкладка Device.
Створення шин
Створення з’єднань
Додавання входів та виходів
Додавання компонентів
43
Додавання компонентів до схеми виконується за допомогою
спеціального інструменту, показаного на рис. А.4. Щоб його викликати
необхідно натиснути на відповідну кнопку редактора схем (рис. А.3).
44
компактною та зручною для читання. При створенні шин окремі провідники,
що в них входять/виходять мають бути підписані. Для створення підпису,
провідник необхідно просто виділити та ввести з клавіатури його ім’я. Також
надати ім’я провіднику можна через контекстне меню, що викликається
правою кнопкою миші. У контекстному меню слід увійти до налаштувань
(Properties) та у вікні, що відкриється вести ім’я в поле Name.
Варто відмітити, що іменування провідників взагалі дозволяє не
утворювати повних з’єднань, як показано на рис. А.5, б.
а)
б)
Рисунок А.5 – Утворення з’єднань у схемі:
а) за допомогою інструменту Orthogonal Node Tool;
б) за допомогою іменування провідників
45
Моделювання схеми логічного пристрою
Панель
Засоби для Область часових діаграм
роботи з імен
сигналами сигналів
47
Окремі сигнали додаються відповідно
назв входів і виходів наявних у схемі
1
Обрати режим пошуку
всіх входів/виходів
4 Підтвердження
2 Виконати пошук
3 Обрати входи/виходи
Вхідні
сигнали
48
Моделювання логічних схем у нових версіях Quartus II
Часове моделювання
Функціональне моделювання
49
Якщо під час моделювання виникають помилки через некоректне
встановлення середовища симуляції ModelSim або якщо ModelSim взагалі не
був встановлений, можна скористатись старим вбудованим симулятором
Quartus. Його можна обрати через головне меню Simulation → Options.
50
Функціональний режим моделювання потребує генерування
спеціального списку з’єднань. Для цього перед моделюванням слід
натиснути на кнопку Generate Functional Simulation Netlist. У якості вхідних
даних для моделювання обираємо щойно створений файл часових діаграм.
Зазвичай файл часових діаграм обирається автоматично, але якщо з якихось
причин цього не відбулося або необхідно вказати іншу часову діаграму, то її
можна змінити у полі Simulation Input. Крім того у вікні налаштувань доцільно
ввімкнути перезапис вхідних даних результатами моделювання (поставити
галочку в полі Overwrite simulation input file with simulation results). Це дозволяє
відобразити результат моделювання одразу у вхідну часову діаграму (vwf-
файл). Запуск моделювання виконується натисканням кнопки Start.
51
Рисунок А.18 – Налаштування інструменту моделювання для врахування
затримок розповсюдження сигналів у схемі
52
Вікно інструмента Pin Planer показано на рисунку А.21.
Обрані виводи
підсвічуються
Імпорт присвоювань
Присвоєні імена
Рисунок А.22 – Вигляд вікна Pin Planer після імпорту присвоювань
54
та виходами схеми з’явилася інформація, до яких виводів ПЛІС вони
підключені.
Програмування ПЛІС
55
компілювання) з’являється автоматично. Якщо цього не відбулось або
необхідно запрограмувати інший файл, прошивки можна додавати та
змінювати вручну кнопками Add File, Delete та Change File.
Необхідно обрати
пристрій, через який
здійснюватиметься
програмування
Файли прошивки
ПЛІС, що програмується
56
ДОДАТОК Б
ЗАСОБИ ВВЕДЕННЯ-ВИВЕДЕННЯ ПЛАТ НАЛАГОДЖЕННЯ
MOUSE
R1 R2 FLEX_EXPAN_
DC_IN C19 VGA FLEX_DIGIT
DEVICE
U5
BOARD
MAX_EXPANSION
– + – DC +
P1 EPC1
P2
EPF10K20
EPF10K70
or
MAX_DIGIT EPF10K70
P7 D1 D9
D5 D13
D2 D10
FLEX_EXPAN_
D6 D14
D3 D11 FLEX_SWITCH
EPM7128S D7 D15
D4 D12
P4 D8 D16
FLEX_PB1
FLEX_PB2
P3 P8
P5 P6 P9 P10
JTAG_OUT
MAX_SW1
MAX_SW2
MAX_PB1
MAX_PB2
FLEX_EXPAN_
58
a
f b
g
e c
d
dp
27MHz Oscillator
PS2 Port
Audio CODEC
Power ON/OFF Switch VGA 10-bit DAC
Expansion Header 2 (JP2)
USB Host/Slave
(with Protection Diodes)
Controller
Expansion Header 1 (JP1)
Altera USB Blaster
(with Protection Resistors)
Controller Chipset
Ethernet 10/100M Controller
Altera EPCS16
TV Decoder (NTSC/PAL)
Configuration device
Switch between JTAG
/Normal Mode (RUN) Altera 90 nm Cyclon II
and AS Mode (PROG) FPGA with 35K LEs
LCD 16×2 Module
SD Card Connector
1 Mbyte Flash Memory
7-SEG Display Module (upgradable to 4 Mbyte)
IRDA Transceiver
SMA Ext Clk
59
Рівні сигналів, які виникають при натисканні на кнопки та перемикачі,
а також якими засвічуються світлодіоди та сегменти семисегментних
індикаторів, можна визначити за схемою плати DE2. Тому наведемо основні
способи підключення периферії до ПЛІС Cyclon II (EP2C35), що використані
на платі DE2 (див. рис. Б.4).
RN25
1 8 VCC33
2 7
3 6
4 5
100K U16
GND 10 GND
11 RN26
9 A8 B8
KEYIN0 12 8 1 KEY0
8 A7 B7
KEYIN1 13 7 2 KEY1
7 A6 B6
KEYIN2 14 6 3 KEY2
6 A5 B5
KEYIN3 15 5 4 KEY3
5 A4 B4
KEY0 KEY1 KEY2 KEY3 16
4 A3 B3
4 3 4 3 4 3 4 3 C16 C17 C18 C19 17 120
3 A2 B2
2 A1 B1 18
1 2 1 2 1 2 1 2 1U 1U 1U 1U
19 GND
TACT SW TACT SW TACT SW TACT SW OE
1 DIR VCC 20 VCC33
74HC245
а)
LEDR0 LEDR
GND
GND
R35 120 SW13 ... LED0
LED1
LED2
LED3
1
2
3
4
8
7
6
5
LEDR2 LEDR
5 5
LEDR3 LEDR
SLIDE SW SLIDE SW 330
б) в)
RN8 HEX0
HEX0_D0 1 8 A0 10 a
HEX0_D1 2 7 B0 9 b VCC33
HEX0_D2 3 6 C0 8 c
HEX0_D3 4 5 D0 5 d CA1 1
4 e CA2 6
330 2 f
RN9 3 g
HEX0_D4 1 8 E0 7 dp
HEX0_D5 2 7 F0
HEX0_D6 3 6 G0 7Segment Display
4 5
330
г)
60
СПИСОК РЕКОМЕНДОВАНОЇ ЛІТЕРАТУРИ
61