Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лаб_работи 6_8OK

.pdf
Скачиваний:
8
Добавлен:
02.02.2015
Размер:
881.29 Кб
Скачать

ЛАБОРАТОРНА РОБОТА № 6

Проектування пристроїв на ПЛІС з використанням LPM модулів

Мета роботи: отримати знання про проектування системи з використанням пристроїв на ПЛІС та уміння використання LPM модулів при побудові цифрових пристроїв.

ПОСТАНОВКА ЗАДАЧІ

Вивчити призначення, можливості, процес інсталяції, інтерфейс користувача САПР, технологію створення проекту, методи описування цифрового пристрою и моделювання його роботи в САПР.

В результаті виконання даної лабораторної роботи студент повинен по заданим вихідним даним (11 варіантів завдання) створити новий проект пам’яті, синтезувати схему пристрою та промоделювати його роботу.

Лабораторна робота розрахована на 2 години виконання.

МЕТОДИЧНІ ВКАЗІВКИ

5. Проектування ПЛІС з використанням LPM модулів

Система автоматизованого проектування QUARTUSII надає розробнику багатий набір стандартних елементів, які він може вставляти в свій проект. Основними з них є примітиви і мегафункції. На відміну від примітивів, мегафункції можуть настроюватися розробником під конкретні потреби, наприклад для мегафункции-лічильника може бути задана його розрядність, модуль рахунку, при необхідності може бути встановлений сигнал скидання, переповнювання і т.д.

При роботі в графічному редакторі введення LPM модуля проводиться за допомогою подвійного клацання мишею в тому місці, куди його необхідно вставити. Далі можливі два варіанти. Потрібне або ввести назву мегафункції в поле «Symbol Name» діалогу «Enter Symbol», або вибрати бібліотеку мегафункцій mega_lpm у списку «Symbol Libraries» і відповідну мегафункцію в списку «Symbol Files», а потім натиснути кнопку ОК.

На рисунку 5.1. приведений приклад вставленої у файл графічного редактора мегафункции лічильника (її назва – lpm_counter). В цьому випадку відразу після закриття діалогу «Enter Symbol» з'явиться діалог «Edit Ports/Parameters» (див. рис. 5.2.). У цьому діалозі можна набудувати входые/выходные виведення елементу а також задати параметри мегафункції. Налаштування виводів проводиться за допомогою списку «Name» групи «Ports» (вибір порту) і прапорів групи «Port Status» (використовується /не використовується –

Used/Unused).

Параметри мегафункції встановлюються в групі «Parameters». У групі «Parameter Name» знаходиться ім'я змінного параметра (необхідний параметр автоматично з'являється в цій групі після вибору його в списку «Name»). Далі в полі «Parameter Value» встановлюється значення параметра Наприклад, параметр LPM_WIDTH відповідає за розрядність лічильника LPM_MODULUS за модуль рахунку і т.д. При необхідності можна одержати довідку,

натиснувши кнопку «Help on LPM_COUNTER».

Рисунок 5.1. Стандартна мегафункція лічильника

Рисунок 5.2. Діалог редагування параметрів мегафункції лічильника

Для введення в проект нового варіанту існуючих LPM модулів можна використовувати менеджер майстрів MegaWisard Plug-In Manager, доступний при натисненні відповідної кнопки з діалогу «Enter Symbol». В цьому випадку елемент виглядатиме так, як показано на рисунку 5.3

На першому кроці буде запропоновано два варіанти: створити новий варіант

мегафункції (create а new custom megafunction variation) або редагувати той,

що існує

(Edit an existing custom megafunction variation). Слід вибрати перший варіант і

натиснути

кнопку «Next». На наступному кроці необхідно вибрати ту, що модифікується мегафункцію з

групи арифметичних (arithmetic – LPM_ABS (абсолютне

значення), LPM_ADD_SUB

(складання/віднімання), LPM_COMPARE

(компаратор),

LPM_COUNTER(лічильник),

LMP_DIVIDE (ділення), LPM_MULT

(множення)),

вентильних

(gates,

наприклад

LMP_CONSTANT

(константне

значення),

LMP_DECODE

(дешифратор),

LPM_MUX(мультиплексор)) і елементів зберігання

інформації (storage,

наприклад

LMP_SHIFTREG

(регістр зсуву).

Крім

того,

необхідно

ввести

в поле

«What name do you want for the output file?» унікальне ім'я новостворюваного примітиву.

Далі після натиснення кнопки «Next» відбувається настройка вибраного елементу. Наприклад, для лічильника настроюються розрядність, напрям рахунку, модуль рахунку (якщо потрібен), виведення Clock Enable, Count Enable і інші параметри. Перенастроювати вже створений майстром елемент можна за допомогою подвійного клацання миші над цим елементом. В цьому випадку для того, щоб відновити елемент в графічному редакторі, необхідно виконати команду меню Symbol|Update Symbol

Рисунок 5.3 – Лічильник, створений за допомогою MegaWisard Plug-In Manager

На рис. 5.4 показана послідовність дій, яка привела до створення лічильника, показаного на рис. 5.3.

Рисунок 5.4 – Створення лічильника за допомогою MegaWisard Plug-In Manager – Крок

1

Рисунок 5.5 – Створення лічильника – крок 2

Рисунок 5.6 – Створення лічильника – кроки 3-6

5.1 LPM модуль лічильника

LPM модуль лічильника має можливість змінювати параметри і використовувати різні комбінації виведень введення-вивода. У цьому модулі можливі наступні висновки:

data[]- вхідна шина, використовувана як дані для ініціалізації лічильника під час сигналів скидання або установки, розрядність визначається параметром

LPM_WIDTH;

clock – вхідний сигнал синхронізації, що спрацьовує по позитивному фронту;

clk_en – вхідний сигнал, що вирішує роботу синхронних вузлів;

cnt_en – сигнал дозволу рахунку, відключає рахунок при cnt_en = “0”;

updown - вхід керівник напряму рахунку, при updown =1 рахунок виконується за збільшенням, при updown =0 рахунок виконується по убуванню;

cin - вхід перенесення з молодшого біта;

aset - вхід асинхронної установки лічильника;

aclr - вхід асинхронного скидання, якщо активні обидва сигнали aset і aclr те сигнал aclr домінує;

aload – вхід, асинхронного завантаження лічильника значенням з входу data;

sclr – вхід синхронного скидання лічильника;

sset – вхід синхронної установки лічильника, якщо активні обидва сигнали sclr і sset, то sclr переважає;

sload – вхід синхронного завантаження лічильника значенням входу data.

q[] – вихідні сигнали лічильника, розрядність визначається параметром

LPM_WIDTH;

eq[15..0] – вихідні сигнали вбудованого дешифратора, дешифратор має 16 вихідних шин і може працювати тільки з чотирма молодшими розрядами лічильника;

cout – вихід перенесення в старший розряд.

На рисунку 5.1.1 показана схема LPM модуля лічильника, реалізована в середовищі MAXPLUSII., а на рисунку 5.1.2. його часова діаграма роботи.

Рисунок 5.1.1 Схема LPM модуля лічильника

5.2 LPM модуль регістр зсуву

LPM модуль регістру зсуву дозволяє формувати регістри зсуву різного типа. У модулі можна використовувати наступні вхідні і вихідних висновки:

data[] - вхід, який використовується як дані для ініціалізації регістра під час сигналів скидання або установки, розрядність визначається параметром LPM_WIDTH;

clock – сигнал синхронізації, що спрацьовує позитивним фронтом;

enable – вхід дозволу зрушення, відключає зрушення при enable = 0;

aset - вхід асинхронної установки регістра зсуву ;

acl - вхід асинхронного скидання, якщо активні обидва сигнали aset і aclr та сигнал aclr, що домінує.

Рисунок 5.1.2.

sclr – вхід синхронного скидання регістра зсуву;

sset – вхід синхронної установки регістра зсуву, якщо активні обидва сигнали sclr і sset, то sclr переважає;

load – сигнал вибору операцій завантаження і зрушення, при load=1 здійснюється а при load=0 – зрушення.

shiftin – інформаційний вхід.

На рис. 5.2.1. показана схема LPM модуля регістра зсуву, реалізована в середовищі QUARTUSII, а на рис. 5.2.2. його часова діаграма роботи.

Рисунок 5.2.1

Рисунок 5.2.2.

5.3 LPM модуль ПЗП.

За допомогою LPM модуля ПЗП можна реалізовувати ПЗП різної конфігурації, які широко застосовуються для зберігання даних.

У модулі можна використовувати наступні вхідні і вихідних висновки: address[] – вхід адреси інформації, записаної в ПЗП, розрядність визначається

параметром LPM_WIDTHAD;

inclock – вхід синхронізації адреси, якщо цей висновок задіяний, вхідна адреса синхронізується, інакше вхід є асинхронним;

outclock - вхід синхронізації виходу, якщо цей висновок задіяний, вихідні дані синхронізується, інакше вихід є асинхронним;

memenab- вхід дозволу видачі даних, при memenab=1 вихідна інформація з'являється на виході q[], при memenab=0 вихід знаходиться в третьому стані;

q[] – вихід даних ПЗП, розрядність визначається параметром LPM_WIDTH.

На рисунку показана 5.3.1. показана схема LPM модуля ПЗП, реалізована в середовищі QUARTUSII, а на рисунку 5.3.2. його часова діаграма роботи.

Рисунок 5.3.1

Рисунок 5.2.3

Інформація, записувана в ПЗП, зберігається в спеціальному файлі, що має розширення *.mif. Нижче приведено вміст файлу, для прикладу, розглянутого вище. У прикладі присутні коментарі, що наочно показують як сформувати цей файл для різної конфігурації ПЗП.

DEPTH = 32; % Memory depth and width are required %

WIDTH = 8; % Enter а decimal number %

ADDRESS_RADIX = DEC; % Address and value radixes are optional % DATA_RADIX = BIN; % Enter BIN, DEC, HEX, or OCT; unless % CONTENT

BEGIN 0:00001111; 1:00110011; 2:01010101; 3:00000000; 4:10000000; 5:01000000; 6:00100000; 7:00010000; 8:00001000; 9:00000100; 10:00000010; 11:00000001; 12:11000000; 13:01100000; 14:00110000; 15:00011000; 16:00001100; 17:00000110;

18:00000011;

19:11100000;

20:01110000;

21:00111000;

22:00011100;

23:00001110;

24:00000111;

25:11110000;

26:01111000;

27:00111100;

28:00011110;

29:00001111;

30:11111000;

31:01111100;

END;

ЗАВДАННЯ Побудувати модуль пам’яті з заданими параметрами, згідно таблиці параметрів

постійного запам’ятовуючого пристрою.

Таблиця 5-1

Параметри постійного запам’ятовуючого пристрою.

 

 

 

варіант

1

 

2

3

4

5

6

7

8

9

10

11

розрядність

4

 

6

8

8

6

4

10

6

5

4

8

Кількість

100

 

200

30

50

30

100

56

90

45

96

64

комірок

 

 

 

 

 

 

 

 

 

 

 

 

портів

1

 

2

1

2

1

2

2

1

1

1

2

синхронізація

є

 

нема

нема

є

є

нема

є

є

нема

є

нема

ЛАБОРАТОРНА РОБОТА № 7

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

Мета роботи: отримати знання про проектування системи з використанням поведінкової мові AHDL опису пристроїв.

ПОСТАНОВКА ЗАДАЧІ

Вивчити призначення, можливості, процес інсталяції, інтерфейс користувача САПР, технологію створення проекту, методи описування цифрового пристрою и моделювання роботи с хем на поведінковій мові

AHDL.

В результаті виконання даної лабораторної роботи студент повинен по заданим вихідним даним (13 варіантів завдання) створити новий проект різних пристроїв на поведінковій мові AHDL, синтезувати схему пристрою та промоделювати його роботу.

Лабораторна робота розрахована на 2 години виконання.

МЕТОДИЧНІ ВКАЗІВКИ

6.Опис роботи схем на поведінковій мові AHDL

6.1Введення в мову AHDL

Мова AHDL (Altera high Level Languish), дозволяє описувати роботу схем, що проектуються на базі ПЛІС на поведінковому рівні. Використовуючи мову AHDL, користувач описує не структуру схеми, а її поведінку. Стандартне розширення файлів, що містять поведінковий опис схем - .tdf.

AHDL є високорівневою, модульною мовою, повністю інтегрованою в систему QUARTUS II. Він добре підходить для проектування складної комбінаційної логіки, шин, кінцевих автоматів, таблиць істинності арифметичних схем і параметричної логіки. Як текстового редактора можна використовувати текстовою редактор системи QUARTUS II або будь-який інший для створення текстових файлів проектів (AHDL Text Design Files (.tdf)). Потім можна відкомпілювати TDF файли для отримання вихідних файлів, придатних для подальшого моделювання, часового аналізу і програмування пристрою. Крім того, компілятор системи QUARTUS II може створювати текстові файли експортування (AHDL Text Design Export Files (.tdx)) і текстові вихідні файли (Text Design Output Files (.tdo)), які можна зберегти як TDF файли і повторно використовувати як файли проекту.

Мова AHDL є зручним інструментом для представлення проекту на високому рівні. Підходить для опису дуже складних проектів, дозволяє заощадити багато часу. Основні характеристики

компактність уявлення;

невисока наочність, трудність з розбором польотів;

ідеальний засіб для міграції проекту (перенесення в інший базис).

При описі ВІС на поведінковій мові слід мати

на увазі, що стиль проектування

потрібно вибирати залежно від типу ПЛІС і від проекту, що розробляється.

 

U

V

ZP

 

R

Z

0

0

0

 

0

0

1

0

0

 

1

0

0

1

0

 

1

1

1

1

0

 

0

0

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]