p>
У загальному випадку розробка складних ієрархічних проектів на ПЛІС нічим не відрізняється від відомих підходів до проектування цифрових систем. Тут можливе проектування як зверху вниз , так і знизу вгору , використання бібліотек стандартних блоків і функціональних вузлів, а також запозичення досвіду попередніх розробок. Розглянемо більш докладно основні етапи методики проектування на основі ПЛІС.
Введення проекту
Введення проекту полягає в описі одним із способів машинного подання всіх частин проекту. Різні пакети мають різні способи введення, але найбільш поширеними є такі:
В· текстовий;
В· схемний;
В· у вигляді тимчасових діаграм;
В· завдання графа переходів.
Текстовий введення передбачає опис проекту (або його частини) на деякому вихідному мовою використовуваного програмного засобу у вигляді текстового файлу. Найбільшого поширення набули мови опису апаратури VHDL і Verilog. Текстовий файл вихідного опису проекту, як правило, включає заголовок, визначення змінних і призначення їм відповідних висновків ПЛІС, а також опис функціонування пристрою у вигляді логічних рівнянь, алгоритму функціонування, таблиці істинності або кінцевого автомата. Більш детально даний процес введення проекту буде розглянуто нижче. p align="justify"> Схемний введення здійснюється за допомогою графічного редактора використовуваного програмного засобу. Для зручності введення принципових схем великих проектів графічний редактор, як правило, містить бібліотеки стандартних елементів жорсткої логіки (наприклад, серії 7400), а також бібліотеку параметризованих функціональних вузлів (вентилів, шифраторів, дешифраторів, мультиплексорів, демультіплексорів, тригерів, регістрів, лічильників і т . д.).
Введення проекту у вигляді тимчасової діаграми здійснюється за допомогою графічного редактора. Спочатку визначаються змінні (сигнали) проекту, а потім описується поведінка пристрою у вигляді тимчасової діаграми. p align="justify"> Спосіб введення проекту у вигляді графа переходів дозволяє просто і наочно задати поведінку проектованих цифрових автоматів при розробці різних пристроїв управління.
Практично всі сучасні пакети САПР допускають введення ієрархічних проектів, причому в одному проекті застосовується поєднання різноманітних методів вводу. Складний ієрархічний проект не обов'язково відразу вводити повністю. Його можна вводити і компілювати по гілках дерева ієрархії. p align="justify"> Синтез проекту
Автоматизований синтез цифрових проектів фактично полягає в компіляції вихідного опису проекту у внутрішнє представлення використовуваного програмного засобу (абсолютний файл і/або JEDEC-файл для налаштування ПЛІС). У подальшому абсолютний файл використовується для моделювання. Багато пакети також дозволяють формувати файли для зв'язку проекту з іншими пакетами функціонально-логічного та конструкторського проектування. Завдання оптимізації, які вирішуються на цьому етапі, зводяться до мінімізації логічних функцій, керуючих вихідними макроячейками ПЛІС. p align="justify"> Моделювання проекту
Моделювання ділиться на функціональний, тимчасове (часовий аналіз) і фізичне. Функціональне моделювання виконується програмним забезпеченням на підставі тестових вхідних векторів і аналізу отриманих вихідних сигналів. Тестові вектори можуть задаватися у файлі вихідного опису проекту або знаходитися в окремому файлі. Багато пакети допускають завдання тестових векторів у вигляді тимчасових діаграм. При функціональному моделюванні можливе вирішення наступних завдань:
В· визначення вихідних значень по заданих вхідним впливів;
В· порівняння обчислених вихідних значень з еталонними;
В· моделювання несправностей пристрою.
Тимчасовий моделювання виконується на тимчасових моделях ПЛІС і полягає у визначенні часу проходження та формування різних сигналів. Результати тимчасового моделювання можуть також представлятися у вигляді тимчасових діаграм. p align="justify"> Крім того, за допомогою окремої програми, званої тимчасовим аналізатором, проводиться аналіз з метою виявлення шляхів сигналів, критичних за швидкістю. Оптимізація шляхів поширення сигналів може підвищити швидкодію всього проекту. p align="justify"> Моделювання проекту на фізичному рівні (тестування на программаторе) здійснюєть...