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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”  СТВОРЕННЯ БІБЛІОТЕК І ПАКЕТІВ У VHDL ПРОЕКТАХ. АРХІТЕКТУРА ПРОЕКТУ НА МОВІ VHDL В СТРУКТУРНІЙ ФОРМІ. МЕТОДИЧНІ ВКАЗІВКИ до лабораторної роботи № 3 з курсу «Комп’ютерні методи аналізу та проектування електронних засобів» для студентів спеціальностей: 8.17010201 “Системи технічного захисту інформації, автоматизація її обробки”, 8.17010302 “Адміністративний менеджмент у сфері захисту інформації”, 8.17010301 “Управління інформаційною безпекою”, 7.17010201 “Системи технічного захисту інформації, автоматизація її обробки”, 7.17010302 “Адміністративний менеджмент у сфері захисту інформації”. Затверджено на засiданнi кафедри “Захист інформації” Протокол № ___ від __ ________ 2012 р. м. Львів 2012 Створення бібліотек і пакетів у VHDL проектах. Архітектура проекту на мові VHDL в структурній формі. Інструкція до лабораторної роботи № 3 з курсу “ Комп’ютерні методи аналізу та проектування електронних засобів.” для студентів спеціальностей 8.17010201 “Системи технічного захисту інформації, автоматизація її обробки”, 8.17010302 “Адміністративний менеджмент у сфері захисту інформації”, 8.17010301 “Управління інформаційною безпекою”, 7.17010201 “Системи технічного захисту інформації, автоматизація її обробки”, 7.17010302 “Адміністративний менеджмент у сфері захисту інформації” / Укл.: Горпенюк А.Я., Луковський Т.І., Будз Б.Д. – Львів: НУЛП, 2012.- 8 с. Укладачі: к.т.н, доцент, Горпенюк Андрій Ярославович, к.т.н., зав. лаб. Луковський Тарас Ігорович, асистент Будз Богдан Дмитрович. Відповідальний за випуск: д.т.н., доцент Пархуць Любомир Теодорович. Рецензенти: к.т.н., доц. Гаранюк Петро Ігорович, к.т.н., доц. Совин Ярослав Романович. Мета роботи: - Ознайомитись з принципом створення бібліотек і пакетів в проектах VHDL. Реалізація комбінаційної логічної схеми з одним виходом в структурній формі проекту на мові VHDL. 1. ТЕОРЕТИЧНІ ВІДОМОСТІ 1.1. Бібліотеки і пакети в проекті VHDL. Бібліотека (library) у VHDL – це щось на зразок каталогу, в якому компілятор отримує необхідну інформацію, що використовується в проекті, яка відсутня в явному вигляді в самому проекті. Як пакет (package) – компілятори VHDL використовують бібліотечні файли або модулі, які містять оголошення об’єктів, які найчастіше використовуються: типів даних, компонентів, сигналів, процедур і функцій, тощо. Використання пакетів дозволяє дані об’єкти багаторазово використовувати в різних VHDL проектах. Наприклад, тип даних std_logic визначений в пакеті ieee.std_logic_1164, який входить в бібліотеку ieee. Тому, щоб в проекті VHDL використовувати тип std_logic, необхідно підключити до проекту відповідні бібліотеку і пакет. Ці операції виконуються на початку VHDL проекту за допомогою ключових слів library і use відповідно: library ieee; use ieee.std_logic_1164.all; Розширення .all означає, що в проекті можна використовувати описи всіх об’єктів, які містяться в пакеті ieee.std_logic_1164. Більшість САПР VHDL підтримують роботу з бібліотекою ieee, до складу якої входять наступні пакети: std_logic_1164. Містить визначення основних типів даних; std_logic_arith. Містить арифметичні функції, функції перетворення і порівняння; std_logic_misc. Містить визначення допоміжних типів даних, а також підтипів, констант і функцій, які використовуються пакетом std_logic_1164. Щоб задіяти будь-який з цих пакетів, потрібно включити в склад проекту оператори оголошення необхідних бібліотек і пакетів виду library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_misc.all; Розробниц цифрового пристрою може створити і згодом підключити до проекту власний пакет. Оголошення пакету повинно мати наступний синтаксис: --Інтерфейс пакету. package ім’я_пакету is оголошення_пакету end package ім’я_пакету; --Тіло пакету package body ім’я_пакету is оператори_оголошень_пакету end package body ім’я_пакету; Наприклад, базові логічні функції AND2, OR2 і ін. необхідно попередньо визначити як компоненти, перед тим як їх можна буде використовувати в цій якості в проекті що розробляється. Визначити базові логічні функції в якості компонентів можна, наприклад, в пакеті з іменем basic_func таким чином: --Інтерфейс пакету. library ieee; use ieee.std_logic_1164.all; package basic_func is --оголошення AND2 component AND2 port(in1, in2: in std_logic; out1: out std_logic); end comonent; --оголошення OR2 component OR2 port(in1, in2: in std_logic; out1: out std_logic); end comonent; end package basic_func; --Тіло пакету. library ieee; use ieee.std_logic_1164.all; package body basic_func is --AND2 entity AND2 is port(in1, in2: in std_logic; out1: out std_logic); end AND2; architecture model_AND2 of AND2 is begin out1<= in1 and in2; end model_AND2; --OR2 entity OR2 is port(in1, in2: in std_logic; out1: out std_logic); end OR2; architecture model_OR2 of OR2 is begin out1<= in1 or in2; end model_OR2; end package body basic_func; Створений пакет повинен бути відкомпільований і розміщений в користувацьку бібліотеку. Таку бібліотеку можна назвати як my_func. Щоб використовувати компоненти з користувацької бібліотеки my_func, в проекті необхідно підключити цю бібліотеку my_func і пакет basic_func за допомогою операторів наступного виду: library ieee, my_func; use ieee.std_logic_1164.all, my_func.basic_func.all; 1.2. Архітектура проекту в структурній формі Проект, показаний в попередній лабораторній (рис. 1), можна також створити, використовуючи структурну форму архітектури, яка зводиться до опису проекту через набір логічних елементів або компонентів і зв’язків між їхніми входами і виходами. Приклад такого опису має наступний вигляд: architecture struct of SIREN is -- Оголошення компонентів component AND2 port (in1,in2: in std_logic; out1: out std_logic); end component; component OR2 port (in1,in2: in std_logic; out1: out std_logic); end component; component NOT1 port (in1: in std_logic; out1: out std_logic); end component; -- Оголошення сигналів, які зв’язують компоненти signal my_in1_not, my_in3_not, x1, x2: std_logic; begin --Оператори реалізації компонентів U0: NOT1 port map (my_in1, my_in1_not); U1: NOT1 port map (my_in3, my_in3_not); U2: AND2 port map (my_in2, my_in1_not, x1); U3: AND2 port map (my_in2, my_in3_not, x2); U4: OR2 port map (x1, x2, my_out1); end struct; Якщо архітектура проекту має структурну форму, після заголовку архітектури розташовуються оголошення компонентів, які передбачається використовувати в проекті. В наведеному вище прикладі проекту SIREN використані два двовходових логічних елементи AND, один двовходовий елемент OR і інвертор. Ці компоненти повинні бути визначені, тобто їх VHDL проекти повинні вже існувати. Всі VHDL проекти компонентів цифрових пристроїв також можуть бути збережені у вигляді одного пакету, доступ до якого можна отримати включивши оголошення бібліотек і пакетів в заголовок проекту (як описано в п. 1.1). Оголошення компонентів містять описи вхідних і вихідних портів. Після цього, необхідно визначити внутрішні зв’язки за допомогою оголошення іменованих сигналів. В нашому прикладі ці внутрішні сигнали називаються my_in1_not, my_in3_not, x1, x2. Зверніть увагу на те, що при оголошенні сигналу завжди необхідно вказувати його тип. При структурній формі в розділі виконавчих операторів архітектури проекту (тобто після begin) повинні розміщуватись оператори реалізації компонентів, а також оператори, які описують взаємозв’язок компонентів між собою. Кожен оператор реалізації створює новий рівень ієрархії і починається з ім’я екземпляру компонента що реалізується (наприклад, U0), після якого ставиться двокрапка, ідентифікатором самого компоненту і ключовим словом port map. Кажуть що оператор port map реалізує міжкомпонентні зв’язки конкретного екземпляру компонента що в ньому оголошується. Зокрема, в наведеному прикладі міжкомпонентні зв’язки екземпляру U0 компонента NOT1 визначені за допомогою позиційної (неявної) реалізації: внутрішній сигнал my_in1 відповідає входу in1 логічного компоненту NOT1, а внутрішній сигнал my_in1_not – виходу компонента NOT1. Так само для екземпляру U2: AND2 перші два сигнали (my_in2 і my_in1_not) відповідають виходам in1 і in2 компонента AND2 відповідно,а сигнал x1 –виходу my_out1 цього компоненту. Альтернативний метод визначення міжкомпонентних зв’язків полягає у використанні іменованої (явної) реалізації зв’язків між портами. У цьому випадку синтаксис оператора реалізації має наступний вигляд: екземпляр: компонент port map (порт1 => сигнал1, порт2 => сигнал2, ... портN => сигналN); U0: NOT1 port map (in1 => my_in1, out1 => my_in1_not); U1: NOT1 port map (in1 => my_in3, out1 => my_in3_not); U2: AND2 port map (in1 => my_in2, in2 => my_in1_not, out1 => x1); U3: AND2 port map (in1 => my_in2, in2 => my_in3_not, out1 => x2); U4: OR2 port map (in1 => x1, in2 => x2, my_out1); Зверніть увагу на те, що порядок, в якому ці оператори приведені в розділі виконуваних операторів архітектури проекту, не має ніякого значення і не впливає на кінцевий результат. 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

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