Малюк Е.В.

 

АНАЛІЗ СУЧАСНИХ ЗАСОБІВ РОЗРОБКИ СТРУКТУР МІКРОПРОГРАМНИХ ПРИСТРОЇВ КЕРУВАННЯ НА ПЛМ І ПЗП 

 

1.1  Огляд сучасних САПР

 

Данная научная работа была на конкурс на лучшую научную работу студентов за разделом "Техничная кибернетика, вычислительная, микропроцессорная техника и информатика" 2006 года.

Розробка сучасних обчислювальних систем, що містять як мікропроцесорні рішення, так і ВІС із програмувальною структурою, неможлива без широкого залучення САПР. Усі методики проектування таких обчислювальних систем орієнтовані на використання САПР. Правильний вибір САПР визначає успішність усієї процедури проектування і є найважливішою умовою ефективного проектування.

Методи і засоби проектування тісно зв'язані з вибором САПР і навпаки, вибір САПР визначає припустимі і доцільні методи і засоби проектування, так що ці питання не можна розглядати окремо один від одного. Вибір елементної бази для проекту значною мірою визначає необхідну чи необхідні для реалізації проекту САПР.

У загальному випадку, при виборі САПР приходиться враховувати цілий ряд понять, а саме:

- поширеність САПР;

- ціну САПР, її супроводу і модифікацій;

- підтримку обраної елементної бази;

- широту охоплення різноманітних етапів проектування й ефективність їхнього виконання;

- наявність широкої бібліотечної підтримки стандартних рішень;

- можливість і простоту стикування з іншими САПР;

- зручність роботи із САПР і її "дружність" користувачу;

- легкість вивчення;

- можливості корпоративної роботи.

Очевидно, важко знайти САПР, що задовольняла б відразу всім перерахованим умовам, як через їхню взаємну суперечливість, так і вихідної невизначеності варіанта реалізації кінцевого продукту.

Виходячи  з аналізу САПР на світовому ринку, їх можна умовно розділити на дві категорії:

1.                 САПР фірм-виробників ВІС ПЛ (Xilinx, Altera, Atmel, Actel і ін.).

2.                 САПР фірм, що підтримують проектування ПЛІС різних виробників (Synopsys, Cadence, Mentor Graphics, Exemplar Logic, Viewlogic, Sympicity і ін.)

Можливість спільного використання САПР різних фірм базується на тому, що ці САПР складаються з окремих частин, і робота на них носить явно виражений етапний характер (уведення, компіляція, моделювання, програмування). Той факт, що проектні засоби складаються з окремих частин дозволяє одній САПР входити в проектний потік іншої. Виробники ПЛІС, а тим більше ВІС SOPC, найчастіше монополізують можливість і право монтування проекту в конкретний тип ВІС і тому при застосуванні САПР сторонніх фірм, як мінімум, на заключних етапах приходиться користатися послугами САПР виробників схем ПЛІС.

Граничним проявом такої стратегії є, наприклад, САПР фірми Agere Systems — ORCA Foundry 2000. САПР орієнтується на використання стандартних проектних засобів сторонніх фірм для рішення задач більшості етапів проектування. Розроблювач використовує САПР таких фірм для введення, синтезу і моделювання проектів. Наявність у складі ORСА Foundry визначених інтерфейсних засобів дозволяє завантажити в нього створену проектну інформацію. Після цього основною задачею власне САПР є розробка топології міжз'єднань елементів структури FPGA зі списку ланцюгів (netlist), орієнтованого на конфігурування FPGA. САПР розміщає блоки на кристалі, здійснює їхнє настроювання і вирішує задачу їхнього взаємного з'єднання, використовуючи вбудовані засоби (timing-driven tools). Вбудований у пакет аналізатор тимчасових затримок елементів використовуваної ВІС (static timing analysis tool) забезпечує визначення швидкості роботи ВІС по окремих з'єднаннях і повертає анотований список ланцюгів ВІС, що дозволяє організувати моделювання і часовий аналіз. Вихідні файли ORCA Foundry є сумісними з багатьма засобами моделювання сторонніх фірм. Це дозволяє досліджувати й аналізувати остаточні тимчасові характеристики проекту. Генератор програмної інформації (bit stream generator) створює вихідний файл, що інтерпретує структуру ВІС у бітовий інформаційний потік, що може використовуватися для програмування або ВІС ПЛ, або спеціальних конфігураційних ВІС.

Велика кількість фірм спеціалізується на випуску напівзамовлених ВІС. Можлива ситуація, коли вихідний проект мав прототип у формі ВІС ПЛ і, відповідно, проект був написаний засобами САПР обраного типу ПЛІС, а для реалізації проекту формі напівзамовлений ВІС буде потрібно використання САПР фірми-виробника БМК. Якщо ж проект відразу орієнтувався на реалізацію у формі БМК, то додаткових перетворень може не знадобитися.

Найважливішою характеристикою САПР ВІС ПЛ є ефективність компіляції.  Хоча рекомендується завжди намагатися при проектуванні займати під проект не більше 90% ресурсів використовуваної ВІС ПЛ (тобто залишати мінімальні резерви для можливих модифікацій). ВІС наступного варіанта логічної потужності (а іноді і відсутність ВІС з необхідною швидкодією) змушує розроблювача намагатися "укластися" у ресурси ВІС мінімально припустимої логічної потужності. Одним з можливих варіантів, що сприяють досягненню цієї мети, може виявитися використання САПР фірм Exemplar Logic і Symplicity, що забезпечують для проектів, написаних на мовах VHDL чи Verilog HDL, як правило, найвищі показники по ефективності компіляції (мінімальність затрачуваних логічних ресурсів і швидкодія проекту).

Істотний вплив вибір САПР робить і на ефективність верифікації проектів. Етап відлагодження готового проекту традиційно підтримувався засобами САПР, не є виключенням і відлагодження проекту, завантаженого в ВІС ПЛ. Сучасна тенденція полягає у введенні в перелік можливостей САПР функцій, що сприяють спрощенню процедури відлагодження готового проекту. Наприклад, у САПР Quartus фірми Altera передбачається наявність усіх трьох складових такої процедури: засобів відлагодження, що поміщуються в ВІС/СВІС; інформаційно-транспортувальних засобів, що зв'язують відлагоджувану ВІС і ПК із САПР; програмних засобів у складі САПР, що керують і відображають результати відлагодження. Засоби так званого SignalTap Logic Analysis дозволяють реєструвати стану не тільки на контактах ПЛ, але й у внутрішніх точках ПЛ у реальному масштабі часу, заносячи цю інформацію в пам'ять ПЛ, передавати збережену інформацію в комп'ютер за допомогою інтерфейсу JTAG і відображувати її в редакторі часових діаграм (Waveform Editor) для перегляду, аналізу і налагодження схеми в ВІС.

Наступним фактором є наявність можливості використання стандартних рішень. Цей момент також може виявитися вирішальним при виборі САПР. Ситуація трохи поліпшується і згладжується за допомогою створення компромісних проектних рішень (наприклад, запису функціонування на одному з варіантів мов опису апаратури VHDL, Verilog EDIF). Особливості внутрішньої організації ВІС ПЛ можуть приводити в такому випадку до одержання після компіляції не найефективніших рішень (якщо, звичайно, у специфікації проекту ці особливості враховані).

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

 

1.2 Огляд елементної бази

ВІС, що випускаються в дійсний час, можна розділити на два класи – це спеціалізовані (Application Specific Integrated Circuit - ASIC) і стандартні.  До стандартних ВІС відносяться мікросхеми пам'яті, які виготовлюються великим тиражем, мікропроцесорні комплекти і т.д. Оскільки неможливо заздалегідь передбачити всі необхідні функції, то промисловість випускає спеціалізовані ВІС. Вони розподіляються на цілком замовлені (Full Custom), напівзамовлені (Semi-Custom) і програмовані користувачем (Field Programmable) [3].

Нині існує багато фірм, що займаються  виготовленням ПЛІС (Xilinx, Altera, Atmel та ін.). У табл. 1.1 приведені деякі мікросхеми сімейства XPAL3 фірми Xilinx та їх параметри, а у табл. 1.2 – деякі мікросхеми сімейства MAX 7000 фірми Altera та їх параметри.

У даній роботі синтез керуючого автомату Мура здійснюється цілком на замовлених ВІС. Замовлені ВІС застосовуються в масовому виробництві. Їхнім достоїнством є найбільш повне використання площі кристала й оптимальні характеристики реалізованого цифрового пристрою. Однак час розробки цілком замовленої БІС і підготовки її виробництва може бути досить довгим.

 

 

Таблиця 1.1 – Параметри мікросхем сімейства XPLA3

 

XCR3032XL

XCR3064XL

XCR3128XL

XCR3256XL

XCR3384XL

XCR3512XL

Кількість макрокомірок

32

64

128

256

384

512

Кількість вентилів

800

600

3200

6400

9600

12800

Кількість тригерів

32

64

128

256

384

512

Затримка вхід МС — комбінаторна логіка — вихід МС, tPD, нс

5

6

6

7,5

7,5

7,5

Час установки глобального тактового сигналу, tSU, нс

3,5

4

4

4,8

4,8

4,8

Затримка глобального тактового сигналу до выхода, tCO, нс

3,5

4

4

4,5

4,5

4,5

fSYSTEM, МГц

175

145

145

140

127

127

 

Таблиця 1.2 – Параметри мікросхем сімейства MAX 7000

 

Для реалізації пристроїв керування найбільш широко застосовуються ПЛІС з матричною структурою:

1.                Програмувальні логічні матриці (ПЛМ), називані в західній літературі Programming Logic Arrays (PLA).

2.                Програмувальні логічні матриці з пам'яттю (ПЛМП)  чи Programmable Logic Sequencers (PLS).

3.                Програмувальні постійні запам'ятовуючі пристрої (ППЗУ) чи Programmable Read Only Memory (PROM).

4.                Програмувальні матриці логіки (ПМЛ) чи Programmable Array Logics (PAL).

5.                Узагальнені матриці логіки (УМЛ) чи General Array Logics (GAL) [2].

У даній роботі використовуються (ПЛМ) для формування функцій порушення пам'яті автомата.