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

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

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

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

Рік:
2019
Тип роботи:
Лабораторна робота
Предмет:
Комп’ютерні методи аналізу та проектування електронних засобів
Група:
КББІ
Варіант:
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:32

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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