Протягом останніх років, для багатьох розроблювачів цифрової апаратури стало ясно, що програмувальні логічні інтегральні схеми (ПЛІС) - зручна в освоєнні й застосуванні елементна база, альтернативи якої найчастіше не знайти. Останні роки характеризуються різким ростом щільності впакування елементів на кристалі. Багато провідних виробників або почали серійне виробництво, або анонсували ПЛІС із еквівалентною ємністю більше 1 мільйона логічних вентилів.
ІС ПМЛ (PLD) мають архітектуру, досить зручну для реалізації цифрових автоматів. Розвиток цієї архітектури - програмувальні комутуючі матричні блоки, (ПКМБ) - це ПЛІС, що містять кілька матричних логічних блоків (МЛБ), об'єднаних комутаційною матрицею. Кожен МЛБ являє собою структуру типу ПМЛ, тобто програмувальну матрицю “І”, фіксовану матрицю “АБО” і макроосередки. ПЛІС типу ПКМБ, як правило, мають високий ступінь інтеграції (до 10000 еквівалентних вентилів, до 256 макроосередків). До цього класу відносяться ПЛІС сімейства МАХ5000 і МАХ7000 фірми “Altera”, схеми ХС7000 і ХС9500 фірми “Xilinx”, а також велика кількість мікросхем інших виробників (“Atmel”, “Vantis”, “Lucent” й ін.). У закордонній літературі вони одержали назву Complex Programmable Logic Devices (CPLD).
Інший тип архітектури ПЛІС — програмувальні вентильні матриці (ПВМ), що складаються з логічних блоків (ЛБ) і комутуючих шляхів - програмувальних матриць з'єднань. ДО ПВМ класу відносяться ПЛІС ХС2000, ХСЗООО, ХС4000, Spartan, Virtex фірми “Xilinx”, ACT1, АСТ2 фірми “Actel”, а також сімейства FLEX8000 фірми “Altera”, деякі ПЛІС “Atmel” й “Vantis”.
У даному методичному посібнику розглядаються питання проектування пристроїв обробки інформації на базі ПЛІС фірми “Altera”.
Фірма “Altera Corporation” була заснована в червні 1983 року. У цей час High-end (високотехнологічним) продуктом цієї фірми є сімейство ПЛІС АРЕХ20К.
Додатковим фактором при виборі ПЛІС “Altera” є наявність достатньо розвинених безкоштовних версій систем автоматизованого проектування (САПР). У таблиці наведені основні характеристики пакета MAX+PUJS II BASELINE ver. 9.3 фірми “Altera”, який можна безкоштовно “скачати” із сайту або одержати на CD “Altera Digital Library”, на якому міститься також і повний набір документації по архітектурі й застосуванню ПЛІС.
Основні характеристики пакета MAX+PLUS II BASELINE ver. 9.3
Підтримувані пристрої
EPF10K10, EPF10K10A, EPF10K20, EPF10K30, EPF10K30A, EPF10K30E (до 30000 еквівалентних вентилів), ЕРМ9320, ЕРМ9320А, EPF8452A, EPF8282A, МАХ7000, FLEX 6000, MAX 5000, MAX 3000A, Classic
Засоби опису проекту
Схемне введення, підтримка AHDL, засоби інтерфейсу із САПР третіх фірм, топологічний редактор, ієрархічна структура проекту, наявність бібліотеки проектованих модулів
Засоби компіляції проекту
Логічний синтез і трасування, автоматичне виявлення помилок, підтримка мегафункцій з програм MegaCore й АМРР
Засоби верифікації проекту
Часовий аналіз, функціональне й часове моделювання, аналіз сигналів, можливість використання програм моделювання (симуляторів) третіх фірм
Нижче наводиться деякі сімейства ПЛІС, які становлять структурний базис MAX+PLUS II:
До останнього часуMAX+PLUS II являється єдиною системою проектування пристроїв на ПЛІСAlters. Тільки в 1999 році з'явилася система проектування нового поколінняQuartus, призначена для розробки пристроїв на ПЛІС АРЕХ20К. Програмне забезпечення системи MAX+PLUS II, що представляє собою єдине ціле, забезпечує керування користувачем середовищем логічного проектування і допомагає досягти максимальної ефективності й продуктивності. Всі пакети працюють як на платформі IBM PC, так і на платформах SUN, IBM RISC/6000 і НР9000. Надалі ми будемо розглядати роботу на платформі IBM PC.
Під час інсталяції системиMAX+PLUS II створюються два каталоги:\maxplus2 і \max2work. Каталог\maxplus2 розбитий на підкаталоги, в яких міститься системне ПО і файли даних.
Каталог\max2work також розділяється на підкаталоги, в яких містяться файли навчальної програми і приклади.
Назва системи MAX+PLUS II є абревіатурою від Multiple Array Matrix Programmable Logic User System (Користувальницька система програмування логіки впорядкованих структур). Система MAX+PLUS II розроблена фірмою Altera і забезпечує багатоплатформне архітектурно незалежне середовище створення дизайну, що легко пристосовується для конкретних вимог користувача. Система MAX+PLUS II має засоби зручного введення дизайну, швидкого прогону й безпосереднього програмування пристроїв.
Склад програмного забезпечення системи MAX+PLUS II є повним комплектом, що забезпечує створення логічних дизайнів для пристроїв фірми Altera із програмованою логікою, у тому числі сімейства пристроїв Classic, MAX 5000, MAX 7000, MAX 9000, FLEX 6000, FLEX 8000 й FLEX 10K. Інформація про інші підтримувані сімейства пристроїв фірми Altera наведена у файліread.me у системі MAX+PLUS II.
Система МАХ+PLUS II пропонує повний спектр можливостей логічного дизайну: різноманітні засоби опису проектів з ієрархічною структурою, потужний логічний синтез, компіляцію із заданими часовими параметрами, поділ на частини, функціональне й часове тестування (симуляцію), тестування декількох зв'язаних пристроїв, аналіз часових параметрів системи, автоматичну локалізацію помилок, а також програмування й верифікацію пристроїв. У системі MAX+PLUS II можна як читати, так і записувати файли мовою AHDL і файли трасування у форматі EDIF, файли на мовах опису апаратури Verilog HDL й VHDL, а також схемні файли OrCAD. Крім того, система MAX+PLUS II читає файли трасування, створені за допомогою ПО Xilinx, і записує файли затримок у форматі SDF для зручності взаємодії з пакетами, що працюють із іншими промисловими стандартами.
Система MAX+PLUS II пропонує користувачеві багатий графічний інтерфейс, доповнений ілюстрованою оперативною довідковою системою. У повну систему MAX+PLUS II входять 11 вбудованих у систему додатків. Сукупність ієрархічно зв'язаних файлів проекту Design file називається проектом (project).
Можливий опис проекту Design Entry у вигляді файлу мовою опису апаратури, створеного або в зовнішньому редакторі, або в текстовому редакторі MAX+PLUS II (Text Editor), у вигляді схеми електричної принципової за допомогою графічного редактора Graphic Editor, у вигляді часової діаграми, створеної в сигнальному редакторі Waveform Editor. Для зручності роботи зі складними ієрархічними проектами кожному піддизайну може бути зіставлений символ, редагування якого здійснюється за допомогою графічного редактора Symbol Editor. Розміщення вузлів по ЛБ і виводах ПЛІС виконують за допомогою порівневого планувальника Floorplan Editor.
Верифікація проекту (Project verification) виконується за допомогою симулятора (simulator), результати роботи якого зручно переглянути в сигнальному редакторі Waveform Editor. Тестові впливи створюються також у сигнальному редакторі.
Компіляція проекту, включаючи вибірку списку з'єднань (Netlist Extractor), побудова бази даних проекту (Data Base Builder), логічний синтез (logic synthesis), вибір часових, функціональних параметрів проекту (SNF Extractor), розбивка на частини (Partloner), трасування (Fitter) і формування файлу програмування або завантаження (Assembler) виконуються за допомогою компілятора системи (Compiler).
Безпосереднє програмування або завантаження конфігурації пристроїв з використанням відповідного апаратного забезпечення виконується з використанням модуля програматора (Programmer).
Багато характерних рис і команд - такі, як відкриття файлів, введення призначень пристроїв, виводів і логічних елементів, компіляція поточного проекту - схожі для багатьох додатків системи MAX+PLUS II. Редактори для розробки проекту (графічний, текстовий і сигнальний) мають багато спільного з допоміжними редакторами (порівневого планування й символьним). Кожен редактор розробки проекту дозволяє виконувати схожі завдання (наприклад, пошук сигналу або символу) схожим способом. Можна легко комбінувати різні типи файлів проекту в ієрархічному проекті, вибираючи для кожного функціонального блоку той формат опису проекту, що більше підходить. Велика бібліотека, що поставляється фірмою Altera, мега- і макрофункцій, у тому числі функції з бібліотеки параметризованих моделей (LPM), забезпечує широкі можливості введення дизайну.
Можна одночасно працювати з різними додатками системи MAX+PLUS II. Наприклад, можна відкрити кілька файлів проекту і переносити інформацію з одного в інший у процесі компіляції або тестування іншого проекту або наприклад, переглядати все дерево проекту й у вікні перегляду переміщатися з одного рівня на інший, а у вікні редактора буде з'являтися обраний вами файл, причому викликається автоматично відповідний редактор для кожного файлу.
Основою системи MAX+PLUS II є компілятор, що забезпечує потужні засоби обробки проекту, при цьому можна задавати потрібні режими роботи компілятора. Автоматична локалізація помилки, видача повідомлення й обширна документація про помилки прискорюють і полегшують проведення змін у дизайні. Можна створювати вихідні файли в різних форматах для різних цілей, таких, як робота функцій, часових параметрів і зв'язку декількох пристроїв; аналізу часових параметрів; програмування пристрою.