Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет «Львівська політехніка»
ЗВІТ
до лабораторної роботи №1
з предмету «Мови опису апаратних засобів»
Львів 2005
Мета роботи: ознайомитись з принципами автоматизованого проектування ПЛІС за допомогою пакету Active-HDL, вивчити структуру VHDL-проекту, навчитися працювати з засобами управління проектом.
Теоретична частина:
Одним із світових лідерів в розробці систем автоматизованого проектування (САПР) для створення програмованих логічних інтегральних схем на базі мов описання апаратного забезпечення є корпорація Aldec Inc.
Структура Active-HDL базується на стандартному GUI-інтерфейсі. Загальний вигляд екрана при роботі з САПР Active-HDL:
Головними частинами Active-HDL є:
Design Browser: вікно перегляду проекту, призначене для для відображення інформації про складові елементи (компоненти) проекту:
файли опису пристрою,
використані в проекті бібліотеки,
допоміжні файли проекту, до яких належать макроси та скрипт-файли, файли результатів симуляції роботи пристрою, допоміжні текстові файли,
структуру проекту,
сигнали та змінні, декларовані в проекті.
HDL Editor: редактор HDL-тексту з можливістю відображення заданих синтаксичних конструкцій мови різними кольорами; завдяки інтеграції редактора із симулятором компонент дозволяє виконувати зручне покрокове відлагодження пристрою і швидко виявляти помилки.
Console: вікно призначене для інтерактивного виводу текстової інформації, зокрема повідомленнь середовища; компонент також призначений для вводу команд середовища (Active-HDL commands).
Waveform Editor: редактор, призначений для графічного відображення та редагування результатів симуляції - часових діаграм.
Language Assistant: компонент є зручним засобом, який дозволяє розробнику використовувати бібліотеку шаблонів опису стандартних примітивних конструкцій та функціональних блоків; Language Assistant дозволяє розміщувати вибрані шаблони безпосередньо в редагованому файлі та створювати свої власні шаблони.
Виконання роботи:
1. Вивчення прикладу Modulator
Проект Modulator складається з 4-х файлів із VHDL описами: SineGenerator.vhd, CosineGenerator.vhd, sawgenerator.vhd, multiplier.vhd. У них містяться наступні об’єкти (з описанням інтерфейсів):
entity SineGenerator is
port (
CLK: in bit;
SinEnable: in bit;
SinFreq: integer;
SIN1: out real :=0.0
);
end SineGenerator;
entity CosineGenerator is
port (
CLK: in bit;
CosEnable: in bit;
CosFreq: in integer;
COS1: out real :=0.0
);
end CosineGenerator;
entity SawGenerator is
port (
CLK: in bit;
SawEnable: in bit;
SawFreq: integer;
SAW1: out real :=0.0
);
end SawGenerator;
entity Multiplier is
port (
clk: in bit;
IN1: in real;
IN2: in real;
IN3: in real;
OUT1: out real :=0.0
);
end Multiplier;
2. Створення об’єкту RS-тригер:
library IEEE;
use IEEE.Std_logic_1164.all;
entity RS_Trigger is
port (R: in std_logic; S: in std_logic;
Q: out std_logic; NQ: out std_logic);
end entity;
architecture RS_Trigger of RS_Trigger is
signal Output: std_logic;
begin
process(R,S)
begin
if R'event and R='1' then Output<='0';
end if;
if S'event and S='1' and R='0' then Output<='1';
end if;
Q<=Output;
NQ<=not Output;
end process;
end architecture;
3. Створення об’єкту Counter:
library IEEE;
use IEEE.STD_LOGIC_1164.all;
entity Counter is
port( CLK : in STD_LOGIC; RST : in STD_LOGIC;
Q : out STD_LOGIC_VECTOR(3 downto 0) );
end Counter;
architecture Counter of Counter is
begin
process (CLK, RST)
variable Qint: STD_LOGIC_VECTOR (3 downto 0);
begin
if RST='1' then
Qint := "0000";
else
if CLK'event and CLK='1' then
if Qint<9 then
Qint:=Qint+1;
else
Qint:="0000";
end if;
end if;
end if;
Q <= Qint;
end process;
end Counter;
Висновок: виконуючи лабораторну роботу було вивчено інтегроване середовище Active-HDL та освоєно принципи роботи в ньому.