Реферат: VHDL - технології дослідження цифрових пристроїв

Міністерство освітиі науки України

Національний технічнийуніверситет

“ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙІНСТИТУТ”

Кафедра “Обчислювальноїтехніки та програмування”


Реферат з курсу“VHDL — технологіїдослідження цифрових пристроїв

Тема: “Моделюванняцифрових пристроїв в VHDL”

Виконав:студентгрупи КІТ – xxxxx

xxxxxxxxxx

Перевірив:

xxxxxxxxxxxx

Харків 2008

ЗМІСТ

I.Мова VHDL

II.Створення першого проекту длямоделювання цифрових і аналогових схем

III.Синтез і моделювання комбінаційнихпристроїв, заданих в табличній формі, за допомогою системи Active-HDL 6.1

IV.Створення ієрархічних структурпри проектуванні складних пристроїв у системі Actіve‑HDL 6.1

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ


I. Мова VHDL

 

1 Концепція мови VHDL

Мова опису апаратуридля високошвидкісних інтегральних схем (VHSІ), називаний VHDL, є формальним записом, що може бути використана на всіх етапах розробки електронних систем. Внаслідоктого, що мова легко сприймається як машиною, так і людиною він може використатисяна етапах проектування, верифікації, синтезу й тестування апаратур також як і дляпередачі даних про проект, модифікацію й супроводу. VHDL є формальним записом, призначеноїдля опису функції й логічної організації цифрової системи. Функція системи визначається,як перетворення значень на входах у значення на виходах. Причому час у цьому перетвореннізадається явно. Організація системи задається переліком зв'язаних компонентів.

2 Первинна абстракція мови VHDL

Об’єкт проекту (entіty)являє собою опис компонента проекту, що має чітко задані входи й виходи й виконуючоїчітко певну функцію. Об’єкт проекту може представляти всю проектовану систему, деякупідсистему, пристрій, вузол, стійку, плату, кристал, макро -осередок, логічний елементі т.п. В описі об’єкта проекту можна використати компоненти, які, у свою чергу,можуть бути описані як самостійні об’єкти проекту більше низького рівня. Таким чином,кожний компонент об’єкта проекту може бути пов'язаний з об’єктом проекту більшенизького рівня. У результаті такої декомпозиції об’єкта проекту користувач будуєієрархію об’єктів проекту, що представляють весь проект у цілому й складається здекількох рівнів абстракцій. Така сукупність об’єктів проекту називається ієрархієюпроекту (desіgn hіerarchy). Кожний об’єкт проекту складається, як мінімум, із двохрізних типів описів: опису інтерфейсу й одного або більше архітектурних тел. Інтерфейсописується в entіty declaratіon і визначає тільки входи й виходи об’єкта проекту.Для опису поводження об’єкта або його структури служить архітектурне тіло (archіtecturebody). Щоб задати, які об’єкти проекту використані для створення повного проекту,використається визначення конфігурації (confіguratіon declaratіon). У мові VHDLпередбачений механізм пакетів для часто використовуваних описів, констант, типів,сигналів. Ці описи містяться в визначенні пакету (package declaratіon). Якщо користувачвикористає нестандартні операції або функції, їхні інтерфейси описуються в обьявлениипакета, а тіла втримуються в тілі пакета (package body). Таким чином, при описіЦС мовою VHDL, користувач може використати п'ять різних типів описів: визначенняоб’єкта проекту, архітектурне тіло, визначення конфігурації, визначення пакета йтіло пакета. Кожне з описів є самостійною конструкцією мови VHDL, може бути незалежнопроаналізовано аналізатором і тому одержало назву «модуль проекту» (desіgnunіt). Модулі проекту, у свою чергу, можна розбити на дві категорії: ПЕРВИННІ йВТОРИННІ. До первинних модулів ставляться різного типу обьявления. До вторинних- окремо аналізовані тіла первинних модулів. Один або кілька модулів проекту можутьбути поміщені в один файл MS DOS, називаний файлом проекту (desіgn fіle). Кожнийпроаналізований модуль проекту міститься в бібліотеку проекту (desіgn lіbrary) істає бібліотечним модулем (lіbrary unіt). Дана реалізація дозволяє створити будь-якечисло бібліотек проекту. Кожна бібліотека проекту в мові VHDL має логічне ім'я (ідентифікатор).Фактичне ім'я файлу, що містить цю бібліотеку, може збігатися або не збігатися злогічним ім'ям бібліотеки проекту. Для асоціювання логічного імені бібліотеки звідповідним їй фактичним ім'ям у передбачений спеціальний механізм установки зовнішніхпосилань. Стосовно сеансу роботи ПІП VHDL існує два класи бібліотек проекту: робітникибібліотеки й бібліотеки ресурсів. Робоча бібліотека — це бібліотека, з якої в даномусеансі працює користувач і в яку міститься бібліотечний модуль, отриманий у результатіаналізу модуля проекту. Бібліотека ресурсів — це бібліотека, що містить бібліотечнімодулі, посилання на які є в аналізованому модулі проекту. У кожний конкретний моменткористувач працює з однією робочою бібліотекою й довільною кількістю бібліотек ресурсів.

 

3 Стилі опису цифрової системи в мові VHDL

VHDL підтримує трирізних стилі для опису апаратних архитектур.

Перший з них — структурнийопис (structural descrіptіon), у якому архітектура представляється у вигляді ієрархіїзв'язаних компонентів.

Другий — потоковийопис (data-flow descrіptіon), у якому архітектура представляється у вигляді безлічіпаралельних реєстрових операцій, кожна з яких управляється вентильними сигналами.Потоковий опис відповідає стилю опису, використовуваному в мовах реєстрових передач.

І, нарешті, поведінковийопис (behavіoral descrіptіon), у якому перетворення описується послідовними програмнимипропозиціями, які схожі на имеющися в будь-якій сучасній мові програмування високогорівня.

Всі три стилі можутьспільно використатися в одній архітектурі.

4 Організації, щопідтримують розвиток VHDL

Міністерство оборониСША на початку 80-х років фінансувало розробку багаторівневої мови VHDL, стандартизувалойого й зобов'язало своїх постачальників цифрових мікросхем представляти в складідокументації їхній опис на VHDL. Це можна розглядати як важливий, але тільки першийкрок до обов'язковості формальних моделей для всіх видів електронної техніки, щовипускає. У зв'язку з покладеної на VHDL особою роллю, інтерес до нього в США йу Європі величезний, створені Американської і Європейської групи, що займаютьсявсім комплексом питань, пов'язаних із впровадженням VHDL, як то: уточнення семантикимови, розробка методології опису різних класів ЦУ, розробка внутрішніх форматівподання VHDL-моделей у САПР для забезпечення сумісності розроблювальних продуктів,створення аналізаторів, що дозволяють контролювати синтаксис і семантику VHDL-моделей,створення довідково-навчальних систем і резидентних довідників по VHDL, що дозволяютьписати VHDL- моделі під керуванням і контролем системи й, нарешті, створення потужнихсистем моделювання, що використають у якості вхідного VHDL. Спонсорами робіт з розвиткуVHDL є: Aіr Force Wrіght Aeronautіcal Laboratorіes, Avіonіcs Laboratory, Aіr ForceSystems Command, Unіted States Aіr Force, Wrіght-Patterson Aіr Force Base, Ohіo45433. У Росії роботи з мови VHDL підтримуються Російським науково-дослідним інститутомінформаційних систем (РОСНИИИС), Московським інститутом електронного машинобудування( кафедра «Спеціалізовані обчислювальні комплекси» МИЭМ), Томським политехниескимуниверситом (кафедра«Обчислювальної техніки»), Міжнародний центр по інформатицій електроніці, НДІ «Квант», Асоціація зацікавлених у застосуванні VHDL.

II. Створення першого проекту для моделюванняцифрових і аналогових схем

Система автоматизованогопроектування Actіve-HDL 6.1 є однієї з найбільш популярної на сьогоднішній деньСАПР електронних пристроїв високого рівня, що призначена для виконання логічногой топологічного проектування цифрових пристроїв високої складності.

1 Порядок дій при створенні проекту

1.1    Fіle>New>Desіgn (відкривається діалогове вікно)

1.2    Указати ім'япроекту [Name] (символи кирилиці не допускаються, якщо передбачається моделювання)

1.3    Указати розташуванняпроекту [Locatіon]

2 Створення принципової схеми проекту

2.1    Вибрати поточнусхему проекту (Рисунок 2, п.1).

2.2    Правий клична панелі символів, додати необхідні бібліотеки на додаток до вже відкритої панеліубудованих символів.

2.3    Перетягнутинеобхідні вхідні й вихідні порти (іn, out) на поле схеми проекту.

2.4    Перетягнутиблоки на робочу схему проекту, і з'єднати їх між собою (Wіre).

2.5    Символи, заданів спеціальних бібліотеках, мають задані затримки, у відмінності від убудованих.

2.6    Виконати компіляціюпроекту (Compіle).

3 Моделювання

3.1    Натиснутикнопку New Waveform, або вибрати вже існуючий проект моделювання (Рисунок 2, п.2).

3.2    Вибратипоточну схему проекту (Рисунок 4).

3.3    Додатисигнали для моделювання, шляхом натискання правою кнопкою мишки на робочому полій вибравши «додати сигнали»/

4 Задання сигналів:

 

4.1    Clock:задання періодичного сигналу, указується стартове значення, затримка на початку,період проходження повторюваних імпульсів, перепад фронту (Рисунок 5, п.1).

4.2    Formula:задання значень із у певні моменти часу (Рисунок 5, п.2).

4.3    Value:задання постійного значення сигналу (Рисунок 5, п.3,6))

4.4    Predefіned:вибір уже заданого сигналу за замовчуванням. Сигнали дані сигнали задаються на закладціPredefіned, звичайним способом (Рисунок 5, п.4,5).

4.5    Random:задання псевдовипадкової генерації сигналу по деякій закономірності з певним періодом

5 Види логічних станів сигналів:

/>


6 Таблиця логічного «ТА», міжсигналами різних станів:

/>

7 Результати моделювання

 

Аналіз результатівмоделювання (Рисунок 4), показує різницю в роботі реального й ідеального пристроїв.При спрацьовуванні реального пристрою існує затримка в 1нс, а при довжині імпульсівменше 1 нс, і демонструється розходженнями між Y1 (реальний) і Y2 (ідеальний) сигналами.


III. Синтез і моделювання комбінаційних пристроїв,заданих в табличній формі, за допомогою системи Active-HDL 6.1

Дано логічну функціювід чотирьох перемінних />, яка задана в табличній формі:

X1

X2

X3

X4

Y1

Y2

Y3

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1. Розглянемо перший варіант (для y1):

Аналітичне представленняфункції має вид:

/> = /> +/>+/>+/>+/>+/>+/>+/>

Принципова електричнасхема на базі Та-АБО-НІ:

/>

Тимчасові діаграми отриманогопристрою повинні відповідати таблиці істинності його функціонування:

I етап – Одержанняпервинних імпликант

Одержання імпликантрангу 3, 2 і 1.

/>

/>

/>

/>

/>

/>

/>

/>

/>

1

/>

/>

/>

1

/>

/>

/>

/>

1

/>

/>

/>

1

/>

/>

/>

1

/>

/>

/>

1

/>

/>

/>

/>

1

/>

/>

/>

1

У таблиці немаєпорожніх рядків, тому ранг усіх імпликант зменшений до 3.

/>

/>

/>

/>

/>

/>

/>

/>

/>

1

/>

/>

/>

/>

/>

1

/>

/>

/>

1

/>

/>

/>

/>

/>

1

/>

/>

/>

/>

/>

1

/>

/>

/>

/>

1

/>

/>

/>

/>

/>

1

/>

/>

/>

/>

1

У таблиці немає порожніхрядків, тому ранг усіх імпликант зменшений до 3

/>

/>

/>

1

/>

1

У таблиці всі рядкипорожні, отже, мінімальний ранг всіх імплікант складає 2.

II етап – Обробкапервинних імплікант.

/>

/>

/>

/>

/>

/>

/>

/>

/>

V V V V

/>

V V V V

Як видно, кожна зімплікант є сутною, тому ФАЛ має вид

/>/> +/>

Відповідно до приведеногопредставлення, принципова електрична схема повинна складатися з логічних елементівТа, АБО, НІ і може мати Тимчасові діаграми отриманого пристрою повинні відповідатитаблиці істинності його функціонування.

Представлення в різнихбазисах

Представлення логічноїфункції в базисі ТА-НІ:

/>/> +/>=/>

Відповідно до приведеногопредставлення, принципова електрична схема повинна складатися тільки з логічнихелементів ТА-НІ і може мати наступний вид:

/>

Представлення логічноїфункції в базисі АБО-НІ:

/>

Відповідно до приведеногопредставлення, принципова електрична схема повинна складатися тільки з логічнихелементів АБО-НІ і може мати наступний вид:

/>

2 Розглянемо другийваріант (для y2):

Аналітичне представленняфункції має вид:

/> = /> + /> + /> + />+ /> +/>

III. Розглянемо третійваріант (для y3):

Аналітичне представленняфункції має вид:

/> = /> + /> + /> + /> + /> + /> + /> + /> + /> + />

Принципова електричнасхема на базі Та-АБО-НІ:

/>

IV. Створенняієрархічних структур при проектуванні складних пристроїв у системі Actіve-HDL 6.1

Довільнийфрагмент схеми можна оформити у вигляді ієрархічного блоку, символ якого являє собоюпрямокутник, і потім розмістити його на схемі, що дозволяє зменшити її розміри.Інше застосування ієрархічних блоків — подання з їхньою допомогою повторюваних фрагментівсхем: різних фільтрів, підсилювачів, випрямлячів, суматорів і т.п.

Задание:Создать четырех разрядный счетчик на основе D триггера.

Порядокдій при створенні проекту

·         Fіle>New> Workspace (відкривається діалогове вікно (Рисунок 1))

·         Указати ім'япроекту [Name] (символи кирилиці не допускаються, якщо передбачається моделювання),

·         Указати розташуванняпроекту [Locatіon]

·         

·         У наступному вікні вибрати Create an empty desіgn

·         У наступномувікні вибрати значення за замовчуванням

·         Указуємо ім'ясхеми і її розташування

·         Після натискаємокнопку Готово

Створення принциповоїсхеми проекту

Створення схеми D-тригера

Виконуємо наступнідії (Рисунок 5):

1.      Додаємо новийфайл

2.      Вибираємотип файлу

3.      Уводимо ім'я

Натискаємо на кнопкуOK

Після чого збираємоз логічних елементів D — тригер і виконуємо компіляцію Desіgn>Compіle.

Після компіляціїми бачимо наступне

1.   Можна переглянути або відредагувативихідний код програми:

library IEEE;

use IEEE.std_logic_1164.all;

entity D_trig is

 port(

 c: in STD_LOGIC;

 d: in STD_LOGIC;

 nr: in STD_LOGIC;

 ns: in STD_LOGIC;

 N: out STD_LOGIC;

 NQ: out STD_LOGIC

 );

end D_trig;

architecture D_trigof D_trig is

— Signal declarationsused on the diagram ----

signal NET108: STD_LOGIC;

signal NET114: STD_LOGIC;

signal NET128: STD_LOGIC;

signal NET137: STD_LOGIC;

signal NET141: STD_LOGIC;

signal NET145: STD_LOGIC;

begin

— Componentinstantiations ----

NET108 <= not(NET137and NET114 and ns);

NET137 <= not(nrand c and NET108);

NET128 <= not(NET114and c and NET137);

NET114 <= not(nrand d and NET128);

NET145 <= not(NET141and NET137 and ns);

NET141 <= not(nrand NET128 and NET145);

N <= NET145and NET145;

NQ <= NET141and NET141;

end D_trig;

1.        Можна побачити,що з'явився блок ієрархії

2.        Даний блокможна додати на схему й використати для побудови більше складних пристроїв

3.        Повідомленнярезультату компіляції

МоделюванняD-тригера

Натискаємо на кнопку NewWaveform,далі комбінацію клавіш Ctrl+І або правим кличем миші Add Sіgnals. Вибираємо сигнали для тимчасових діаграм.

Післявибору необхідних сигналів натискаємо кнопку Close

Післячого виставляємо параметри кликаем правою кнопкою миші й вибираємо Stіmulators аболівою кнопкою кликаем два рази. Виставляємо наступні значення:

1.      Запуститимоделювання

2.      Перевіркавихідних сигналів D-тригера

Створення схеми чотирьохрозрядного лічильника

Створюємо лічильникза аналогією з D-тригером:

1.      Додаємо новийфайл

2.      Вибираємотип файлу

3.      Уводимо ім'я

Натискаємо на кнопкуOK

Після чого збираємоз логічних елементів D — тригер і виконуємо компіляцію Desіgn>Compіle

Після компіляції,можна побачити наступне (Рисунок 16):

1.      Можна переглянутиабо відредагувати вихідний код програми

library IEEE;

use IEEE.std_logic_1164.all;

entity Counteris

 port(

 c: in STD_LOGIC;

 r: in STD_LOGIC;

 s: in STD_LOGIC;

 Y1: out STD_LOGIC;

 Y2: out STD_LOGIC;

 Y3: out STD_LOGIC;

 Y4: out STD_LOGIC

 );

end Counter;

architecture Counterof Counter is

— Componentdeclarations -----

component D_trig

 port (

 c: in STD_LOGIC;

 d: in STD_LOGIC;

 nr: in STD_LOGIC;

 ns: in STD_LOGIC;

 N: out STD_LOGIC;

 NQ: out STD_LOGIC

 );

end component;

— Signal declarationsused on the diagram ----

signal NET250: STD_LOGIC;

signal NET260: STD_LOGIC;

signal NET335: STD_LOGIC;

signal NET346: STD_LOGIC;

signal NET420: STD_LOGIC;

signal NET436: STD_LOGIC;

begin

— Componentinstantiations ----

U1: D_trig

 port map(

 N => Y1,

 NQ => NET346,

 c => c,

 d => NET346,

 nr => NET335,

 ns => NET260

 );

U2: D_trig

 port map(

 N => Y2,

 NQ => NET420,

 c => NET346,

 d => NET420,

 nr => NET335,

 ns => NET260

 );

U3: D_trig

 port map(

 N => Y3,

 NQ => NET436,

 c => NET420,

 d => NET436,

 nr => NET335,

 ns => NET260

 );

U4: D_trig

 port map(

 N => Y4,

 NQ => NET250,

 c => NET436,

 d => NET250,

 nr => NET335,

 ns => NET260

 );

NET260 <= not(s);

NET335 <= not(r);

end Counter;

1.      Можна побачити,що з'явився блок ієрархії

2.      Даний блокможна додати на схему й використати для побудови більше складних пристроїв

3.      Повідомленнярезультату компіляції

Моделювання лічильника

Натискаємо на кнопкуNewWaveform, далі комбінацію клавіш Ctrl+І або правим кличем миші Add Sіgnals. Вибираємосигнали для тимчасових діаграм

Після чого виставляємопараметри кликаем правою кнопкою миші вибираємо Stіmulators, або подвійним кличемлівої кнопки. Виставляємо наступні значення:

Для об'єднання сигналів необхідно їх виділити, кликнувши правою кнопкою мишівибрати Merge Sіgnals.


СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ

1.        Суворова Е.А., ШейнинЮ.Е. Проэктирование цифровых систем на VHDL. – СПб.: БХВ-Петербург, 2003. – 576с.

2.        Армстронг Дж.Р. Моделированиецифровых систем на языке VHDL: Пер с англ. — М.: Мир, 1992. — 175 с.

3.        Бибило П.Н. Основыязыка VHDL. Второе издание. — М.: Солон-Р, 2002. — 224 с.

4.        Бибило П.Н. Синтезлогических схем с использованием языка VHDL. — М.: Солон-Р, 2002. — 384 с.

5.        Перельройзен Е.З.Проектируем на VHDL — М.: СОЛОН — Пресс, 2004. – 448 с.

6.        Поляков А.К. ЯзыкиVHDL и VERILOG в проектировании цифровой аппаратуры. — М.: СОЛОН-Пресс, 2003. — 320 с.

7.        Сергиенко А.М. VHDLдля проектирования вычислительных устройств. — К.: ЧП \«Корнейчук\», ООО\«ТИД \»ДС\", 2003. — 208 с.

8.        Суворова Е.А., ШейнинЮ.Е. Проектирование цифровых систем на VHDL. — СПб.: БХВ-Петербург, 2003. — 576с.

9.        VHDL для моделирования,синтеза и формальной верификации аппаратуры / Пер с англ. — М: Радио и связь, 1995.- 360 с.

10.      http://www.msclub.ce.cctpu.edu.ru/VHDL/spravhdl.html

11.      http://parallel.ru/FPGA/hdl.html

12.      http://ru.wikipedia.org/wiki/VHDL

еще рефераты
Еще работы по информатике, программированию