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

3 Посібник Quartus

.pdf
Скачиваний:
72
Добавлен:
17.05.2015
Размер:
3 Мб
Скачать
☆

10 ЛАБОРАТОРНА РОБОТА №10. ПРОГРАМОВАНІ МІКРОСХЕМИ

Мета роботи: використання мікросхем різних типів на прикладі побудови подільників частоти; програмовані логічні матриці, архітектура ПЛІС, інтерфейс JTAG, схеми програмування і конфігурування; редактор фізичного розміщення; конфігурування мікросхеми.

ДОМАШНЄ ЗАВДАННЯ

! Спроектувати згідно з варіантом завдання 10 (див. Додатки) безвентильний подільник частоти на JK-тригерах.

СТИСЛІ ТЕОРЕТИЧНІ ВІДОМОСТІ

У [2] викладено загальні відомості про сучасні ПЛІС (їх класифікацію за способами програмування структури, програмовані елементи ПЛІС, принцип побудови програмованих логічних матриць), елементи структури (макрокомірка, блок керування вводом/виводом), а також відомості щодо програмування і конфігурування (режими програмування і конфігурування, інтерфейс JTAG, схеми програмування і конфігурування). Тут розглянемо стисло питання архітектури ПЛІС і наведемо для прикладу відомості про дві родини ПЛІС фірми Altera з довідки САПР Quartus II.

1 Архітектура ПЛІС

1.1 План розміщення ПЛІС.

ПЛІС, що крім багатьох програмованих логічних матриць (ПЛМ) містить регістри, буфери, розгалужену систему програмованих з’єднань тощо, структурована на окремі частини. У загальному вигляді ці частини зображаються в САПР на плані її розміщення (Floorplan) як подано на рис. 1,а. Компілятор автоматично призначає елементи схеми, необхідні для реалізації проекту, виконує потрібні з’єднання і вносить всю цю інформацію до об’єктного файлу (після цього проектувальник має змогу скоригувати призначення вручну і знов перекомпілювати проект). Призначення (Assignments) для мікросхеми на плані розміщення містяться в лотку AoD (Anywhere on Device) і відображаються при натисканні на нього.

Найбільшою функціональною частиною ПЛІС є логічний блок ЛБ (Logic Array Block, LAB), в якому згруповано набір логічних ресурсів таким чином, що будь-який сигнал є приступний для кожного елемента набору. На плані ЛБ позначено літерами А, В біля лотків, в яких відображаються призначення відповідного блоку. ІС можуть вміщувати до 32 ЛБ.

Наступною за ієрархією складовою частиною є логічна комірка ЛК (Logic Cell, LCELL, LC), яка в технічній документації для ПЛІС з електричним стиранням (EЕPROM-based) називається макрокоміркою МК (Macrocell, MC). Призначені (задіяні) комірки на плані забарвлюються, а вільні залишаються білими.

140

Рисунок 10.1

Так само і виводи (контакти, штирки – Pin) мікросхеми на плані (див. рис. 10.1,а) і на цоколівці (на рис. 10.1,б подано її фрагмент), що є призначені, забарвлено, а вільні – білі. Основна їх частина належить до входів/виходів користувача (User I/O Pins), позначається на вільних виводах у дужках як (І/О), а на призначених виводах – їх іменами відповідно до проектного файлу. Інші виводи є спеціалізовані (Dedicated). Перш за все це GND – земля та VCC або VCCINT і VCCIO – напруги живлення; ці виводи, як і незадіяні (N.C. – No Connect), якщо вони є, наводяться лише на цоколівці (виводи GND у схемі не можна залишати вільними, навіть якщо їх декілька). Наступна група спеціалізованих виводів, призначена для фізичного програмування (TDI, TDO, TCK, TMS), є неприступною для користувача. І, нарешті, остання група спеціалізованих виводів для так званих глобальних сигналів, до яких належать спільні для всіх ЛБ сигнали, зображається на плані окремо від них (у нас – ліворуч). Типовими є такі глобальні сигнали: GCLK – Global Clock (спільний синхровхід), GCLRn – Global Clear (спільний сигнал скидання, зазвичай інверсний), Global OE – дозвіл виходу для компонентів з трьома станами, Ded. Input (від Dedicated

– спеціалізований) – глобальний вхід за призначенням користувача. Будь-який вивід ІС, розташований на плані біля комірки, може бути

141

запрограмований як вхід або вихід пристрою (у разі потреби, як двоспрямований вхід/вихід). Якщо певний контакт стає виходом (на плані позначається стрілкою, що виходить з ЛБ), він закріплюється за суміжною з ним коміркою, яка стає кінцевою і остаточно формує для нього сигнал (такі комірки забарвлено блакитним кольором). Якщо ж контакт стає входом (позначається стрілкою, що входить до ЛБ), він не закріплюється за певною МК, а зв’язується з будь-якими комірками через програмовані матриці з’єднань. Так само МК, призначені як проміжні (забарвлені жовтим кольором), що беруть участь у формуванні проміжної логіки, обмінюються вхідними і вихідними даними з виводами і з іншими комірками через програмовані матриці з’єднань. Деякі МК, що не мають суміжних виводів (у нашій ПЛІС дві таких МК) не можуть бути запрограмовані як кінцеві.

1.2 Структура ПЛІС з електричним стиранням (EPLD).

Зв’язки між компонентами ПЛІС відображаються на її плані графічно (кольоровими лініями) або логічними рівняннями (у спеціальному вікні на частині екрана). Проте наочніше такі зв’язки можна показати на структурній схемі як дещо спрощено подано на рис. 10.2 для типової ПЛІС із електричним стиранням (типу EЕPROM-based EPLD) найменшої складності (ширина шин і кількість елементів, позначених цифрами, у ПЛІС різного типу можуть відрізнятися). Структура складнішої ПЛІС така сама: програмована матриця з’єднань ПМЗ є спільною і продовжується вниз, а обабіч ярусами розташовуються логічні блоки ЛБ, кожний зі своїм блоком керування вводом/виводом БКВВ. Показані знизу інтерфейсні кола і сигнали діють у режимі програмування.

Рисунок 10.2 – Зв’язки між компонентами ПЛІС

Основні зв’язки між структурними складниками ПЛІС здійснюються через ПМЗ, до якої в робочому режимі надходять глобальні сигнали зі спеціалізованих входів безпосередньо (показано вгорі; у деяких ПЛІС може бути два синхровходи для організації двотактних схем), інформаційні сигнали з контактних площинок КП входів/виходів загального користування через

142

БКВВ (показано обабіч нижніми шинами розрядністю 6...12 – за кількістю КП, що обслуговуються даним ЛБ) та сигнали з виходів макрокомірок ЛБ (показано 16-розрядними шинами – за кількістю МК у кожному ЛБ).

Усі сигнали ПМЗ стають приступними для макрокомірок кожного ЛБ: потрібні з них програмуванням ПМЗ вводяться до блоків 36розрядними шинами. Крім того, з метою підвищення швидкодії ЛБ можуть одержувати сигнали колами швидкого введення безпосередньо з глобальних входів і з контактних площинок через БКВВ (шини розрядністю 6...12). У логічних блоках відбувається обробка інформації і її остаточні результати виводяться на КП через БКВВ (шини 6...12), а проміжні результати надходять до ПМЗ (шини 16) для передачі до інших блоків, в яких завершується обробка.

Блоки керування вводом/виводом БКВВ програмуються на введення інформації (КП стають входами) або на її виведення (КП стають виходами). Під дією шести глобальних сигналів дозволу виходу, що надходять

зПМЗ (шина 6 ОЕ), досягається гнучкість керування блоком.

1.3Особливості архітектури ПЛІС із тригерною пам’яттю

конфігурації.

З розвитком технології і зростанням ступеня інтеграції з’явилися ІС комбінованого типу, що сполучають в себе властивості CPLD зі схемотехнікою запам’ятовувальних пристроїв. Прикладом є популярна ПЛІС родини FLEX 10K фірми Altera (FLEX – Flexible Logic Element MatriX –

гнучка матриця логічних елементів), план розміщення якої (Floorplan) подано на рис. 10.3. Як і для ПЛІС типу CPLD (див. рис. 10.1,а), зв’язки між компонентами такої ПЛІС так само можна відображати на її плані графічно або логічними рівняннями.

Призначення (Assignments) для компонентів містяться в лотках, пояснення яких винесено на плані вгорі. Крім логічних блоків ЛБ (Logic Array Block, LAB) до складу ІС входять також вбудовані блоки пам’яті ВБП (Embedded Array Block, EAB). Логічні блоки розташовано по рядках (Row) і колонках (Col), тому позначаються двокоординатною системою відліку, наприклад, відмічений внизу на плані блок має ім’я „В11”, а блок над ним

– ім’я „А11”. ІС містить лише один стовпець блоків пам’яті (розташований всередині між стовпцями ЛБ), тому вони іменуються назвою рядка, наприклад, позначений внизу на плані блок має ім’я „ЕАВ_В”, а блок над ним – ім’я „ЕАВ_А”.

Наступною за ієрархією структурних одиниць є логічна комірка ЛК (Logic Cell, LC), яка в технічній документації для ПЛІС із тригерною пам’яттю конфігурації (SRAM-based) називається логічним елементом ЛЕ (Logic Element, LЕ). Такий „елемент” подібно до макрокомірки має логічну частину і програмований тригер, що є розрядом регістра, але відрізняється тим, що логічна функція реалізується програмуванням її таблиці відповідності в запам’ятовувальному пристрої (табличний спосіб реалізації). Крім того, ЛЕ містить коло переносу (для підвищення швидкодії схем типу лі-

143

чильників і суматорів) та коло каскадування (для гнучкості формування функцій багатьох змінних кількома комірками). Кожний ЛБ розглядуваного типу ПЛІС містить 8 логічних комірок, які позначаються своїм номером у блоці та його координатами, наприклад, відмічена внизу на плані ЛК має ім’я „LC7_В2”.

Рисунок 10.3 – План розміщення (Floorplan) ПЛІС FLEX 10K фірми Altera

Виводи (контакти, Pin) мікросхеми, які так само поділяються на спеціалізовані і виводи користувача (глобальні входи, у разі потреби, можуть використовуватися як звичайні), розташовано на плані по периметру з усіх боків. При цьому будь-який вивід користувача (але не глобальні входи) може бути запрограмований як вхід, вихід або двоспрямований

144

вхід/вихід пристрою за допомогою комірок вводу-виводу КВВ (I/O Cell) біля кожного з них. Аналогічно блоку керування вводом-виводом БВВ у КВВ здійснюються функції підвищення навантажувальної здатності, перемикання напрямку передачі інформації, регулювання режимів буфера (швидкість перемикання, емуляція схеми з відкритим колектором). Крім того, КВВ містить вхідний і вихідний регістри для тимчасового зберігання даних та складну систему перемикання сигналів між шинами (більше десятка програмованих мультиплексорів та інших елементів).

Рисунок 10.4 – Дворівнева система зв’язків блоків за допомогою глобальної програмованої матриці з’єднань ГПМЗ, поділеній на рядки і стовпці

Двокоординатна система позначень блоків відповідає дворівневій системі зв’язків між ними за допомогою глобальної програмованої матриці з’єднань ГПМЗ, поділеній на рядки і стовпці (рис. 4), з якими з’єднуються комірки вводу-виводу КВВ по всьому периметру ПЛІС. Через рядки і стовпці ГПМЗ, між якими розташовані ЛБ і ВБП, здійснюється обмін даними, а обмін між комірками організовано через локальну програмовану матрицю ЛПМЗ.

2 Довідкові відомості

Родини мікросхем подано в довідці пакету Help > Devices & Adapters. ПЛІС однієї родини однотипні і відрізняються кількістю ЛБ. Так, родини МАХ7000 (рис. 10.5,а) найменшої складності містять два ЛБ, а найбільшої складності – 32 ЛБ.

145

Рисунок 10.5 - Довідкові відомості родин мікросхем

Кожний ЛБ розглядуваного типу ПЛІС складається з 16 макрокомірок, а їх загальна кількість у мікросхемі визначає її назву. Найпростіші мікросхеми типу ЕРМ7032(АЕ, В, S) містять у двох логічних блоках 32 макрокомірки, а найскладніші ЕРМ7512(АЕ, В) – 512 МК у складі 32-х ЛБ.

Натисканням у списку ІС на родину потрібного типу легко вийти на файл довідки з даними про типи корпусів (Package), кількість макрокомірок (Macrocells) і приступних для користувача виводів (I/O) та інші дані (на рис. 10.5,б подано фрагмент даних для ІС типу EPM7128S родини

146

MAX7000S). Докладну інформацію про цоколівку виводів тощо можна отримати в п. 3 лабораторного завдання або на Altera website (у попередніх версіях Quartus II така інформація міститься в довідці).

У назвах ПЛІС родин типу FLEX (рис. 10.5,в) складність позначається в тисячах еквівалентних вентилів. Так у родині FLEX 10K мікросхема EPF10K10 найменшої складності має логічну ємність 10 тис. еквівалентних вентилів (72 ЛБ, 576 ЛК, 3 ВБП обсягом 2048 біт кожний), а ІС цієї родини EPF10K250 найбільшої складності має логічну ємність 250 тис. еквівалентних вентилів (1520 ЛБ, 12160 ЛК, 20 ВБП).

Такі ПЛІС придатні для побудови складних пристроїв обробки інформації. У довідці для ІС такого типу (на рис. 10.5,в подано фрагмент даних для ІС типу EPF10K70 родини FLEX 10K) макрокомірки називаються «логічними елементами» (Logic Elements) та подаються також відомості щодо вбудованих блоків пам’яті (EABs) і типи конфігураційних мікросхем (Configuration Device), призначених для зберігання інформації про конфігурацію ІС, яка по ввімкнені джерела живлення автоматично завантажується до ПЛІС.

КОНТРОЛЬНІ ЗАПИТАННЯ

1 Спроектуйте подільник частоти на 60 на основі: а) макрофункцій двійкових лічильників, б) макрофункцій декадних лічильників, в) макрофункцій подільників частоти, г) макрофункцій JK-тригерів (безвентильний), д) макрофункцій цифрових таймерів, е) мегафункції лічильника.

2 Чим відрізняються сучасні програмовані ПЛІС від мікропроцесорних ІС, робота яких основана на виконанні програми? Порівняйте можливості таких ІС щодо складності виконуваних функцій і швидкодії.

3 Схарактеризуйте режими реконфігурування структури ПЛІС типу EPLD з електричним стиранням. Які елементи пам’яті конфігурації застосовуються для таких ПЛІС? Що розуміється в САПР під термінами „програмування” і „конфігурування”?

4 Зобразіть схему ПЛМ для реалізації одного з варіантів функції завдання 2 (див. додаток до Лаб. роботи №2).

5 Поясніть архітектуру ПЛІС типу EPLD: призначення сигналів і складників та їх взаємодію.

6 Поясніть поняття інтерфейсу JTAG і схеми програмування однієї ПЛІС та їх ланцюжка.

147

ЛАБОРАТОРНЕ ЗАВДАННЯ

1 Спроектувати подільник частоти із заданими коефіцієнтом поділу – модулем М (згідно з варіантом завдання 10).

1.1 Побудувати безвентильний подільник частоти з використанням JK-тригерів за графічного (.bdf) введення проекту 10XXpod, виконати компіляцію і моделювання (.vwf), визначити його швидкодію та скласти перемикальний граф.

Приклади: подільник частоти з коефіцієнтом поділу 5 на основі лічильника 74293 (схема 1) і з коефіцієнтом поділу 11 на JK-тригерах (схема

2) у файлах 1000pod.bdf, vwf.

F Примітка: Інверсні асинхронні входи передустановлення SN[4..0] і скидання RN (схема 2) призначені для випробування лічильника на самовідновність і побудови повного перемикального графа. Для цього інверсним кодом, наприклад, SN[4..0] = 0016 (як подано на часових діаграмах) можна асинхронно записати до всіх розрядів лічильника одиниці і по моделюванні імітатором простежити шлях повернення до робочого циклу: 31 → 14 → 21 → ...; відтак записати з метою наочності інший стан поза робочим циклом в іншому місці (або в цьому ж місці і знов змоделювати) та простежити шлях і так само повторити цю процедуру для потрібної кількості станів.

1.2 Створити подільник частоти за текстового (.tdf) введення про-

екту 10XXpod_sm як скінченний автомат (State Machine) за власним вибо-

ром оператора логічної секції для позначення його переходів (див. Лаб. робота №8, п.4) на кшталт файла 10XXpod.bdf та дослідити його. Користуючись часовими діаграмами (.vwf), визначити тип пристрою, утворений автоматичним синтезатором як подільник частоти.

Приклад: подільник частоти із коефіцієнтом поділу М = 11 – файли

1000pod_sm.tdf, vwf.

2 Створити проект 10ХХPODIL_MAX лабораторного макету для експериментального дослідження ЦПП на мікросхемі MAX7000S

на прикладі заданого варіанту подільника частоти за п. 1.1. (див. як взірець файл 1000PODIL_MAX.bdf – рис. Д8 у додатках).

Для цього створити символ подільника за п. 1.1 (як приклад див. файли 1000pod11.bdf, bsf), вставити його до графічного файла, який доповнити перетворювачем двійкового коду в ДДК і дешифраторами 7-сегментного коду, потрібними для індикації вихідного коду, а також іншими компонентами (у прикладі кількість тактів вхідного сигналу в періоді вихідного сигналу, тобто коефіцієнт поділу можна простежити за допомогою світлодіода VD1). Імпортувати призначення виводів мікросхеми з файлу ../4lab/MAX_pin та скоригувати їх. Виконати компіляцію і функціональне моделювання з метою переконатися в правильності проектування. Створити програмувальний CDFфайл і виконати програмування мікросхеми. Розробити методику та виконати експериментальні дослідження пристрою на запрограмованій ІС. Порівняти результати експериментальних досліджень з даними проектних файлів, зробити висновки.

148

Приклад: подільник частоти із коефіцієнтом поділу М = 11 – файли

1000PODIL_MAX.bdf, .vwf, .сdf.

3 Ознайомитися з основними функціями редактора фізичного розміщення Floorplan Editor.

3.1 У разі потреби, активізувати належний проект 10XXPODIL_MAX (ввести його назву до рядка заголовку головного вікна), піктограмою горизонтальної панелі Pin Planner (або з меню Assignments > Pin Planner) відкрити вікно із цоколівкою виводів і розгорнути його, зачинивши вікна зі списками. Налаштувати інструментальну палітру (меню Tools > Customize Pin Planner):

встановити великі облямовані кнопки та вилучити зайві інструменти, зокрема, які є на горизонтальній панелі. Натиснути інструмент вертикальної палітри Pin Legend та ознайомитися з позначенням виводів і розташуванням їх на цоколівці мікросхеми. Аби з’ясувати призначення виводу, досить підвести до нього покажчик і зчитати дані в рамці, що з’являється. З меню View > All Pins List відкрити вікно зі списком виводів, виділити вивід на цоколівці та зчитати дані в цьому вікні чи, навпаки, виділити вивід у вікні і продивитися його розташування на цоколівці. Так само з меню View > Groups List відкрити вікно зі списком груп і аналогічним чином з’ясувати зв'язок між списком і цоколівкою.

149

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