Ознайомлення з середовищем проектування Aldec Active-HDL, моделювання та синтез простої схеми

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
КН
Кафедра:
БІК

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

Рік:
2018
Тип роботи:
Лабораторна робота
Предмет:
Комп’ютерні методи аналізу та проектування електронних засобів
Група:
КББІ
Варіант:
13

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

Міністерство освіти і науки України Національний Університет “Львівська Політехніка” Кафедра безпеки інформаційних технологій  Лабораторна робота № 1 з дисципліни «Комп’ютерні методи аналізу та проектування електронних засобів» Ознайомлення з середовищем проектування Aldec Active-HDL, моделювання та синтез простої схеми Варіант 13 Мета роботи – вивчення підходу до створення комп’ютерних пристроїв в програмованих логічних інтегральних схемах з використанням технології проектування програмних моделей комп’ютерних пристроїв, ознайомлення з середовищем проектування програмних моделей комп’ютерних пристроїв Aldec Active-HDL і набуття навиків моделювання і функціональної симуляції простих електронних схем мовою VHDL у цьому середовищі. Короткі теоретичні відомості Назва мови VHDL є скороченням виразу «Very high speed integrated circuits Hardware Description Language», що можна перекласти як «мова опису апаратних засобів у високошвидісних інтегральних схемах». На даний час діє стандарт VHDL, який описаний в документі ІЕЕЕ 1076-2008 що є промисловим стандартом, який широко використовується для опису роботи цифрових систем. Незважаючи на те, що мова VHDL нагадує мови програмування, вона має ряд важливих відмінностей, а саме: програмні моделі комп’ютерних пристроїв, створені за допомогою мови VHDL, мають, як правило, ієрархічну структуру; специфікації модулів VHDL-проектів можуть використовувати або математичні алгоритми, які описують їх роботу, або опис апаратної структури. В залежності від цього, опис модуля може мати поведінкову або структурну форму; моделювання алгоритму роботи пристрою базується на принципі управління за подіями; VHDL дозволяє виконувати моделювання паралельних процесів в електричних схемах цифрових пристроїв, здійснювати часовий аналіз сигналів і їх параметрів; VHDL підтримується рядом інструментальних засобів і систем автоматизованого проектування (САПР), які можуть створювати надвеликі інтегральні схеми (НВІС) шляхом синтезу програмних моделей комп’ютерних пристроїв, представлених на цій мові, в програмовних логічних інтегральних схемах; використовуючи VHDL, можна проектувати, моделювати і синтезувати в програмовних логічних інтегральних схемах практично будь-який комп’ютерний пристрій, від простої комбінаційної схеми до завершеної мікропроцесорної системи на НВІС. Інтерфейс описує входи і виходи пристрою. Архітектура описує будову пристрою. Архітектура може описувати будову пристрою на трьох рівнях: Поведінковому, коли описується алгоритм роботи пристрою. Структурному, коли описується структура пристрою на рівні його компонентів, які не є компонентами найнижчого рівня ієрархії, тобто містять вкладені компоненти. Міжрегістрових передач, коли описується структура пристрою на рівні елементів цифрової комп’ютерної схемотехніки – регістрів, мультиплекcорів, демультиплекcорів, шифраторів, дешифраторів, суматорів, логічних елементів тощо. Поведінковий рівень та рівень міжрегістрових передач використовують для опису пристрою та його компонентів на найнижчому рівні ієрархії, а структурний – для опису на вищих рівнях ієрархії, інтегруючи набір компонентів в один пристрій та описуючи зв’язки між компонентами. Оператори мови поділяються на послідовні і паралельні. Паралельні оператори вводяться для того, щоб відобразити паралельність обчислювальних процесів, що виконуються всередині пристрою. Складні паралельні оператори можна описати у вигляді процесу. Процеси виконуються паралельно, а оператори всередині процесів – послідовно. За допомогою процесів описують елементи схеми, які можуть працювати одночасно. Кожен паралельний оператор можна вважати процесом. Сигнали пов'язують між собою процеси. Вони є зовнішніми по відношенню до процесу, тобто процес може зчитувати сигнал і виводити значення в сигнал. Тому сигнали можна оголошувати тільки в області декларацій архітектури. Так само сигнали можуть зберігати значення, які необхідно передавати від одного процесу до іншого. Змінні використовуються всередині паралельного оператора процесу і виконують в ньому функції сигналів. Вони не передають інформацію від одного процесу до іншого. Атрибути – це значення (характеристики), пов'язані з будь-якими об'єктами мови, наприклад типами, сигналами, змінними і т.д. Типи об'єктів описують множини значень, які можуть приймати об'єкти (сигнали, змінні), деякі загальні характеристики об’єктів, а також набори операцій, які можуть виконуватися над об'єктами. Пакети – структури, в яких зберігаються декларативні описи різних функцій, процедур, компонентів, типів, констант і т.п. Бібліотеки – набори пакетів, які підключаються до проектів. Завдання Ознайомитись з підходом до створення комп’ютерних пристроїв в програмовних логічних інтегральних схемах з використанням технології проектування програмних моделей комп’ютерних пристроїв. Ознайомитись з основами проектування на мові VHDL і моделювання цифрових комп’ютерних пристроїв та їх елементів в САПР Active-HDL. Вибрати варіант завдання згідно списку в журналі викладача. Розробити і відкомпілювати в середовищі проектування Aldec Active-HDL програмну модель на мові VHDL заданої варіантом цифрової схеми. Виконати функціональну симуляцію програмної моделі цифрової схеми і навести отримані часові діаграми. Здійснити тестування програмної моделі цифрової схеми з використанням макрокоманд. / Код програми та часові діаграми роботи схеми library IEEE; use IEEE.STD_LOGIC_1164.all; entity lab1 is port( s_inA : in STD_LOGIC_VECTOR(0 to 3); s_inB : in STD_LOGIC_VECTOR(0 to 3); s_p0 : in STD_LOGIC_VECTOR(0 to 3); CLK : in STD_LOGIC; RES : in STD_LOGIC; s_outQ : out STD_LOGIC_VECTOR(0 to 3) ); end lab1; architecture lab1 of lab1 is signal s_comp : std_logic_vector(0 to 2); signal s_comp_add, s_sm, s_pi : STD_LOGIC_VECTOR(0 to 3); signal tmp_jk : std_logic; signal tmp_cp : integer; begin CP: process(tmp_cp) begin if (s_inA(0) > s_inB(0)) OR ((s_inA(0) = s_inB(0)) AND (s_inA(1) > s_inB(1))) OR ((s_inA(0) = s_inB(0)) AND (s_inA(1) = s_inB(1)) AND (s_inA(0) > s_inB(0))) OR ((s_inA(0) = s_inB(0)) AND (s_inA(1) = s_inB(1)) AND (s_inA(2) = s_inB(2)) AND (s_inA(3) > s_inB(3))) then tmp_cp <= 2; elsif (s_inA(0) = s_inB(0)) OR ((s_inA(0) = s_inB(0)) AND (s_inA(1) = s_inB(1))) OR ((s_inA(0) = s_inB(0)) AND (s_inA(1) = s_inB(1)) AND (s_inA(0) = s_inB(0))) OR ((s_inA(0) = s_inB(0)) AND (s_inA(1) = s_inB(1)) AND (s_inA(2) = s_inB(2)) AND (s_inA(3) = s_inB(3))) then tmp_cp <= 1; elsif (s_inA(0) < s_inB(0)) OR ((s_inA(0) = s_inB(0)) AND (s_inA(1) < s_inB(1))) OR ((s_inA(0) = s_inB(0)) AND (s_inA(1) = s_inB(1)) AND (s_inA(0) < s_inB(0))) OR ((s_inA(0) = s_inB(0)) AND (s_inA(1) = s_inB(1)) AND (s_inA(2) = s_inB(2)) AND (s_inA(3) < s_inB(3))) then tmp_cp <= 0; end if; case (tmp_cp) is when 2 => s_comp <= "001"; when 1 => s_comp <= "010"; when 0 => s_comp <= "100"; when others => s_comp <= (others => '0'); end case; end process CP; s_comp_add <= '0'&s_comp; SM: process(s_inA, s_comp_add, s_pi, s_sm) begin for i in 0 to 3 loop s_sm(i) <= s_p0(i) XOR s_inA(i) XOR s_comp_add(i); s_pi(i) <= s_inA(i) AND s_comp_add(i) AND s_p0(i) AND (s_inA(i) XOR s_comp_add(i)); end loop; end process SM; process (tmp_jk, res) begin if RES = '1' then tmp_jk <= '1'; elsif RES = '0' then tmp_jk <= '0'; end if; end process; RG: process(s_sm, s_pi, clk) begin if Clk'event and Clk = '1' then -- rising clock edge for k in 0 to 3 loop if (s_sm(k) = '1') and (s_pi(k) = '0') then s_outQ(k) <= '1'; elsif (s_sm(k) = '0') and (s_pi(k) = '1') then s_outQ(k) <= '0'; elsif ((s_sm(k) = '1') and (s_pi(k) = '1')) or ((s_sm(k) = '0') and (s_pi(k) = '0')) then s_outQ(k) <= NOT tmp_jk; end if; end loop; end if; end process RG; end lab1; / Рис. 1. Результат функціональної симуляції заданої схеми. Використання макромови Active-HDL ASIM lab1 lab1 WAVE -in s_inA WAVE -in s_inA(0) WAVE -in s_inA(1) WAVE -in s_inA(2) WAVE -in s_inA(3) WAVE -in s_inB WAVE -in s_inB(0) WAVE -in s_inB(1) WAVE -in s_inB(2) WAVE -in s_inB(3) WAVE -in s_p0 WAVE -in s_p0(0) WAVE -in s_p0(1) WAVE -in s_p0(2) WAVE -in s_p0(3) WAVE -in CLK WAVE -in RES WAVE -out s_outQ WAVE -out s_outQ(0) WAVE -out s_outQ(1) WAVE -out s_outQ(2) WAVE -out s_outQ(3) FORCE -freeze s_inA(0) 1 0 ns, 0 50 ns, 1 100 ns, 0 150 ns, 1 200 ns, 0 250 ns, 1 300 ns, 0 350 ns FORCE -freeze s_inA(1) 0 0 ns, 1 50 ns, 0 100 ns, 1 150 ns, 0 200 ns, 1 250 ns, 0 300 ns, 1 350 ns FORCE -freeze s_inA(2) 0 0 ns, 0 50 ns, 1 100 ns, 1 150 ns, 0 200 ns, 0 250 ns, 1 300 ns, 1 350 ns FORCE -freeze s_inA(3) 1 0 ns, 0 50 ns, 1 100 ns, 0 150 ns, 1 200 ns, 0 250 ns, 1 300 ns, 0 350 ns FORCE -freeze s_inB(0) 0 0 ns, 1 50 ns, 0 100 ns, 1 150 ns, 0 200 ns, 1 250 ns, 0 300 ns, 1 350 ns FORCE -freeze s_inB(1) 0 0 ns, 0 50 ns, 1 100 ns, 1 150 ns, 0 200 ns, 0 250 ns, 1 300 ns, 1 350 ns FORCE -freeze s_inB(2) 1 0 ns, 0 50 ns, 1 100 ns, 0 150 ns, 1 200 ns, 0 250 ns, 1 300 ns, 0 350 ns FORCE -freeze s_inB(3) 0 0 ns, 1 50 ns, 0 100 ns, 1 150 ns, 0 200 ns, 1 250 ns, 0 300 ns, 1 350 ns FORCE -freeze s_p0(0) 0 0 ns, 0 50 ns, 1 100 ns, 1 150 ns, 0 200 ns, 0 250 ns, 1 300 ns, 1 350 ns FORCE -freeze s_p0(1) 1 0 ns, 0 50 ns, 1 100 ns, 0 150 ns, 1 200 ns, 0 250 ns, 1 300 ns, 0 350 ns FORCE -freeze s_p0(2) 0 0 ns, 1 50 ns, 0 100 ns, 1 150 ns, 0 200 ns, 1 250 ns, 0 300 ns, 1 350 ns FORCE -freeze s_p0(3) 0 0 ns, 0 50 ns, 1 100 ns, 1 150 ns, 0 200 ns, 0 250 ns, 1 300 ns, 1 350 ns FORCE -freeze CLK 0 0 ns, 1 50 ns, 0 100 ns, 1 150 ns, 0 200 ns FORCE -freeze RES 0 0 ns, 1 150 ns, 0 200 ns RUN 400 ns / Рис. 2. Результат функціональної симуляції за допомогою макрокоманд. Висновки У ході цієї лабораторної роботи було вивчено підходи до створення комп’ютерних пристроїв у програмованих логічних інтегральних схемах з використанням технології проектування програмних моделей комп’ютерних пристроїв. Також ми ознайомилися із середовищем проектування програмних моделей комп’ютерних пристроїв Aldec Active-HDL і набули навиків моделювання і функціональної симуляції простих електронних схем мовою VHDL у цьому середовищі.
Антиботан аватар за замовчуванням

22.11.2019 12:11-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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