48898 (588620), страница 2
Текст из файла (страница 2)
В даний час програмувальні логічні пристрої прийнято поділяти на два великих класи: стандартні програмувальні логічні пристрої (SPLD) і складні програмувальні логічні пристрої (CPLD). За своїми функціональними можливостями, ступенями інтеграції і способові використання до складних програмувальних логічних пристроїв наближаються програмовані користувачем логічні матриці.
Рис. 1.1. Класифікація програмувальних логічних інтегральних схем
Структуру більшості SPLD умовно можливо подати у вигляді сукупності двох матриць взаємно ортогональних провідників: матриці І (AND) і матриці АБО (OR). Вхідні сигнали звичайно надходять на парафазні входи матриці І, що на ортогональних шинах дозволяє реалізувати будь-які кон’юнкції вхідних змінних. Виходи матриці І з'єднані з входами матриці АБО та на виходах реалізує диз'юнкції сигналів, що надходять.
Сукупність вихідних шин матриці І утворює множину проміжних шин PLD (product terms) або просто термів (terms).
Рис. 1.2. Структура PLA Рис. 1.3. Структура PROM
В залежності від того, яка матриця програмується, матриця І чи матриця АБО, SPLD прийнято поділяти на три класи: PLA, PROM і PAL. У PLA (рис. 1.2) програмуються обидві матриці: матриця І та матриця АБО. У PROM (рис. 1.3) матриця І постійно налаштована на функції повного дешифратора, а програмується тільки матриця АБО.
У структурі PAL (рис. 1.4), навпаки, програмується тільки матриця І, а матриця АБО має фіксоване налагодження, при якій q проміжних шин зв'язується з одним виходом. Це дозволяє матрицю АБО реалізувати у виді сукупності q-входових диз‘юнкторов.
На перший погляд може показатися, що PAL значно уступають PLA за своїми можливостями, оскільки вводиться обмеження на число проміжних шин, що приєднуються до одного виходу. Практика ж показує, що дане обмеження в більшості застосувань не критично.
Якщо все-таки це трапляється, можливо об'єднати кілька виходів по АБО за допомогою логічного елемента або провідним з'єднанням (для інверсної логіки).
Рис. 1.4. Структура PAL.
З іншого боку, у PAL програмується тільки одна матриця І, що значно спрощує структуру PAL і, як наслідок, приводить до зниження вартості пристрою і підвищенню його швидкодії. Крім того, спрощення матриці АБО дозволило додати в структуру PAL ланцюг зворотного зв'язку і вихідні буфери, завдяки чому PAL набули нових якостей.
Вихідні буфери PAL являють собою програмувальні макроосередки, що і визначають архітектуру PAL. Макроосередки PAL можуть включати вихідний інвертор із трьома станами, тригери різного типу, вентилі "АБО, що вилучає" і ін. Відповідно до типу вихідних макроосередків PAL поділяють на функціональні групи: комбінаційні, реєстрові, універсальні, асинхронні й ін. У свою чергу виробники поділяють PAL на сімейства, у яких виділяють серії пристроїв, причому в одній серії можуть зустрічатися пристрої з різних функціональних груп. Більш того, різні типи вихідних макроосередків можуть одночасно зустрічатися в одній PAL.
Безумовно, приведена класифікація не охоплює всієї розмаїтості SPLD. Наприклад, структуру, що дуже нагадує PLA, мають програмувальні логічні секвенсери (Programmable Logic Sequencers - PLS), а узагальнені матриці логіки (УМЛ - Generic Array Logics - GAL) подібні PAL.
Рис.1.5. Узагальнена структура CPLD
Складними PLD прийнято називати мікросхеми високого ступеня інтеграції, структура яких являє собою сукупність функціональних блоків з архітектурою PAL (рис. 1.5), поєднаних програмувальною матрицею переключень (Switch Matrix - SM).
Багатьма фірмами випускаються різні структури CPLD. Наприклад, фірма AMD свої CPLD назвала КМОП-макроматриці високої щільності (Macro Array CMOS High-density - MACH). Фірма Altera випускає кілька видів CPLD: багаторазові матричні таблиці (Multiple Array Matrix - MAX) і FLASH-пристрої, названі за засобом перепрограмування елементів, що здатні до багаторазового налагоджування.
Подальший розвиток структура складних PLD одержала в мікросхемах фірми Altera, названих матрицями елементів гнучкої логіки (Flexible Logic Element Matrix - FLEX), узагальнена структура яких подана на рис. 1.6. Тут відсутня звична PAL-структура, а є лише блоки логічних елементів, поєднувані в LAB-модулі (LAB - Logic Array Block) по 8 елементів у кожнім. Відмінною рисою FLEX-пристроїв є те, що матриця переключень реалізована у вигляді горизонтальних і вертикальних каналів з’єднань (каналів трасування).
Рис. 1.6. Структура FLEX-пристроїв
Це дозволило значно зменшити площу кристала, займаного матрицею переключень, без суттєвого зниження властивостей CPLD. Елементи введення-виведення (IOE - Input/Output Element), що обслуговують зовнішні виводи, приєднуються безпосередньо до каналів з’єднань.
Архітектуру FPGA доцільно розглянути на прикладі пристроїв фірми Xilinix. Основу структури FPGA (рис. 1.7) складає матриця логічних елементів (Logic Element - LE), між якими розташовується поле з’єднань: сукупність вертикальних і горизонтальних каналів.
Якщо в FLEX-пристроях лінії каналів з’єднань безперервні і проходять через всю довжину або ширину кристала, то в FPGA лінії каналів складаються з окремих сегментів, що з'єднуються програмувальними матрицями переключень. По боках кристала FPGA розташовані блоки введення-виведення (Input/Output Blocks - IOBs).
Рис.1.7. Структура FPGA фірми Xilinix
Розглянута класифікація PLD стосується лише їх архітектури. Існують класифікації PLD за типом налагоджуваного елемента, кількістю перепрограмувань, затримці при проходженні сигналів и так далі. Виходячи з поставленого технічного завдання проектувальник самостійно обирає тип програмуємих логічних інтегральних схем, користуючись співвідношенням основних параметрів PLD (табл. 1.1) до ціни конкретної мікросхеми. Чималу роль при обранні елементної бази відіграють і досвід проектувальника, а також доступність програмних засобів ефективного синтезу логічної схеми. Останнім часом компанії-виробники PLD звернули увагу на розробку саме таких програмних пакетів.
2. Призначення та структура системи автоматизованого проектування MAX+PLUS II
Система автоматизованого проектування MAX+PLUS II являє собою інтегроване середовище для розробки цифрових пристроїв на базі програмувальних логічних інтегральних схем фірми Altera. Він забезпечує виконання всіх етапів, необхідних для випуску готових виробів:
-
створення проектів логічних пристроїв;
-
синтез структур і трасування внутрішніх зв'язків програмувальних логічних інтегральних схем;
-
підготовку даних для програмування або конфігурацію програмувальних логічних інтегральних схем (компіляцію);
-
верифікацію проектів (функціональне моделювання і часовий аналіз), програмування або конфігурацію програмувальних логічних інтегральних схем.
Наданий на рис. 2.1 склад програмного забезпечення системи автоматизованого проектування MAX+PLUS II є повним комплектом, що забезпечує створення логічних дизайнів для пристроїв фірми Altera з програмувальною логікою, в тому числі і родин пристроїв ACEX 1000, MAX 7000, MAX 9000, FLEX 6000, FLEX 8000, FLEX 10000.
Рис. 2.1. Середовище проектування в системі MAX+PLUS II
В систему автоматизованого проектування MAX+PLUS II входять 11 додатків (рис. 2.2).
Рис. 2.2. Додатки в системі MAX+PLUS II
Сукупність ієрархічно пов’язаних файлів називається проектом (project). Можливо описати проект (Design Entry) у вигляді файла на мові описання апаратури, створеного в зовнішньому редакторі, або в текстовому редакторі MAX+PLUS II (Text Editor), у вигляді схеми електричної принципової за допомогою графічного редактора (Graphic Editor); у вигляді часової діаграми, створеної в сигнальному редакторі (Waveform Editor). Для зручності роботи зі складними ієрархічними проектами кожному проекту нижчого рівня ієрархії може бути поставлений у відповідність символ, редагування якого відбувається за допомогою символьного редактора (Symbol Editor). Редагування розміщення вузлів по логічним блокам і виводам програмувальних логічних інтегральних схем відбувається за допомогою порівневого планувальника (Floorplan editor).
Верифікація проекту (Project verification) виконується за допомогою симулятора (simulator), результати роботи якого зручно проглянути в сигнальному редакторі. Тестові впливи створюються також в сигнальному редакторі.
Компіляція проекту, в тому числі і витягнення із списку з’єднань компонентів (Netlist Extractor), побудова бази даних (Data Base Builder), логічний синтез, зволікання часових, функціональних параметрів (SNF Extractor), розбиття на частини (Partioner), трасування (Fitter) і формування файла програмування і завантаження (Assembler) виконуються за допомогою компілятора (Compiler) системи.
Безпосереднє програмування або завантаження конфігурації пристроїв з використанням відповідного апаратного забезпечення виконується з використанням модуля програматора (Programmer).
Більшість характерних рис і команди – такі, як відкриття файлів, введення назначених пристроїв, виводів і логічних елементів, компіляція плинного проекту – схожі для багатьох додатків системи MAX+PLUS II. Редактори для розробки проекту (графічний, текстовий, сигнальний) мають багато спільного з допоміжними редакторами (порівневого планування та символьний). Кожний редактор розробки проекту дозволяє виконувати схожі завдання схожим способом.
Можливо легко комбінувати різні типи файлів в ієрархічному проекті, обираючи для кожного функціонального блоку той формат описання проекту, який є більш зручним. Бібліотека мегафункцій і макрофункцій, що надається фірмою Altera, в тому числі і функції з бібліотеки параметризованих модулів, забезпечує додаткові можливості для описання проекту.
Можна одночасно працювати з різними додатками системи MAX+PLUS II. Наприклад, можна відкрити декілька файлів проекту і переносити інформацію з одного проекту в інший, або наприклад проглянути все дерево проекту.
Основою системи MAX+PLUS II є компілятор, що забезпечує потужні засоби обробки проекту, при цьому можливо задавати різні режими роботи компілятора. Автоматична локалізація помилок, видача повідомлень і достатньо широка документація про помилки прискорюють і полегшують проведення змін в проекті. Стало можливим створювати вихідні файли в різних форматах для різних цілей, таких, як робота функцій, часових параметрів і зв’язку декількох пристроїв, аналізу часових параметрів, програмування пристрою.
3. Додатки системи автоматизованого проектування MAX+PLUS II
Програмне забезпечення системи автоматизованого проектування MAX+PLUS II складається з 11 додатків і головної керуючої оболонки.
Різні додатки, що забезпечують створення файлу проекту, можуть бути активізовані миттєво, що дозволяє користувачу переключатися між ними за допомогою миші або командного меню. В цей же час може працювати один з фонових додатків, наприклад компілятор, симулятор, часовий аналізатор, програматор. Одні і ті ж команди різних додатків працюють однаково, що полегшує процес роботи розробки проекту.
Вікно будь-якого додатку можна згорнути до піктограми, не закриваючи самого додатку, а потім знову його розкрити.