Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра електронних
обчислювальних машин
Звіт
про виконання лабораторної роботи № 1
з курсу „ Мови опису апаратних засобів ”
Тема:
Вивчення інтегрованого середовища автоматизованого проектування Active-HDL фірми Aldec Inc
Львів – 2005
Мета роботи: ознайомитись з принципами автоматизованого проектування ПЛІС за допомогою пакету Active-HDL, вивчити структуру VHDL-проекту, навчитися працювати з засобами управління проектом.
Теоретичні відомості:
1. Опис засобів Active-HDL для управління проектами.
Design Browse
вікно перегляду проекту, призначене для для відображення інформації про складові елементи (компоненти) проекту:- файли опису пристрою,- використані в проекті бібліотеки,- допоміжні файли проекту, до яких належать макроси та скрипт-файли, файли результатів симуляції роботи пристрою, допоміжні текстові файли,- структуру проекту,
- сигнали та змінні, декларовані в проекті.
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_trg is
port (R: in std_logic; S: in std_logic;
Q: out std_logic; NQ: out std_logic);
end entity;
architecture RS_trg of RS_trg 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 та освоїв принципи роботи в ньому; освоїв структуру VHDL-проекту, здобув навички роботи із засобами управління проектом; отримав базові навички по проектуванню ПЛІС за допомогою пакету Active-HDL