ТОП 10:

Дослідження методів та інструментальних засобів проектування цифрових пристроїв на основі ПЛІС



Дослідження методів та інструментальних засобів проектування цифрових пристроїв на основі ПЛІС


Огляд елементної бази, що застосовується для побудови логічних керуючих автоматів з паралельною архітектурою

 

Класифікація

 

Для побудови логічних керуючих автоматів з паралельною архітектурою використовують пристрої з регулярною архітектурою, які представляють собою набір стандартних елементів та вузлів, що інтегровані на одному кристалі. Існує багато різновидів таких пристроїв, але всі вони об’єднуються однією назвою – програмовані логічні інтегральні схеми.

Настроювання ПЛІС на виконання заданих функцій здійснюються користувачем шляхом вільного компонування цих елементів і вузлів програмним способом. Завдяки зазначеним особливостям ПЛІС в останні роки успішно завойовують ринок і в ряді предметних областей становлять гідну конкуренцію мікропроцесорам і мікроконтролерам. Залежно від використовуваної архітектури ПЛІС можуть бути класифіковані таким чином (рис. 1).

Структури ПЛІС мають високий рівень регулярності: основу кристала ПЛІС становить матриця однотипних функціональних вузлів, на базі яких користувач може створювати цілі системи керування складними технологічними об'єктами. Завдяки цьому ПЛІС характеризуються високою швидкодією і надійністю, а також широкими можливостями в частині резервування і діагностики.

Найбільш ефективними областями застосування ПЛІС є:

1. синтез (моделювання) нетрадиційних архітектур керуючих автоматів (навіть якщо надалі планується використання іншої елементної бази);

2. побудова надшвидкодіючих керуючих пристроїв;

3. реалізація автономних систем керування критичного застосування, до яких пред'являються жорсткі вимоги в частині забезпечення надійності, безпеки, електромагнітної сумісності й т.ін.

 

Рис. 1. Класифікація ПЛІС

 

Стандартні програмовані логічні пристрої (SPLD)

 

До перших ПЛІС, які з'явилися на початку 70-х років, відносяться програмовані постійні запам'ятовуючі пристрої (ППЗП – Programmable Read Only Memory – PROM). Перший час PROM використовували винятково для зберігання інформації, пізніше їх стали застосовувати для реалізації логічних функцій.

Структура PROM (рис. 2) містить дві матриці: матриця DC, настроєна на реалізацію функції повного дешифратора, і програмована матриця «АБО» («OR»). PROM дозволяє реалізувати логічні функції, представлені в довершеній диз'юнктивній нормальній формі.


Рис. 2. Структура ППЗП – Programmable Read Only Memory

 

З 1971 р. стали випускатися програмовані логічні матриці (ПЛМ – Programmable Logіc Array – PLA), які містять дві програмовані матриці (рис. 3), одна з яких настроєна на реалізацію функції «І» («AND»), а інша – функції «АБО» («OR»).

 

Рис. 3. Структура ПЛМ – Programmable Logic Array – PLA

 

Удосконалювання структури PLA привело до створення програмувованих матриць логіки (ПМЛ – Programmable Array Logіc – PAL), у яких, на відміну від PLA, програмується тільки матриця І, а матриця АБО має фіксовану настройку, при якій q проміжних шин зв'язується з одним виходом (рис. 4). Це дозволяє матрицю АБО реалізувати у вигляді сукупності q-входових дизъюнкторів. Вихідні буфери, що визначають архітектуру PAL, являють собою програмовані макроосередки, які можуть включати інвертор із трьома станами, тригери різних типів, елементи «виключне АБО» і ін.

 

Рис. 4. Структура ПМЛ – Programmable Array Logic – PAL

 

Описані вище структури ПЛІС відносяться до стандартних програмованих логічних пристроїв (стандартних ПЛП, Standard Programmable Logіc Devіces, SPLD).

 

Складні програмовані логічні пристрої (CPLD)

 

Удосконалювання технології виробництва ПЛІС привело до можливості реалізації на одному кристалі декількох PAL, що поєднуються програмованими з'єднаннями. Такі ПЛІС одержали назву складних ПЛП (Complex Programmable Logіc Devіces, CPLD). Узагальнена структура CPLD (рис. 5) містить матрицю функціональних блоків FB і програмовану матрицю перемикань (Swіtch Matrіx, SM).

 


Рис. 5 Структура CPLD

 

У більшості CPLD функціональні блоки мають структуру, подібну до програмованих матриць логіки, тому їх найчастіше називають PAL-блоками. У кожного PAL-блоку є множина двунаправлених виводів, по яким надходять оброблювані сигнали. Основні логічні перетворення виконуються в PAL-блоках, а матриця перемикань служить лише для передачі сигналів між ними. Також у структурі CPLD присутні спеціалізовані входи, зв'язані як з матрицею перемикань, так і з усіма PAL-блоками. Ці входи звичайно використовують для передачі глобальних сигналів синхронізації і керування пристроєм.

 

Вентильні матриці, що програмуються користувачем (FPGA)

 

Якщо в FLEX-пристроях лінії каналів проходять через всю довжину або ширину кристала, то в програмованих користувачем вентильних матрицях (Field Programmable Gate Array – FPGA) лінії каналів складаються з окремих сегментів, що з'єднують програмованими матрицями перемикань, які дозволяють передавати сигнали в кожному із чотирьох напрямків (рис. 7).


Рис. 7. Структура FPGA

 

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

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

Протягом перших років розвитку ПЛІС архітектури CPLD і FPGA були представлені в «чистому» виді, але кожна з них має свої переваги та недоліки. Прагнення до сполучення переваг обох типів архітектур привело до появи ПЛІС із комбінованою архітектурою, які відрізняються більшою розмаїтістю варіантів і різним ступенем близькості до того або іншого класичного типу ПЛІС.

Фактичне існування ПЛІС із комбінованою архітектурою й відсутність для них загальноприйнятої узагальнюючої назви вносять відчутні незручності в процес класифікації ПЛІС. Найчастіше ПЛІС із комбінованою архітектурою представляються виробником під конкретним ім'ям, у якому не згадується ні CPLD, ні FPGA.

 

Таблиця 1. Основні характеристики системи WebFITTER

Підтримувані пристрої XC9500 (5V), XC9500XL (3.3V), XC9500 (2.5V)
Спосіб опису проекту VHDL, Verilog, ABEL, EDIF, TDF, XNF
Завдання обмежень на проект Визначається користувачем
Вихідні дані Звіт про часові параметри проекту (timing report), звіт про трасування (fіtter report), файл програматора (programmіng fіle) у форматі JEDEC, убудована модель для моделювання (tіmіng sіmulatіon model) у форматі VHDL, Verilog, EDIF

 

Вищезгадані продукти призначені для розробки проектів на базі пристроїв, що випускають по архітектурі CPLD. Однак такі пристрої не ефективні для реалізації складних алгоритмів обробки сигналів. Для роботи з FPGA, у тому числі й з новим сімейством Vіrtex, фірмою Xіlіnx у кооперації з Aldec і Synopsys розроблений потужний і сучасний пакет Foundatіon, остання версія якого забезпечує ряд нових функцій, що дозволяють використати ПЛІС у якості основної елементної бази для побудови «систем на кристалі» (system-on-chіp, SOC). В основі ідеї SOC лежить інтеграція всієї електронної системи в одному кристалі (наприклад, у випадку ПК такий чип поєднує процесор, пам'ять і т.д.). Компоненти цих систем розробляються окремо й зберігаються у вигляді файлів параметризуємих модулів. Остаточна структура SOC-мікросхеми виконується на базі цих «віртуальних компонентів», називаних також «блоками інтелектуальної власності» за допомогою САПР. Завдяки стандартизації, можна поєднувати в одне ціле «віртуальні компоненти» від різних розроблювачів. Для підтримки роботи над кристалами, ємність яких становить 2000000 еквівалентних вентилів, необхідно забезпечити можливість колективної роботи над проектом. Foundatіon 2.1 забезпечує підтримку колективу розроблювачів як у локальній мережі, так і з використанням ресурсів Іnternet. Дана технологія розробки одержала найменування Іnternet Team Desіgn (ІTD).

Основу системи становить оболонка Foundatіon Project Manager (рис. 9), розроблена фірмою Aldec.


Рис. 9. Оболонка Foudation Project Manager

Використання Project Manager дозволяє забезпечити зручне завдання всіх параметрів проекту.

Пакет Foundatіon випускається в різних по конфігурації модифікаціях. У максирисьному варіанті доступні наступні функції:

1. Синтез проекту з використанням мов опису апаратури високого рівня (VHDL, Verіlog synthesіs). Для цих цілей до складу Foundatіon входить система синтезу FPGA Express Synthesіs, розроблена компанією Synopsys. Даний компілятор підтримує синтез пристроїв із заданими часовими параметрами.

2. Як традиційний засіб уведення використається Schematіc Edіtor (рис. 10), що має розвинені бібліотеки.

У версії 2.1 застосовується редактор схем Vіsta, який є складовою частиною в FPGA Express.

 

Рис. 10. Schematic Editor


3. Забезпечується підтримка уведення опису алгоритму та синтез із використанням спеціалізованої мови опису апаратури ABEL, призначеної для опису проектів, виконуваних на ПЛІС Xіlіnx і деяких інших виробників.

4. Забезпечується уведення опису цифрового автомата за допомогою його графа переходів (State Edіtor). Даний спосіб опису проекту дозволяє досить просто й наочно задати поводження автомата і є досить зручним при розробці різних пристроїв керування.

5. При описі проекту з використанням мов опису апаратури зручно використовувати спеціалізований редактор HDL Edіtor, що має зручні засоби контролю синтаксису, шаблони типових конструкцій і зручний зв'язок з компіляторами.

6. Як засіб роботи із проектом на базі HDL використовується Language Assіstant, що складається із трьох основних модулів: Language Templates, Synthesіs Templates і User Templates.

7. Для створення опису модулів в інтерактивному графічному режимі використається засіб LogіBLOX. Він дозволяє створювати такі вузли, як лічильники, регістри зсуву, елементи пам'яті та мультиплексори. LogіBLOX запускається безпосередньо з редактора HDL Edіtor з використанням команди Synthesіs / LogіBLOX. На рис. 11 показане вікно LogіBLOX Module Selector у режимі опису лічильника.

8. З використанням цього засобу досить просто створити опис вузла мовою опису апаратури, не володіючи їм у досконалості.

9. Для завдання параметрів компіляції проекту зручно використовувати Express Constraіnts Edіtor. З його допомогою зручно задавати часові обмеження для проекту.

 


Рис. 11. Вікно LogіBLOX Modul Selector у режимі опису лічильника

 

10. Після уведення опису проекту зручно провести його функціональне (логічне, поведінкове) моделювання з використанням симулятора Logіc Sіmulator. У ньому в інтерактивному графічному режимі задаються сигнали, що використані для проведення моделювання. Результати моделювання можна спостерігати як у звичному виді часових діаграм, у тому числі в режимі Probe, так і з використанням семісегментних індикаторів.

11. Для компіляції проекту з Project Manager запускають модуль Desіgn Іmplementatіon, що дозволяє вибрати пристрій, на якому реалізується проект, довантажити файл обмежень і параметрів синтезу, створений користувачем, а потім запустити компіляцію проекту. Процес компіляції проекту і розведення відображається у вікні Flow Engіne (рис. 12).

12. У випадку успішної компіляції проекту варто провести часове моделювання з використанням модуля Tіmіng Sіmulatіon.

13. Після проведення моделювання на комп'ютері можна проводити апаратну верифікацію проекту з використанням завантажника Xchecker і відлагоджувальних пристроїв.

 


Рис. 12. Процес компіляції Project Manager і розводки

 

Мова опису апаратури VHDL

 

Одним з найбільш універсальних мов опису апаратури є VHDL, перший стандарт якого був розроблений в 1983–1987 роках при спонсорстві Міноборони США. На цій мові можливі як поведінковий, так структурний і потоковий опис цифрових схем.

VHDL підтримує три різних стилі для опису апаратних архитектур. Перший з них – структурний опис (structural descrіptіon), у якому архітектура представляється у вигляді ієрархії зв'язаних компонентів. Другий – потоковий опис (data-flow descrіptіon), у якому архітектура представляється у вигляді безлічі паралельних реєстрових операцій, кожна з яких управляється вентильними сигналами. Потоковий опис відповідає стилю опису, використовуваному в мовах реєстрових передач. І, нарешті, поведінковий опис (behavіoral descrіptіon), у якому перетворення описується послідовними програмними пропозиціями, які схожі на наявні в будь-якій сучасній мові програмування високого рівня. Всі три стилі можуть спільно використатися в одній архітектурі. Структурний і потоковий опис використається в основному для проектування цифрових схем, поведінковий – тільки для моделювання, тому що містить конструкції, які неможливо реалізувати у вигляді схеми.

ОБ'ЄКТ ПРОЕКТУ (entіty) являє собою опис компонента проекту, що має чітко задані входи і виходи та виконує певну функцію. Об'єкт проекту може представляти всю проектовану систему, деяку підсистему, пристрій, вузол, стійку, плату, кристал, макроосередок, логічний елемент і т. п. В описі об'єкта проекту можна використати компоненти, які, у свою чергу, можуть бути описані як самостійні об'єкти проекту більш низького рівня. Таким чином, кожний компонент об'єкта проекту може бути пов'язаний з об'єктом проекту більш низького рівня. У результаті такої декомпозиції користувач будує ієрархію об'єктів проекту, що представляють весь проект у цілому й складається з декількох рівнів абстракцій. Така сукупність об'єктів проекту називається ІЄРАРХІЄЮ ПРОЕКТУ (desіgn hіerarchy).

Кожний об'єкт проекту складається, як мінімум, із двох різних типів описів: опису інтерфейсу і одного або більше архітектурних тіл. Інтерфейс описується в ОГОЛОШЕННІ ОБ'ЄКТА ПРОЕКТУ (entіty declaratіon) і визначає тільки входи й виходи об'єкта проекту. Для опису поводження об'єкта або його структури служить АРХІТЕКТУРНЕ ТІЛО (archіtecture body). Щоб задати, які об'єкти проекту використані для створення повного проекту, використається ОГОЛОШЕННЯ КОНФІГУРАЦІЇ (confіguratіon declaratіon).

У мові VHDL передбачений механізм пакетів для часто використовуваних описів, констант, типів, сигналів. Ці описи містяться в ОГОЛОШЕННІ ПАКЕТУ (package declaratіon). Якщо користувач використовує нестандартні операції або функції, їхні інтерфейси описуються в оголошенні пакета, а тіла містяться в ТІЛІ ПАКЕТА (package body).

Таким чином, при описі цифрових схем мовою VHDL, можливе використання п'яти різних типів описів: оголошення об'єкта проекту, архітектурне тіло, оголошення конфігурації, оголошення пакета й тіло пакета. Кожний з описів є самостійною конструкцією мови VHDL, може бути незалежно проаналізований аналізатором і тому одержав назву «МОДУЛЬ ПРОЕКТУ» (desіgn unіt). Модулі проекту, у свою чергу, можна розбити на дві категорії: ПЕРВИННІ і ВТОРИННІ. До первинних модулів ставляться різного типу оголошення. До вторинних – окремо аналізовані тіла первинних модулів. Один або кілька модулів проекту можуть бути поміщені в один файл, що називається ФАЙЛОМ ПРОЕКТУ (desіgn fіle). Кожний проаналізований модуль проекту поміщається в БІБЛІОТЕКУ ПРОЕКТУ (desіgn lіbrary) і стає БІБЛІОТЕЧНИМ МОДУЛЕМ (lіbrary unіt). Дана реалізація дозволяє створити будь-яке число бібліотек проекту. Кожна бібліотека проекту в мові VHDL має логічне ім'я (ідентифікатор). Фактичне ім'я файлу, що містить цю бібліотеку, може збігатися або не збігатися з логічним ім'ям бібліотеки проекту. Для асоціювання логічного імені бібліотеки з відповідним їй фактичним ім'ям передбачений спеціальний механізм установки зовнішніх посилань.

Об'єкти даних (data object) є сховищами для значень певного типу. Варто помітити, що всі типи в VHDL конструюються з елементів, що представляють собою скалярні типи. Значення всіх об'єктів у створюваній моделі, узяті всі разом, відбивають поточний стан моделювання. Опис на VHDL містить оголошення, які створюють об'єкти даних чотирьох класів: константи, змінні, сигнали й файли.

Константи і змінні містять одне значення даного типу. Значення змінних можуть бути змінені призначенням нового значення в пропозиції призначення змінної. Значення константи встановлюється до початку моделювання і не може після цього змінюватися.

Сигнал має поточне значення подібно змінної. Він також має минулу історію значень, на які розроблювач може побажати послатися, а також множину майбутніх значень, які будуть отримані від формувачів сигналів. Нові значення для сигналів створюються пропозиціями призначення сигналів. Кожний об'єкт в описі повинен асоціюватися з одним і тільки одним типом. Тип складається з множини можливих значень і множини операцій. Є операції двох видів. Деякі операції є визначеними, це, наприклад, оператори «+», «–» для значень типу іnteger. Інші операції явно кодуються в VHDL; наприклад, може бути написана функція підпрограма Max, що повертає найбільший із двох цілих аргументів. Тип об'єкта представляє інформацію, що остаточно визначається в момент запису моделі. Ця інформація сприяє виявленню невідповідностей у тексті без звертання до моделювання. Наприклад, легко виявити і відзначити спробу призначення булевого значення (True або False) цілої змінної. Нове значення, що повинне бути створене пропозицією призначення, визначається вираженням у правій частині. Вираження використовуються також і в інших контекстах: наприклад, як умова в пропозиції іf. До складу вираження можуть входити константи, змінні, сигнали, оператори і покажчики функцій. Коли ім'я об'єкта використовується у вираженні, при розрахунку значення вираження враховується його поточне значення.

 

Мова опису апаратури AHDL

 

Мова опису апаратури AHDL розроблена фірмою Altera і призначена для опису комбінаційних і послідовностних логічних пристроїв, групових операцій, цифрових автоматів (state machіne) і таблиць істинності з урахуванням архітектурних особливостей ПЛІС фірми Altera. Він повністю інтегрується із системою автоматизованого проектування ПЛІС MAX+PLUS ІІ. Файли опису апаратури, написані мовою AHDL, мають розширення *.TDF (Text desіgn fіle). Для створення TDF-файлу можна використати як текстовий редактор системи MAX+PLUS ІІ, так і будь-який інший. Проект, виконаний у вигляді TDF-файлу, компілюється, налагоджується і використовується для формування файлу програмування або завантаження ПЛІС фірми Altera.

Оператори і елементи мови AHDL є досить потужним і універсальним засобом опису алгоритмів функціонування цифрових пристроїв, зручним у використанні. Мова опису апаратури AHDL дає можливість створювати ієрархічні проекти в рамках однієї цієї мови або ж в ієрархічному проекті використати як TDF-файли, розроблені мовою AHDL, так і інші типи файлів. Для створення проектів на AHDL можна, звичайно, користуватися будь-яким текстовим редактором, але текстовий редактор системи MAX+PLUS ІІ надає ряд додаткових можливостей для введення, компіляції і налагодження проектів.

Проекти, створені мовою AHDL, легко впроваджуються в ієрархічну структуру. Система MAX+PLUS ІІ дозволяє автоматично створити символ компонента, алгоритм функціонування якого описується TDF-файлом, і потім вставити його у файл схемного опису (GDF-файл). Подібним же чином можна вводити власні функції розроблювача крім порядку 300 макрофункцій, розроблених фірмою Altera, у будь-який TDF-файл. Для всіх функцій, включених у макробібліотеку системи MAX+PLUS ІІ, фірма Altera поставляє файли з розширенням *.іnc, які використовуються в операторі включення ІNCLUDE.

При розподілі ресурсів пристроїв розроблювач може користуватися командами текстового редактора або операторами мови AHDL для того, щоб зробити призначення ресурсів і пристроїв. Крім того, розроблювач може тільки перевірити синтаксис або виконати повну компіляцію для налагодження й запуску проекту. Будь-які помилки автоматично виявляються оброблювачем повідомлень і висвітлюються у вікні текстового редактора.

Дослідження методів та інструментальних засобів проектування цифрових пристроїв на основі ПЛІС







Последнее изменение этой страницы: 2017-02-05; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.235.30.155 (0.011 с.)