Моделювання режиму очікування в цифрових пристроях за допомогою оператора wait

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

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

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

Рік:
2011
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Моделювання
Група:
КІ-22

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

Міністерство Освіти і Науки Національний Університет «Львівська політехніка» кафедра ЕОМ Звіт про виконання лабораторної роботи №4 з предмету «Моделювання комп’ютерних систем» на тему : «Моделювання режиму очікування в цифрових пристроях за допомогою оператора wait» Мета роботи: отримати практичні навички застосування оператора wait при моделюванні різних режимів очікування у Active-HDL. Навчитися виконувати порівняння часових діаграм. Основні види застосування оператора wait. Тип оператора wait Опис Приклади  wait for tyme_expression Припиняє процес на визначений час; Час може бути заданий безпосередньо, або як вираз, результатом якого є значення часу. Використовуються в основному для моделювання на випробувальних стендах. wait for 10 ns; wait for ClkPeriod / 2;  wait until condition Припиняє процес доти, доки задана умова не стане істинною завдяки зміні будь-якого сигналу, що містяться в умові. При цьому, якщо сигнал не змінюється, wait until не поновить процес, навіть якщо сигнал задовільняє умову. wait until CLK='1'; wait until CE and (not RST); wait until IntData > 16;  wait on sensitivity_list Припиняє процес доти, доки не відбудеться подія з будь-яким з сигналів, вказаних в списку чутливості. Іншими словами, процес поновлюється тільки тоді, коли зміниться значення хоча б одного сигналу з списку чутливості. wait on CLK; wait on Enable, Data;  складний wait Містить комбінацію двох або трьох різних форм оператора wait. wait on Data until CLK='1'; wait until Clk='1' for 10 ns;   Варіант базового коду : library IEEE; use IEEE.STD_LOGIC_1164.all; entity lab4Int is port( CLK : in STD_LOGIC; AinOut : inout STD_LOGIC; Bout : out STD_LOGIC ); end lab4Int; architecture lab4Arch of lab4Int is signal CLK : std_logic :='0'; begin Pr_CLK :process begin -- формування сигналу CLK end process Pr_CLK; Pr_A: process(CLK) begin if CLK'event and CLK ='1' then Ainout<='1' after 5 ns; elsif CLK'event and CLK='0' then Ainout<='0' after 5 ns; end if; end process Pr_A; Pr_B: process (AinOut) begin if Ainout'event then Bout<= not Ainout; end if; end process Pr_B; end lab4Arch; Результат моделювання для базового коду на рис.№1 / Рис.№1 Варіант коду із застосуванням оператора wait : library IEEE; use IEEE.STD_LOGIC_1164.all; entity lab4Int is port( --CLK : in STD_LOGIC; AinOut : inout STD_LOGIC; Bout : out STD_LOGIC ); end lab4Int; --}} End of automatically maintained section architecture lab4Arch of lab4Int is signal CLK : std_logic :='0'; begin Pr_CLK :process begin CLK <= Not (CLK); wait for 10ns; -- формування сигналу CLK end process Pr_CLK; Pr_A: process begin wait on CLK ; if CLK'event and CLK ='1' then Ainout<='1' after 5 ns; elsif CLK'event and CLK='0' then Ainout<='0' after 5 ns; end if; end process Pr_A; Pr_B: process begin wait until CLK = '1' ; if Ainout'event then Bout<= not Ainout; end if; end process Pr_B; end lab4Arch; На рис.№2 результат виконання коду із застосування оператора wait: / Рис.№2 Результат порівняння зображений на рис.№3 / Рис.№3 В цьому випадку сигнали є інверсія один одного. Якщо змінити в рядку signal CLK : std_logic :='0' , початкове значення сигналу CLK на ‘1’ тоді сигнали будуть ідентичні. Після виконання змін (додавання в коді рядка wait for 30ns)у нас часова діаграма виглядає так, як на рис. №5 / рис.№5 Після зміни затримки на 20нс, і порівнянь з попередньою діаграму, середовище видає повідомлення, що нема ніяких відмін. Висновок : ми ознайомились з оператором wait, і використали його для різних режимів очікування.
Антиботан аватар за замовчуванням

25.11.2012 18:11-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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