Використання блок-діаграм для декомпозиції складних пристроїв в САПР Active-HDL

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра електронні обчислювальні машини

Інформація про роботу

Рік:
2013
Тип роботи:
Лабораторна робота
Предмет:
Моделювання систем

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет “Львівська політехніка” Кафедра «Електронні обчислювальні машини» Лабораторна робота №8 Використання блок-діаграм для декомпозиції складних пристроїв в САПР Active-HDL Мета роботи: Навчитися використовувати блок-діаграми (Block Diagrams) для декомпозиції складних об'єктів на структурні складові. Отримати навички застосування констант generic для проектування структурних елементів. Розробити модель 8-розрядного 7-сегментного індикатора. Теоретична частина Постановка задачі Створити блок - генератор сигналів для 8-розрядного 7-сегментного індикатора. Декодер розряду індикатора та паралельний регістр (моделі яких було розроблено в лабораторних роботах №2 і №5) мають входити до проекту як структурні складові. Інтерфейс генератора сигналів містить: вхідний 32-розрядний порт Х типу std_logic_vector (31 downto 0), на який у двійково-десятковій формі подається 8-розрядне десяткове число (на кожний десятковий розряд по 4 двійкові розряди); вхідний порт WE типу std_logic, подання '1' на який дозволяє запис у проміжний регістр блоку; сигнал синхронізації CLK типу std_logic, вісім 7-розрядних вихідних портів LCD7 … LCD0 типу std_logic_vector (6 downto 0), що підключаються безпосередньо до відповідних розрядів 7-сегментного індикатора. Порядок виконання роботи: Створити новий порожній проект в Active-HDL. Додати до проекту файл з описом декодера розряду 7-сегментного індикатора (розробленого в лабораторній роботі №2), для чого в менеджері проекту вибрати команду Add New File, і потім у діалоговому вікні - Add Existing File (додати існуючий файл), після чого вибрати необхідний файл. Додати до проекту файл з описом паралельного регістра (розробленого в лабораторній роботі №5). Введенням узагальнення generic до 8-розрядного регістру перетворити його на універсальний регістр. Додати до проекту новий файл - блок-діаграму (Add New File -> Block Diagram). Додати до діаграми вхідні та вихідні порти (за допомогою відповідної кнопки на панелі інструментів). В робочій області створити схему блоку  Промоделювати роботу структурних складових та блоку в цілому (шляхом переключення Top Level на панелі Менеджера Проекту). Проаналізувати отримані часові діаграми роботи розробленого пристрою та зробити висновки про його адекватність поставленому завданню. Зконвертувати розроблену діаграму у VHDL-код, проаналізувати текст опису. Код моделі: library IEEE; use IEEE.std_logic_1164.all; entity Indecator is port( CLK : in STD_LOGIC; WE : in STD_LOGIC; X : in STD_LOGIC_VECTOR(31 downto 0); LCD0 : out STD_LOGIC_VECTOR(6 downto 0); LCD1 : out STD_LOGIC_VECTOR(6 downto 0); LCD2 : out STD_LOGIC_VECTOR(6 downto 0); LCD3 : out STD_LOGIC_VECTOR(6 downto 0); LCD4 : out STD_LOGIC_VECTOR(6 downto 0); LCD5 : out STD_LOGIC_VECTOR(6 downto 0); LCD6 : out STD_LOGIC_VECTOR(6 downto 0); LCD7 : out STD_LOGIC_VECTOR(6 downto 0) ); end Indecator; architecture Indecator of Indecator is ---- Component declarations ----- component Decoder port ( X : in STD_LOGIC_VECTOR(3 downto 0); Y : out STD_LOGIC_VECTOR(6 downto 0) ); end component; component DeMux port ( CLK : in STD_LOGIC; X : in STD_LOGIC_VECTOR(31 downto 0); Y0 : out STD_LOGIC_VECTOR(3 downto 0); Y1 : out STD_LOGIC_VECTOR(3 downto 0); Y2 : out STD_LOGIC_VECTOR(3 downto 0); Y3 : out STD_LOGIC_VECTOR(3 downto 0); Y4 : out STD_LOGIC_VECTOR(3 downto 0); Y5 : out STD_LOGIC_VECTOR(3 downto 0); Y6 : out STD_LOGIC_VECTOR(3 downto 0); Y7 : out STD_LOGIC_VECTOR(3 downto 0) ); end component; component register_p port ( CLK : in STD_LOGIC; Din : in STD_LOGIC_VECTOR(31 downto 0); WE : in STD_LOGIC; Dout : out STD_LOGIC_VECTOR(31 downto 0) ); end component; ---- Signal declarations used on the diagram ---- signal BUS232 : STD_LOGIC_VECTOR (31 downto 0); signal BUS377 : STD_LOGIC_VECTOR (3 downto 0); signal BUS418 : STD_LOGIC_VECTOR (3 downto 0); signal BUS433 : STD_LOGIC_VECTOR (3 downto 0); signal BUS446 : STD_LOGIC_VECTOR (3 downto 0); signal BUS461 : STD_LOGIC_VECTOR (3 downto 0); signal BUS481 : STD_LOGIC_VECTOR (3 downto 0); signal BUS489 : STD_LOGIC_VECTOR (3 downto 0); signal BUS497 : STD_LOGIC_VECTOR (3 downto 0); begin ---- Component instantiations ---- U1 : register_p port map( CLK => CLK, Din => X, Dout => BUS232, WE => WE ); U2 : DeMux port map( CLK => CLK, X => BUS232, Y0 => BUS497, Y1 => BUS489, Y2 => BUS481, Y3 => BUS461, Y4 => BUS446, Y5 => BUS433, Y6 => BUS418, Y7 => BUS377 ); U20 : Decoder port map( X => BUS497, Y => LCD0 ); U3 : Decoder port map( X => BUS377, Y => LCD7 ); U4 : Decoder port map( X => BUS418, Y => LCD6 ); U5 : Decoder port map( X => BUS433, Y => LCD5 ); U6 : Decoder port map( X => BUS446, Y => LCD4 ); U7 : Decoder port map( X => BUS489, Y => LCD1 ); U8 : Decoder port map( X => BUS461, Y => LCD3 ); U9 : Decoder port map( X => BUS481, Y => LCD2 ); end Indecator; Результати моделювання у вигляді часових діаграм:  Висновки: Я навчився використовувати блок-діаграми (Block Diagrams) для декомпозиції складних об'єктів на структурні складові.Я отримав навички застосування констант generic для проектування структурних елементів. Я розробив модель 8-розрядного 7-сегментного індикатора
Антиботан аватар за замовчуванням

05.01.2013 17:36

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!