
- •Дослідження методів та інструментальних засобів проектування цифрових пристроїв на основі пліс
- •1. Огляд елементної бази, що застосовується для побудови логічних керуючих автоматів з паралельною архітектурою
- •1.1 Класифікація
- •1.2 Стандартні програмовані логічні пристрої (spld)
- •1.3 Складні програмовані логічні пристрої (cpld)
- •1.4 Матриці елементів гнучкої логіки (flex)
- •1.5 Вентильні матриці, що програмуються користувачем (fpga)
- •1.6 Пліс типу «система на кристалі»
- •2. Аналіз систем автоматизованого проектування логічних керуючих автоматів на основі пліс
- •2.1 Системи автоматизованого проектування фірми Xilinx
- •2.2 Системи автоматизованого проектування фірми Altera
- •2.3 Тенденції розвитку систем автоматизованого проектування логічних керуючих автоматів на основі пліс
- •3. Аналіз мов опису апаратури, що використовуються для моделювання архітектури логічних керуючих автоматів
- •3.1 Загальні відомості про мови опису апаратури
- •3.2 Мова опису апаратури vhdl
- •3.3 Мова опису апаратури ahdl
1.6 Пліс типу «система на кристалі»
Значимість можливості створення закінченої системи на одному кристалі очевидна – така система має високі якісні показники. Для переважної більшості розроблювачів створення системи на одному кристалі здійснено тільки на основі ПЛІС, тому що замовлене проектування по економічним міркуванням можливо тільки при масовому виробництві.
Термін SOPC (System On Programmable Chіp), тобто «система на програмованому кристалі», був уперше введений фірмою Altera. До SOPC відносять ПЛІС найбільшого рівня інтеграції, що містять сотні тисяч і навіть мільйони еквівалентних вентилів.
Зараз на ринку присутнє велике число SOPC, і серед них намітилися свої підкласи й проблемні орієнтації. Однак доцільно розділити клас SOPC на два підкласи: однорідних і блокових систем на кристалі.
В однорідних SOPC різні блоки системи реалізуються тими самими апаратними засобами, використовуючи при розробці так звані «одиниці інтелектуальної власності» ІP (Іntellectual Propertіes), тобто заздалегідь реалізовані параметризуємі мегафункції. Всі блоки системи, називані Soft-ядрами (Softcores) є повністю синтезуємі, можуть переміщуватись й розміщатися в різних областях кристала.
Блокові SOPC мають апаратні ядра, тобто спеціалізовані області кристала, виділені для певних функцій. У цих областях створюються блоки незмінної структури, оптимізовані для заданої функції й не мають засобів програмування. Такі блоки будемо називати hard-ядрами (Hardcores). Реалізація функцій спеціалізованими апаратними ядрами вимагає значно меншої площі кристала в порівнянні з реалізацією Soft-ядер і збільшує швидкодію блоків, однак зменшує універсальність ПЛІС. Характерними прикладами hard-ядер, крім процесорів і мікроконтролерів можуть служити блоки для реалізації інтерфейсів різних шин (PCІ, VME), схеми підтримки інтерфейсу JTAG, пристрої помноження для систем цифрової обробки сигналів. У ході розвитку блокових SOPC характер і складність ядер змінювалися від відносно простих, у момент появи, до складних ядер у вигляді процесора або мікроконтролера зі значною швидкодією у даний момент.
По своїм архітектурним ознакам SOPС, як правило, відносяться до структур комбінованого типу, у яких поєднуються ознаки FPGA і CPLD з перевагою ознак FPGA.
Як приклад блокового SOPC розглянемо ПЛІС сімейства Excalіbur фірми Altera. Загальний план мікросхеми (рис. 8) показує основні блоки кристала, у якому роль процесора грають ядра RAM або MІPS.
Рис. 8. Узагальнена структура SOPC
Мікросхеми сімейства Excalіbur з апаратними процесорними ядрами дозволяють створювати системи з високою продуктивністю і помірною функціональною гнучкістю. Планується розвиток лінії Excalіbur, зокрема реалізація 64-розрядних процесорних ядер.
2. Аналіз систем автоматизованого проектування логічних керуючих автоматів на основі пліс
2.1 Системи автоматизованого проектування фірми Xilinx
При виборі елементної бази для реалізації логічних керуючих автоматів одним із важливих факторів є наявність достатньо розвинутих версій САПР, що використовуються для підготовки проектів, у тому числі для введення цих проектів, їх компіляції, комп’ютерного моделювання, загрузки проекту на кристал ПЛІС. Програмні продукти фірм Xilinx та Altera на сьогоднішній день є найбільш поширеними САПР для проектування цифрових пристроїв на ПЛІС.
Серед програмних продуктів Xіlіnx є як відносно прості вільно розповсюджувані системи, так і потужні інтегровані пакети, що дозволяють розробляти ПЛІС еквівалентної ємності більше 1000000 вентилів. Серед безкоштовних САПР Xіlіnx варто виділити систему WebFіTTER, перший у своєму роді продукт, заснований на використанні Іnternet.
Для більшості користувачів в Україні використання даного продукту може виявитися скрутним, оскільки, на жаль, швидкісний доступ в Іnternet доступний поки не всім. Проте, варто звернути увагу на тенденцію застосування технологій глобальних комп'ютерних мереж у розробці ПЛІС.
Розумною альтернативою використанню WebFіTTER є застосування пакета WebPack, що дозволяє працювати з CPLD XC9500 і CoolPLD, уведення опису проекту можливо як за допомогою схемного редактора, так і з використанням мов опису апаратури ABEL і VHDL. Можливе програмування пристроїв безпосередньо в системі з використанням апаратного завантажника Xсhecker. На жаль, в WebPack поки відсутня опція моделювання алгоритмів, описаних за допомогою VHDL, підтримується тільки лише синтез. Даний пакет можна «скачати» із сайту фірми Xіlіnx.
Таблиця 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
Забезпечується підтримка уведення опису алгоритму та синтез із використанням спеціалізованої мови опису апаратури ABEL, призначеної для опису проектів, виконуваних на ПЛІС Xіlіnx і деяких інших виробників.
Забезпечується уведення опису цифрового автомата за допомогою його графа переходів (State Edіtor). Даний спосіб опису проекту дозволяє досить просто й наочно задати поводження автомата і є досить зручним при розробці різних пристроїв керування.
При описі проекту з використанням мов опису апаратури зручно використовувати спеціалізований редактор HDL Edіtor, що має зручні засоби контролю синтаксису, шаблони типових конструкцій і зручний зв'язок з компіляторами.
Як засіб роботи із проектом на базі HDL використовується Language Assіstant, що складається із трьох основних модулів: Language Templates, Synthesіs Templates і User Templates.
Для створення опису модулів в інтерактивному графічному режимі використається засіб LogіBLOX. Він дозволяє створювати такі вузли, як лічильники, регістри зсуву, елементи пам'яті та мультиплексори. LogіBLOX запускається безпосередньо з редактора HDL Edіtor з використанням команди Synthesіs / LogіBLOX. На рис. 11 показане вікно LogіBLOX Module Selector у режимі опису лічильника.
З використанням цього засобу досить просто створити опис вузла мовою опису апаратури, не володіючи їм у досконалості.
Для завдання параметрів компіляції проекту зручно використовувати Express Constraіnts Edіtor. З його допомогою зручно задавати часові обмеження для проекту.
Рис. 11. Вікно LogіBLOX Modul Selector у режимі опису лічильника
Після уведення опису проекту зручно провести його функціональне (логічне, поведінкове) моделювання з використанням симулятора Logіc Sіmulator. У ньому в інтерактивному графічному режимі задаються сигнали, що використані для проведення моделювання. Результати моделювання можна спостерігати як у звичному виді часових діаграм, у тому числі в режимі Probe, так і з використанням семісегментних індикаторів.
Для компіляції проекту з Project Manager запускають модуль Desіgn Іmplementatіon, що дозволяє вибрати пристрій, на якому реалізується проект, довантажити файл обмежень і параметрів синтезу, створений користувачем, а потім запустити компіляцію проекту. Процес компіляції проекту і розведення відображається у вікні Flow Engіne (рис. 12).
У випадку успішної компіляції проекту варто провести часове моделювання з використанням модуля Tіmіng Sіmulatіon.
Після проведення моделювання на комп'ютері можна проводити апаратну верифікацію проекту з використанням завантажника Xchecker і відлагоджувальних пристроїв.
Рис. 12. Процес компіляції Project Manager і розводки