Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Звіт
з лабораторної роботи № 2
з дисципліни: “Проектування вбудованих комп’ютерних систем”
На тему: Проектування та дослідження макроелементів
.
Львів 2014
Мета роботи: засвоєння навичок роботи у середовищі Active-HDL, засвоєння методів Проектування макроелементів для вбудованих комп’ютерних систем.
Початковими даними для лабораторної роботи №2 «Проектування макроелементів» є результати виконання лабораторної роботи №1 “Дослідження вузлів вбудованх комп’ютерних систем”.
/
Хід роботи
Заходжу у середовище проектування Aldec Active-HDL Student Edition. /
Знаходжу на диску і запускаю проект з лабораторною роботою №1 “Дослідження вузлів вбудованх комп’ютерних систем”:
/
Відкриваю схему з вузлами лабораторної роботи №1:
/
Відкриваю новий аркуш схеми:
/
Додаю новий аркуш до проекту:
/
Задаю мову опису:
/
Задаю ім’я схеми:
/
Закінчую введення схеми до проекту:
/
На дисплеї з’являється зображення нового аркуша:
/
Копіюю з лабораторної роботи №1 частину схеми, яка реалізує задані функції на бібліотечних елементах:
/
/
Вставляю на новому аркуші
/
скопійована схема на новому аркуші
/:
І запам’ятовую її /
. (запам’ятовую її під іменем, яке містить моє прізвище та ознаку _sch).
Проводжу компіляцію нової схеми:
/
Після успішної компіляції
/
У бібліотеці елементів з’являється новий елемент з ім’ям відкомпільованої схеми:
/
Аналогічно створюю новий аркуш із фрагментами схеми лабораторної роботи №1, утовореної за допомогою генератора ядер, запам’ятовую її під іменем, яке містить моє прізвище та ознаку _gen:
/
/
Аналогічно створюю новий аркуш із фрагментами схеми лабораторної роботи №1, утовореної за допомогою VHDL-описів, запам’ятовую її під іменем, яке містить прізвище студента та ознаку _vhd:
/
Проводжу компіляцію новоутворених схем, створюю відповідні бібліотечні елементи:
/
Відкриваю новий аркуш схеми:
/
Запам’ятовую цю схеми під новим ім’ям, яке містить моє прізвище та ознаку _all:
/
Розміщую на новому аркуші новоутворені макроелементи:
/
Малюю вхідні ти вихідні зв’язки та контакти, даю їм назви, які збігаються з назвами входів та виходів елементів (це необов’язково, але полегшить наступне моделювання):
/
Проводжу компіляцію утвореної схеми
/.
Пересівідчуюся, що у бібліотеці елементів з’явився відповідний бібліотечний елемент.
/
Встановляю схему, яка буде моделюватися:
Переходжу до режиму моделювання:
/
Промодельовую створену схему, користуючись командним файлом з лабораторної роботи №1. Пересвідчуюсь, що усі три схеми працюють однаково.
/
Відкриваю новий аркуш схеми. Запам’ятовую цю схему під новим ім’ям, яке містить моє прізвище та ознаку _one. Розміщую на цій схемі новоутворений бібліотечний елемент з ознакою –all, під’єднюю до нього зв’язки, позначаю входи та виходи:
/
Проводжу компіляцію утвореної схеми.
/
Пересвідчуюся, що у бібліотеці елементів з’явився відповідний бібліотечний елемент.
/
Встановлюю схему, яка буде моделюватися:
Переходжу до режиму моделювання:
/
Моделюю створену схему, користуючись командним файлом з лабораторної роботи №1. Провіряю, що результати моделювання не змінилися.
Двічі клацаючи мишкою на тілі жовтих макроелементів відкриваю їхню внутрішню схему.
Доходжу таким способом до VHDL-описів або до бібліотечних елементів.
Відкриваю і проаналізовую VHDL-описи усіх створених макроелементів:
Порівнюю макроелемент з його внутришнім описом
/
Заходжу в редактор символів:
/
Командний файл GRS_one.vhd :
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
--
-- Title : GRS_one
-- Design : GRS_lr1
-- Author : R.Grabovych
-- Company : Hewlett-Packard Company
--
-------------------------------------------------------------------------------
--
-- File : c:\Designs\GRS_lab1\GRS_lr1\compile\GRS_one.vhd
-- Generated : Thu Mar 14 14:50:27 2013
-- From : c:\Designs\GRS_lab1\GRS_lr1\src\GRS_one.bde
-- By : Bde2Vhdl ver. 2.6
--
-------------------------------------------------------------------------------
--
-- Description :
--
-------------------------------------------------------------------------------
-- Design unit header --
library IEEE;
use IEEE.std_logic_1164.all;
entity GRS_one is
port(
GRS1 : in STD_LOGIC;
GRS2 : in STD_LOGIC;
GRS1_GRS_and_GRS2 : out STD_LOGIC;
GRS1_GRS_inv : out STD_LOGIC;
GRS1_GRS_nand_GRS2 : out STD_LOGIC;
GRS1_GRS_nor_GRS2 : out STD_LOGIC;
GRS1_GRS_or_GRS2 : out STD_LOGIC;
GRS1_GRS_xor_GRS2 : out STD_LOGIC;
GRS1_and_GRS2 : out STD_LOGIC;
GRS1_inv : out STD_LOGIC;
GRS1_nand_GRS2 : out STD_LOGIC;
GRS1_nor_GRS2 : out STD_LOGIC;
GRS1_or_GRS2 : out STD_LOGIC;
GRS1_v_and_GRS2 : out STD_LOGIC;
GRS1_v_inv : out STD_LOGIC;
GRS1_v_nand_GRS2 : out STD_LOGIC;
GRS1_v_nor_GRS2 : out STD_LOGIC;
GRS1_v_or_GRS2 : out STD_LOGIC;
GRS1_v_xor_GRS2 : out STD_LOGIC;
GRS1_xor_GRS2 : out STD_LOGIC
);
end GRS_one;
architecture GRS_one of GRS_one is
---- Component declarations -----
component GRS_all
port (
GRS1 : in STD_LOGIC;
GRS2 : in STD_LOGIC;
GRS1_GRS_and_GRS2 : out STD_LOGIC;
GRS1_GRS_inv : out STD_LOGIC;
GRS1_GRS_nand_GRS2 : out STD_LOGIC;
GRS1_GRS_nor_GRS2 : out STD_LOGIC;
GRS1_GRS_or_GRS2 : out STD_LOGIC;
GRS1_GRS_xor_GRS2 : out STD_LOGIC;
GRS1_and_GRS2 : out STD_LOGIC;
GRS1_inv : out STD_LOGIC;
GRS1_nand_GRS2 : out STD_LOGIC;
GRS1_nor_GRS2 : out STD_LOGIC;
GRS1_or_GRS2 : out STD_LOGIC;
GRS1_v_and_GRS2 : out STD_LOGIC;
GRS1_v_inv : out STD_LOGIC;
GRS1_v_nand_GRS2 : out STD_LOGIC;
GRS1_v_nor_GRS2 : out STD_LOGIC;
GRS1_v_or_GRS2 : out STD_LOGIC;
GRS1_v_xor_GRS2 : out STD_LOGIC;
GRS1_xor_GRS2 : out STD_LOGIC
);
end component;
begin
---- Component instantiations ----
U1 : GRS_all
port map(
GRS1 => GRS1,
GRS1_GRS_and_GRS2 => GRS1_GRS_and_GRS2,
GRS1_GRS_inv => GRS1_GRS_inv,
GRS1_GRS_nand_GRS2 => GRS1_GRS_nand_GRS2,
GRS1_GRS_nor_GRS2 => GRS1_GRS_nor_GRS2,
GRS1_GRS_or_GRS2 => GRS1_GRS_or_GRS2,
GRS1_GRS_xor_GRS2 => GRS1_GRS_xor_GRS2,
GRS1_and_GRS2 => GRS1_and_GRS2,
GRS1_inv => GRS1_inv,
GRS1_nand_GRS2 => GRS1_nand_GRS2,
GRS1_nor_GRS2 => GRS1_nor_GRS2,
GRS1_or_GRS2 => GRS1_or_GRS2,
GRS1_v_and_GRS2 => GRS1_v_and_GRS2,
GRS1_v_inv => GRS1_v_inv,
GRS1_v_nand_GRS2 => GRS1_v_nand_GRS2,
GRS1_v_nor_GRS2 => GRS1_v_nor_GRS2,
GRS1_v_or_GRS2 => GRS1_v_or_GRS2,
GRS1_v_xor_GRS2 => GRS1_v_xor_GRS2,
GRS1_xor_GRS2 => GRS1_xor_GRS2,
GRS2 => GRS2
);
end GRS_one;
Часова діаграма:
/
/
Висновок: на цій лабораторній роботі я засвоїв основні навички роботи у середовищі Active-HDL, засвоїв методи Проектування макроелементів для вбудованих комп’ютерних систем. Початкові дані для лабораторної роботи №2 «Проектування макроелементів» є результати виконання лабораторної роботи №1 “Дослідження вузлів вбудованх комп’ютерних систем”.