Міністерство освіти і науки України
                       Національний університет „Львівська політехніка”
                                                               Звіт
з лабораторної роботи № 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 “Дослідження вузлів вбудованх комп’ютерних систем”.