Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра електронних
обчислювальних машин
Звіт
про виконання лабораторної роботи № 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
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!