МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Кафедра ЕОМ
Проектування та дослідження вбудованих процесорів
МЕТОДИЧНІ ВКАЗІВКИ
до лабораторних робіт з дисципліни
“Проектування вбудованих комп’ютерних систем”
для студентів спеціальності 7.091501
“Комп’ютерні системи та мережі”.
Львів - 2010
Методичні методичні вказівки до лабораторних робіт “Проектування та дослідження вбудованих процесорів” з дисципліни "Проектування вбудованх комп’ютерних систем" для студентів спеціальності 7.091501 “Комп’ютерні системи та мережі” /укл.: Глухов В.С. - Львів: видавництво Національного університету “Львівська політехніка”, 2010. - 15 с.
Укладач Глухов В.С., канд. техн. наук., с.н.с., доц.
Відповідальний за випуск Глухов В.С., канд. техн. наук., с.н.с., доц.
Рецензенти: Голембо В.А., канд. техн. наук., доц.
Цмоць І.Г., докт. техн. наук., проф.
Лабораторна робота № 7
«Проектування та дослідження вбудованих процесорів»
Дана лабораторна робота виконується з використанням навичок, отриманих студентами під час виконання попередніх лабораторних робіт.
Метою роботи є Проектування і перевірка роботи процесора з заданим викладачем набором характеристик.
Процесор – сукупність операційного пристрою і пристрою керування.
Створений процесор повинен починати працювати за сигналом Start і проводити обчислення за заданою викладачем формулою.
Варіант роботи задає викладач.
Таблиця тетрад, з яких утрворюються послідовності кодів K0, …, K7, наведена нижче.
Варіант
Тетради кодів K0, …, K7
00:
1
6
8
9
D
E
0
B
7
4
01:
E
2
6
4
0
D
5
7
B
9
02:
2
4
3
A
1
D
6
B
C
0
03:
7
A
8
3
0
2
6
D
E
4
04:
4
7
A
6
8
2
B
D
3
0
05:
C
5
A
6
8
9
1
E
D
3
06:
5
9
2
C
D
1
B
A
3
0
07:
3
1
7
E
B
5
D
C
2
0
08:
4
5
B
6
7
A
2
8
C
3
09:
2
B
4
1
9
A
C
0
E
3
0A:
2
C
D
1
7
6
E
3
9
4
0B:
9
B
7
6
8
0
E
A
C
D
0C:
4
D
8
A
5
B
E
2
0
9
0D:
4
1
5
9
D
2
3
7
A
6
0E:
A
B
0
1
3
6
5
8
9
7
0F:
5
D
8
1
9
4
B
6
A
C
10:
B
C
3
8
9
A
6
5
4
1
11:
A
9
0
C
3
D
E
7
6
8
12:
D
4
1
5
6
C
2
9
3
A
13:
E
4
5
2
D
7
B
C
1
A
14:
3
C
7
E
A
2
0
D
1
8
15:
C
1
2
3
7
E
8
A
0
5
16:
D
0
1
5
4
8
6
7
3
9
17:
1
9
B
0
7
C
5
6
3
D
18:
D
4
1
C
6
A
0
9
5
2
19:
E
4
C
6
5
7
2
D
1
A
1A:
2
4
1
D
A
5
E
7
B
6
1B:
1
2
D
3
5
7
9
4
0
8
1C:
1
7
4
5
6
0
8
9
3
E
1D:
7
1
B
3
E
6
2
9
D
A
1E:
2
A
1
4
7
9
6
E
0
8
1F:
5
B
0
E
2
3
A
C
D
8
20:
5
0
1
6
3
D
C
A
2
8
21:
B
3
7
8
C
6
5
9
0
4
22:
1
E
3
0
8
B
6
5
D
9
23:
0
4
B
2
8
E
3
6
9
D
24:
4
3
E
9
5
0
A
7
2
B
25:
E
6
4
B
1
8
5
A
3
2
26:
0
1
D
8
E
A
3
4
5
7
27:
2
B
A
9
0
D
7
8
5
4
28:
0
5
E
A
2
7
B
C
8
9
29:
8
5
1
4
6
D
A
0
3
2
2A:
A
0
5
D
4
E
C
6
7
1
2B:
D
6
9
5
3
E
B
1
C
7
2C:
4
3
E
1
B
9
8
0
6
C
2D:
0
2
8
C
5
4
D
E
1
9
2E:
3
7
E
4
6
C
9
8
1
B
2F:
3
E
D
B
A
6
9
0
5
1
30:
7
5
6
D
4
A
9
C
0
3
31:
D
3
4
7
6
2
E
1
C
9
32:
0
D
6
8
9
C
7
E
3
B
33:
9
5
4
8
E
0
B
7
D
C
34:
4
A
C
2
5
6
7
1
D
3
35:
A
2
9
6
C
4
1
E
3
8
36:
D
9
3
A
B
1
8
C
7
2
37:
6
E
4
0
5
8
7
C
9
1
38:
6
C
5
D
9
4
8
7
A
3
39:
3
D
7
8
6
A
4
E
9
C
3A:
D
8
B
E
C
7
3
0
9
6
3B:
3
8
D
0
E
1
5
B
6
C
3C:
E
6
1
3
5
4
D
C
9
A
3D:
C
E
3
8
B
2
6
7
D
4
3E:
E
8
0
7
1
5
6
3
4
2
3F:
4
6
9
3
1
A
B
7
2
0
40:
2
A
8
3
6
B
9
D
5
C
41:
2
1
A
B
D
E
9
4
0
3
42:
A
9
E
2
3
8
7
1
0
D
43:
7
9
3
C
4
D
2
E
5
A
44:
C
A
5
2
8
9
1
4
3
D
45:
4
D
0
3
B
9
5
E
8
1
46:
1
B
7
E
3
0
D
2
A
8
47:
2
7
A
D
4
E
1
3
5
8
48:
4
2
C
A
0
9
E
6
D
5
49:
E
2
D
0
1
4
8
3
9
5
4A:
A
B
D
2
4
0
9
7
1
5
4B:
6
E
2
4
5
A
0
1
C
9
4C:
4
D
6
3
B
8
5
7
2
9
4D:
4
0
A
B
E
6
D
9
3
C
4E:
1
4
E
A
6
9
2
B
C
3
4F:
E
A
6
7
D
4
2
C
5
0
00:
3
9
2
B
7
5
8
4
1
0
Хід роботи.
Відкрити проект з попередньої лабораторної роботи (Проектування та дослідження операційного пристрою).
Відкрити файл із схемою операційного пристрою (Gl_op):
Провести компіляцію файла операційного пристрою.
Відкрити новий файл графа автомата:
Додати файл графа автомата до проекту:
Обрати мову опису автомата:
Задати ім’я автомата (ім’я повинне містити літери прізвища студента):
Завершити підготовку до введення графа автомата:
Ввести в опис вхід синхроімпульсів
Повинне відкритися вікно редактора графа автомата:
Обрати режим введення станів автомата:
Розмістити 4 стани на аркуші:
Обрати режим введення вхідних сигналів автомату:
Ввести вхідні сигнали автомата:
Обрати режим введення вихідних сигналів автамата:
Ввести вихідні сигнали автомата (вони повинні збігатися з сигналами керування операційного пристрою):
Обрати режим введення переходів автомату:
Задати потрібні переходи автомата із стану в стан:
Визначити умови переходів:
Задати вихідні сигнали, які будуть формуватися автоматом у кожному стані:
Відмітити правою клавішою мишки аркуш графа, обрати режим уточнення властивостей автомата:
Задати режим скиду автомату:
Кількість станів автомату можна збільшувати, вихідні сигнали у кожному стані, переходи між станами та умови переходів можна коректувати:
Првести компіляцію графа автомата:
Відкрити новий аркуш схеми.
Розмістити на ньму символи пристрою керування (автомата) та операційного пристрою, додати вхідні та вихідні контакти, провести необхідні з’єднання, дати назви усім зв’язкам та контактам:
зберігти створену схему (ім’я схеми повинне містити літери прізвища студента – Gl_proc),
відкомпілювати файл із схемою,
Встановити схему як схему найвищого рівня (яка буде моделюватися),
перейти до режима моделювання.
Взяти за основу командний файл з попередньої лабораторної роботи (7.do). Створити командний файл 8.do для моделювання процесу виконання такої задачі:
1 такт синхроімпульсів дорівнює 10 нс;
процесор починає працювати за сигналом Start;
процесор приймає з входу DI послідовність з 8 двійкових кодів (K0, K1, … K7), які змінюються кожного такту по передньому фронту синхроімпульсів;
розрядність кодів повинна дорівнювати розрядності АЛУ, 4 старших біти повинні дорівнювати 0000;
молодші біти кожного коду утворюються з послідовності тетрад, яка відповідає варіанту роботи;
з допомогою АЛП вирахувати суму S=K0&K1 + K2&K3 + K4&K5 + K6&K7;
видати суму на вихід A схеми.
На екран, як окремі сигнали, вивести виходи регістрів регістрового файлу, які приймають участь в обчисленні результату, а також стани автомата керування.
Заготовка do-файла наведена нижче:
------------------------------------------------------------------------------------
VIEW wave
restart
wave clk clr m s ci en_i en_a en_b en_w aa ab aw di a b u1/d qa qb
wave u4/sreg0
force -r 10 ns CLK 1 0 ns, 0 5 ns
force clr 1 0 ns, 0 2 ns
force di 16#12 0 ns, 16#34 10 ns, 16#56 20 ns, 16#78 30 ns, 16#9a 40 ns, 16#bc 50 ns
force start 0 0 ns, 1 5 ns
run 100 ns
---------------------------------------------------------------------------------------
Система команд АЛП визначається його VHDL-описом:
…
constant ADD_M : std_logic_vector(2 downto 0) :="000";
constant SUB_M : std_logic_vector(2 downto 0) :="001";
constant ADD_CIN : std_logic_vector(2 downto 0) :="010";
constant SUB_CIN : std_logic_vector(2 downto 0) :="011";
constant INC_A : std_logic_vector(2 downto 0) :="100";
constant DEC_A : std_logic_vector(2 downto 0) :="101";
constant INC_B : std_logic_vector(2 downto 0) :="110";
constant DEC_B : std_logic_vector(2 downto 0) :="111";
constant AND_S : std_logic_vector(2 downto 0) :="000";
constant NAND_S : std_logic_vector(2 downto 0) :="001";
constant OR_S : std_logic_vector(2 downto 0) :="010";
constant NOR_S : std_logic_vector(2 downto 0) :="011";
constant XOR_S : std_logic_vector(2 downto 0) :="100";
constant XNOR_S : std_logic_vector(2 downto 0) :="101";
constant NOT_A_S : std_logic_vector(2 downto 0) :="110";
constant NOT_B_S : std_logic_vector(2 downto 0) :="111";
…
Дозволяється змінювати згенерований VHDL-опис АЛП, вводити нові команди АЛП, забирати непотрібні команди.
Дозволяється коректувати граф автомата: вводити додаткові стани, змінювати вихідні сигнали, які формуються у кожному стані автомата.
Під’єднати do-файл до проекту.
Провести моделювання схеми, пояснити результати моделювання:
Моделювання доцільно почати з перевірки можливості трансляції в операційному пристрої інформації таким шляхом: DI -> A -> D -> B:
Фрагмент графа автомата після закінчення його проектування показаний нижче:
Фрагмент часової діаграми моделювання роботи створеного процесора наведений нижче:
До Звіту з лабораторної роботи повинні входити:
порядок роботи;
створені схеми,
граф автомата,
VHDL-описи усіх елементів та схем,
командні файли;
часові діаграми.