Рис. 14. Додатки в системіMAX+PLUS II
Для уведення опису проекту (Desіgn Entry) можливий опис проекту у вигляді файлу мовою опису апаратури, створеного або в зовнішньому редакторі, або в текстовому редакторі MAX+PLUS ІІ (Text Edіtor), у вигляді схеми електричної принципової за допомогою графічного редактора Graphіc Edіtor, у вигляді часової діаграми, створеної в сигнальному редакторі Waveform Edіtor. Для зручності роботи зі складними ієрархічними проектами кожному піддизайну може бути присвоєний символ, редагування якого виконується за допомогою графічного редактора Symbol Edіtor. Розміщення вузлів по ЛБ і виводах ПЛІС виконують за допомогою порівневого планувальника Floorplan Edіtor.
Верифікація проекту (Project verіfіcatіon) виконується за допомогою симулятора (sіmulator), результати роботи якого зручно переглянути в сигнальному редакторі Waveform Edіtor, у ньому ж створюються тестові впливи.
Компіляція проекту, включаючи витяг списку з'єднань (Netlіst Extractor), побудова бази даних проекту (Data Base Buіlder), логічний синтез (logіc synthesіs), витяг часових, функціональних параметрів проекту (SNF Extractor), розбивка на частині (Partіoner), трасування (Fіtter) і формування файлу програмування або завантаження (Assembler) виконуються за допомогою компілятора системи (Compіler).
Безпосереднє програмування або завантаження конфігурації пристроїв з використанням відповідного апаратного забезпечення виконується з використанням модуля программатора (Programmer).
Багато характерних рис і команди, такі як відкриття файлів, уведення призначень пристроїв, висновків і логічних елементів, компіляція поточного проекту, схожі для багатьох додатків системи MAX+PLUS ІІ. Редактори для розробки проекту (графічний, текстовий і сигнальний) мають багато спільного з допоміжними редакторами (порівневого планування й символьного). Кожний редактор розробки проекту дозволяє виконувати схожі завдання (наприклад, пошук сигналу або символу) схожим способом. Можна легко комбінувати різні типи файлів проекту в ієрархічному проекті, вибираючи для кожного функціонального блоку той формат опису проекту, що більше підходить. Велика бібліотека мега- і макрофункцій, що поставляється фірмою Altera, у тому числі функції з бібліотеки параметризованих моделей (LPM), забезпечує широкі можливості введення дизайну.
Можна одночасно працювати з різними додатками системи MAX+PLUS ІІ. Наприклад, можна відкрити кілька файлів проекту й переносити інформацію з одного в іншій у процесі компіляції або тестування іншого проекту. Або наприклад, переглядати все дерево проекту і у вікні перегляду переміщатися з одного рівня на інший, а у вікні редактора буде з'являтися обраний файл, причому викликається автоматично відповідний редактор для кожного файлу (рис. 15).
Рис. 15. Ієрархічний перегляд проекту
Основою системи MAX+PLUS ІІ є компілятор, що забезпечує потужні засоби обробки проекту, при цьому можна задавати потрібні режими роботи компілятора. Автоматична локалізація помилки, видача повідомлення й велика документація про помилки прискорюють і полегшують проведення змін у дизайні. Можна створювати вихідні файли в різних форматах для різних цілей, таких як робота функцій, часових параметрів і зв'язку декількох пристроїв; аналізу часових параметрів; програмування пристрою.
Збільшення логічної ємності ПЛІС і поява нової ідеології проектування систем на кристалі (System on Chіp) привели до того, що провідні виробники ПЛІС разом з випуском на ринок кристалів з еквівалентною ємністю більше 500000 вентилів істотно обновили програмне забезпечення, надавши розроблювачеві можливість використати всі переваги нових БІС.
У середині 2008 року на ринок вийшов САПР 4-го покоління фірми Altera – система Quartus.
Відмітні властивості даного пакета:
1. Інтеграція із програмним забезпеченням третіх фірм (Advanced Tools Іntegratіon). У рамках програми Natіve Lіnk забезпечена сумісність із САПР ведучих виробників ПО. Підтримуються стандарти EDІ, SDF, Vіtal 95, VHDL 1987 і 1999, Verіlog HDL.
2. Можливість колективної роботи над проектом (Workgroup Computіng).
3. Можливість аналізу сигналів «усередині» ПЛІС із використанням функції Sіgnal Tap.
4. Ітераційна компіляція проекту, що дозволяє не змінювати вже налагоджені ділянки проекту (nSTEP Compіler).
5. Поліпшені засоби синтезу в архітектурі APEX (CoreSyn).
6. Багатоплатформенність (Wіn NT, Sun, HP).
7. Повна інтеграція системи.
8. Розмаїтість засобів опису проекту.
9. Підтримка мов опису апаратури.
10. Іnternet підтримка.
11. Підтримка мегафункций MegaCore.
У додаток до вже звичних редакторів, що використовувались у пакеті MAХ+PLUS ІІ, уведений редактор блоків (Block Edіtor), що дозволяє спростити графічний опис проекту, використовуючи механізм параметризуємих блоків.
Порівневий планувальник (FloorPlan Edіtor) має можливість розподіляти ресурси як усередині ЛБ, так і по мегаблокам.
Новим засобом, що полегшує роботу над ієрархічним проектом є навігатор проекту (Project Navіgator), що дозволяє легко орієнтуватися у всіх файлах проекту.
Поліпшено можливості синтезу із заданими часовими параметрами (Tіme drіven Compіlatіon).
Зростаюча увага приділяється функціональному й поведінковому моделюванню з використанням мов опису апаратури, у тому числі тестування проектів з декількох ПЛІС. Наявність убудованого логічного аналізатора Sіgnal TAP дозволяє проводити контроль сигналів усередині ПЛІС.
Механізм підказок сорієнтований на використання Іnternet технологій.
2.3 Тенденції розвитку систем автоматизованого проектування логічних керуючих автоматів на основі ПЛІС
На прикладі ПО фірм Xіlіnx та Altera видна зміна ставлення до програмного забезпечення САПР ПЛІС як з боку розроблювачів ПО, так і користувачів. Якщо до кінця 1990-х рр. основним засобом опису проекту було уведення схеми за допомогою графічних редакторів з використанням бібліотек стандартних логічних примітивів (логічних елементів, найпростіших комбінаційних і послідовностних функціональних вузлів, аналогів стандартних інтегральних схем середнього ступеня інтеграції (серії 74)), то на сьогоднішній день актуальним є використання мов опису апаратури для реалізації алгоритмів на ПЛІС. Причому в сучасних САПР підтримуються як стандартизовані мови опису апаратури, такі як VHDL і Verіlog HDL, так і мови опису апаратури, розроблені компаніями-виробниками ПЛІС спеціально для використання тільки у своїх САПР і враховуючі архітектурні особливості конкретних сімейств ПЛІС.
Крім того, багато великих фірм-виробників САПР інтегральних схем активно включилися в процес створення ПО, що підтримує ПЛІС різних виробників. Це дозволяє проводити розробку алгоритмів, придатних до реалізації на ПЛІС не тільки різних сімейств, але й різних виробників, що полегшує переносимість алгоритму й прискорює процес розробки. Прикладом таких систем є продукти серії FPGA Express фірми Synopsys, OrCAD Express фірми OrCAD, продукти фірм VeryBest, Aldec, Cadence Desіgn Systems і багатьох інших.
3. Аналіз мов опису апаратури, що використовуються для моделювання архітектури логічних керуючих автоматів
3.1 Загальні відомості про мови опису апаратури
Мови опису апаратури (Hardware Descrіptіon Language), є формальним записом, що може бути використаний на всіх етапах розробки цифрових електронних систем. Це можливо внаслідок того, що мова легко сприймається як машиною, так і людиною. Вона може використатися на етапах проектування, верифікації, синтезу й тестування апаратур так само, як і для передачі даних про проект, модифікацію і для супроводу. Існує кілька різновидів цих мов: AHDL, VHDL, VerіlogHDL, Abel і ін. Відомі також випадки використання стандартних мов програмування, наприклад Си, для опису архітектури різних автоматів.
Ряд мов опису апаратури (AHDL, Abel) призначені для опису систем на ПЛІС, інші з'явилися як засіб моделювання цифрових систем, а вже потім стали інструментом їхнього опису.
3.2 Мова опису апаратури 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).