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

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

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

Рік:
2012
Тип роботи:
Методичні вказівки до лабораторної роботи
Предмет:
Менеджмент

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”  ПОВЕДІНКОВА ФОРМА ПРОЕКТА НА МОВІ VHDL. ЯВНО ЗАДАНИЙ ОПЕРАТОР PROCESS. МЕТОДИЧНІ ВКАЗІВКИ до лабораторної роботи № 4 з курсу «Комп’ютерні методи аналізу та проектування електронних засобів» для студентів спеціальностей: 8.17010201 “Системи технічного захисту інформації, автоматизація її обробки”, 8.17010302 “Адміністративний менеджмент у сфері захисту інформації”, 8.17010301 “Управління інформаційною безпекою”, 7.17010201 “Системи технічного захисту інформації, автоматизація її обробки”, 7.17010302 “Адміністративний менеджмент у сфері захисту інформації”. Затверджено на засiданнi кафедри “Захист інформації” Протокол № ___ від __ ________ 2012 р. м. Львів 2012 Поведінкова форма проекту на мові VHDL. Явно заданий оператор Process. Інструкція до лабораторної роботи № 4 з курсу “ Комп’ютерні методи аналізу та проектування електронних засобів.” для студентів спеціальностей 8.17010201 “Системи технічного захисту інформації, автоматизація її обробки”, 8.17010302 “Адміністративний менеджмент у сфері захисту інформації”, 8.17010301 “Управління інформаційною безпекою”, 7.17010201 “Системи технічного захисту інформації, автоматизація її обробки”, 7.17010302 “Адміністративний менеджмент у сфері захисту інформації” / Укл.: Горпенюк А.Я., Луковський Т.І., Будз Б.Д. – Львів: НУЛП, 2012.- 9 с. Укладачі: к.т.н, доцент, Горпенюк Андрій Ярославович, к.т.н., зав. лаб. Луковський Тарас Ігорович, асистент Будз Богдан Дмитрович. Відповідальний за випуск: д.т.н., доцент Пархуць Любомир Теодорович. Рецензенти: к.т.н., доц. Гаранюк Петро Ігорович, к.т.н., доц. Совин Ярослав Романович. Мета роботи: - Ознайомитись з синтаксисом явно заданого оператора process. Реалізація тригерів за допомогою оператора умовної передачі керування if. 1. ТЕОРЕТИЧНІ ВІДОМОСТІ 1.1. Явно заданий оператор PROCESS. Явно заданий оператор process – це основна конструкція для поведінкової форми опису проектів, яка дозволяє використовувати в його тілі послідовні оператори мови для опису поведінки цифрового пристрою що проектується регістрового типу на деякому часовому інтервалі. В мові VHDL розрізняють два підкласи явно заданого оператора process: явно заданий оператор process() зі списком чутливості; явно заданий оператор process без списку чутливості. Синтаксис явно заданого оператора process() має наступний вигляд: [мітка_процесу:] process [(список_чутливості)] [is] [оператори_оголошень_процесу] –-Розділ оголошень. begin -- Розділ виконуваних операторів. --В цьому розділі розміщуються оператори наступних типів: -- присвоєння значень змінним; -- виклику процедур; -- оператори case; -- оператори exit; -- оператори if; -- оператори loop; -- оператори next; -- оператори null; -- оператори wait; end process [мітка_тому]; Розглянемо приклад використання оператора process в проекті D-тригера з асинхронним скидом, який перемикається за переднім фронтом синхроімпульсу CLK. library ieee; use ieee.std_logic_1164.all; entity DT_clear is port(CLK, CLEAR, D: in std_logic; Q: out std_logic); end DT_clear; architecture BEHAV of DT_clear is begin process(CLK, CLEAR) begin if(CLEAR = ‘1’) then Q <= ‘0’; elsif(CLK’event and CLK = ‘1’) then Q <= D; end if; end process; end BEHAV; Сам явно заданий оператор process розташований в розділі виконуваних операторів паралельної обробки, оскільки відноситься до операторів відповідного класу. Однак оператори, які розміщені всередині оператора process, виконуються послідовно. Як і інші оператори паралельної обробки, оператор process може зчитувати значення сигналів на вихідних портах інтерфейсу, а також взаємодіяти з іншими об'єктами архітектури проекту. Вираз CLK’event and CLK = ‘1’ перевіряє наявність переднього фронту сигналу CLK. Список чутливості, який може використовуватись в оголошенні явного оператора process, – це набір сигналів, зміна значень яких призводить до негайного виконання оператора process. Оператор process без списку чутливості завжди запускається на виконання автоматично в момент початку процесу моделювання роботи проекту. Змінні і константи, які використовуються в тілі оператора process, повинні бути визначені в розділі оголошення оператора, тобто перед ключовим словом begin. Ключове слово begin повідомляє про початок виконуваної частини оператора process. Оператори, які можуть розташовуватись в цьому розділі, виконуються послідовно, у відповідності з алгоритмом проекту. Слід пам'ятати, що операція присвоєння значення змінної в тілі оператора process виконується миттєво і позначається символом ":=" і відрізняється від операції встановлення значення сигналу, яка позначається символом "<=", оскільки значення сигналу змінюється після заданого часу затримки. 1.2. Оператор умовної передачі керування Оператор if відноситься до сімейства послідовних операторів, які розміщуються в розділі виконуваних операторів явно заданого оператора process. Цей оператор відповідальний за виконання того чи іншого блоку послідовних операторів, які розміщені в його тілі. Вибір для виконання конкретного блоку залежить від істинності одної або декількох умов. Синтаксис оператора if має наступний вигляд: if умова1 then блок_операторів1; [elsif умова2 then блок_операторів2;] . . . [else блок_операторів;] end if; Як бачимо із синтаксису, оператор if є складовим оператором, тобто від дозволяє розміщувати в його тілі нові оператори if або декілька дочірніх конструкцій elsif, при цьому, дочірня конструкція else може бути лише одна. Тіло оператора "закривається" словами end if. Кожна умова є логічним виразом, тобто виразом, значення якого маж тип boolean. При виконанні оператор if перевіряє кожну вкладену умову в тому порядку, як вони представлені в його тілі, допоки не буде знайдено першу умову із значенням true. Як тільки таку умову знайдено, виконання передається тому блоку послідовних операторів, який відповідає даній умові. Оператор if повинен розташовуватись в підрозділі виконуваних операторів оператора process. Оператор if може використовуватись для опису комбінаційних пристроїв. Наведемо приклад побудови однобітного чотириканального мультиплексора. library ieee; use ieee.std_logic_1164.all; entity MX_4 is port(S0, S1, A, B, C, D: in std_logic; Z: out std_logic); end MX_4; architecture BEHAV of MX_4 is begin P1: process(S1, S0, A, B, C, D) begin if((not S1 and not S0)='1') then Z <= A; if((not S1 and S0)='1') then Z <= B; if((S1 and not S0)='1') then Z <= C; else Z <= D; end if; end process P1; end BEHAV; 1.3. Оператор вибору CASE Оператор вибору case завжди виконує лише один блок послідовних операторів із декількох, які є в тілі оператора на основі значення задаючого виразу. Вибирається блок, у якого значення умови відповідає поточному значенню задаючого виразу. Оператор вибору case має наступний синтаксис: case задаючий_вираз is when значення_1 => блок_операторів1; when значення_2 => блок_операторів2; [when others => блок_операторів;] end case; Значення задаючого виразу повинно мати цілий або перечислювальний тип або бути одномірним масивом бітів. При виконанні оператор case порівнює поточне значення обчислюваного виразу з кожним вказаним в тілі оператора значенням. Коли значення які порівнюються тотожньо рівні, відбувається вибір відповідного блоку послідовних операторів. При написанні операторів case потрібно дотримуватись наступних правил: - в одному операторі неможна вказувати два блоки з одинаковими значеннями вибору; - якщо в операторі case відсутня конструкція when others, всі можливі значення задаючого виразу повинні бути представлені відповідними значеннями вибору. Наведемо приклад проекту мультиплексора, який розглядався вище, з використанням оператора case. library ieee; use ieee.std_logic_1164.all; entity MX_4 is port(SEL: : in std_logic_vector(2 downto 1); A, B, C, D: in std_logic; Z: out std_logic); end MX_4; architecture BEHAV of MX_4 is begin PR_MX: process(SEL, A, B, C, D) begin case SEL is when "00" => Z <= A; when "01" => Z <= B; when "10" => Z <= C; when "11" => Z <= D; when others => Z <= 'X'; end case; end process PR_MX; end BEHAV; 3. ЗАВДАННЯ 1. . Ознайомитись з процедурою створення і підключення в проект VHDL-файлу бібліотек і пакетів. 2. Ознайомитись з синтаксисом архітектури проекту в мові VHDL в структурній формі. 3. Створити пакет базових елементів, які використовуються для побудови комбінаційної схеми синтезованої в лабораторній роботі № 2. 3. Скласти і відкомпілювати програму на мові VHDL, яка моделює роботу синтезованої схеми в попередній лабораторній роботі у вигляді структурної форми архітектури проекту. 5. Промоделювати роботу даного пристрою в редакторі часових діаграм і отримати часові діаграми. 4. ЗМІСТ ЗВІТУ* 1. Назва і мета роботи. 2. Теоретичні відомості, необхідні для написання програми на мові VHDL які описують роботу розробленого блоку чи вузла (рівняння, структурні схеми, тощо.), згідно із завдання лабораторної роботи або вимог викладача. 3. Програма на мові VHDL, яка описує роботу розробленого блоку чи вузла. 4. Часові діаграми роботи пристрою. 5. Короткі висновки за результатами роботи. *Зразок оформлення звіту наведений в методичних рекомендаціях до лабораторної роботи № 1. Література 1. Бабак В.П., Корченко А.Г., Тимошенко Н.П., Филоненко С.Ф. VHDL: Справочное пособие по основам язика. – М.: Издательский дом «Додэка-ХХІ», 2008. – 224 с.:ил. 2. Максфлид К. Проектирование на ПЛИС. Курс молодого бойца. – М.: Издательский дом «Додэка-ХХІ», 2007. – 408 с. :ил. Навчальне видання СТВОРЕННЯ БІБЛІОТЕК І ПАКЕТІВ У VHDL ПРОЕКТАХ. АРХІТЕКТУРА ПРОЕКТУ НА МОВІ VHDL В СТРУКТУРНІЙ ФОРМІ. ІНСТРУКЦІЯ ДО ЛАБОРАТОРНОЇ РОБОТИ № 3 З КУРСУ “ КОМП’ЮТЕРНІ МЕТОДИ АНАЛІЗУ ТА ПРОЕКТУВАННЯ ЕЛЕКТРОННИХ ЗАСОБІВ” та студентів спеціальностей: 8.17010201 “Системи технічного захисту інформації, автоматизація її обробки”, 8.17010302 “Адміністративний менеджмент у сфері захисту інформації”, 8.17010301 “Управління інформаційною безпекою”, 7.17010201 “Системи технічного захисту інформації, автоматизація її обробки”, 7.17010302 “Адміністративний менеджмент у сфері захисту інформації”. Укладачі: к.т.н, доцент, Горпенюк Андрій Ярославович, к.т.н., зав. лаб. Луковський Тарас Ігорович, асистент Будз Богдан Дмитрович.
Антиботан аватар за замовчуванням

23.05.2013 19:05-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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