Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Організація програмованої логіки






2.1 Загальні відомості програмованої логіки

Програмовані логічні матриці (ПЛМ) представляють собою логічну схему для перетворення множини вхідних значень X = { x1, x2, …, xm } у відповідну множину вихідних даних Y ={ y1, y2, …, ym } в двійковому коді. Правило перетворення вхідних змінних у функціях задається таблицею істинності. ПЛМ реалізує систему булевих функцій, представлених в ДДНФ або МДНФ, або в ДНФ.

Програмовані логічні матриці знайшли широке застосування в логічних інтегральних схемах (ПЛІС). Наприклад, ПЛІС з плавкими запобіжниками по технології ТТЛШ, які виготовляються в НДУМЕ, м. Зеленоград, Росія. В їх складі уже давно відомі ПЛМ K556PT1, KP556PT2, KP556PT21.

Переваги використання ПЛІС:

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

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

По-третє, при проектуванні пристроїв на основі ПЛІС для захисту програмного забезпечення виробів від несанкціонованого доступу і копіювання. ПЛІС має таку технологічну особливість, як " біт секретності", після програмування якого схема стає недоступною для читання.

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

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

 

2.2 Принципи побудови базової програмованої логічної матриці

 

ПЛІС, які на сьогоднішній день виготовляються електронною промисловістю, мають в собі базову структуру програмованої логічної матриці, яка включає матрицю кон’юнкторів (матриця " І ") і матрицю диз’юнкторів (матриця " АБО "). Принцип побудови таких програмованих логічних матриць розглянемо на прикладі ПЛІС серії K556PT1. Структурна схема даної ПЛІС приведена на рисунку 1.

Дана ПЛІС включає матрицю кон’юнкторів (матрицю " І ") матрицю диз’юнкторів (матриця " АБО "), блок вхідних підсилювачів (ВП), блок вихідних каскадів (ВК), схему виклику вибірки кристалу (ДВ), програмований дешифратор, програмовані адресні формувачі (АФ1, АФ2). Вхідні підсилювачі формують прямі і інверсні значення вхідних змінних по всім шістнадцяти входам (А1…А16).

Програмований дешифратор (ДС) і програмовані адресні формувачі (АФ1, АФ2) використовують тільки в режимах програмування і контролю ПЛІС.

Для наглядності і більш повного розуміння принципу побудови ПЛІС розглянемо базову функціональну схему ПЛІС серії K556PT1, яка включає в себе лише основні вузли схеми матриці " І ", " АБО ", вхідні і вихідні каскади, яка представлена на рис. 3.1.

 

 

Рис. 2.1. Структурна схема ПЛІС серії К556РТ1[9]

Вхідні підсилювачі (ВП1…ВП16) формують прямі і інверсні значення вхідних змінних, які поступають в матрицю " І ". Для управління вхідними підсилювачами є шістнадцять входів (А1…А16). Вхідні підсилювачі побудовані на основі двох включених послідовно буферних логічних схем " І-НІ ".

Основними вузлами мікросхеми K556PT1 є матриці " І " і " АБО ", які реалізують двохрівневі логічні функції. Перший рівень ПЛМ складається із 48 кон’юнкторів (матриця " І "), які з’єднані за допомогою плавких ніхромових перемичок з будь-яким із шістнадцяти спільних входів через буферні схеми. В матриці " І ", реалізують кон’юнкції вхідних змінних, причому кожна вхідна змінна може входити в кон’юнкцію або прямим або інверсним значенням, або не входити зовсім. Вхідні сигнали, які появляються на вхідних шинах матриці " І ", вводяться в матрицю " АБО ", яка утворює другий логічний рівень і реалізує диз’юнкції заданих кон’юнкцій. Матриця " АБО " утворює вісім диз’юнкторів (по одному " АБО " на виході ПЛІС),

 

Рис. 2.2. Базова функціональна схема ПЛІС серії К556РТ1[10]

ВП1…ВП16 – вхідні підсилювачі

К1…К48 – кон’юнктори матриці " І "

Д1… Д8 – дизю’нктори матриці " АБО "

ВК1… ВК8 – вихідні каскади

Р1…Р48 – шини кон’юнкцій

S1…S8 – шини диз’юнкцій

F1…F1928 – плавкі ніхромові перемикачі

VD1…VD1536 – діоди Шотки

VT1…VT34 – транзистори

R1…R6 – резистори

кожний із яких може бути вибірково з’єднаний з будь-яким із сорока восьми кон’юнкторів

Шини які з’єднують ці дві матриці, називають шинами кон’юнкцій і позначають Р1…Р48, а шини, які з’єднують матрицю " АБО " з вихідними каскадами, називають шинами диз’юнкцій і позначають S1…S8.

Програмованим елементом матриці " І " є діод Шоткі з плавкою ніхромовою перемичкою, а матриці " АБО " підключені по схемі емітерного повторювача, п-р-п транзистор з плавкою ніхромовою перемичкою в емітері.

Вихідні каскади ВК1…ВК8 включають логічні схеми " Виключаюче АБО " і підсилювачі зчитування. Наявність на вході каскаду логічної схеми " Виключаюче АБО " дозволяє інвертувати рівень вихідного сигналу в залежності від сигналу на вході, тобто дозволяє програмувати або активний високий, або активний низький рівень вихідного сигналу. Заземлення (підключення до сигналу " О") одного із двох входів логічної схеми " Виключаюче АБО " через плавку перемичку веде до того, що активним рівнем виходу стає вихідна напруга високого рівня, а перегоряння цієї перемички веде до того що активним рівнем стає вихідна напруга низького рівня.

Підсилювачі зчитування побудовані на логічних схемах, що керують сигналами, які поступають від матриці " АБО " і від схеми дозволу вибірки.

ПЛІС як базова програмована логічна матриця, в режимі обробки інформації працює наступним чином. Вхідні змінні А1…А16 через блок вхідних підсилювачів в прямому і інверсному значенні поступають на матрицю " І " де за допомогою діодів Шоткі і плавких ніхромових перемичок утворюють потрібні кон’юнкції Р1…Р48, які логічно підсумовуються матрицею " АБО " утворюючи проміжні логічні функції S1…S8. Дані функції поступають у вихідні каскади для подальшого їх перетворення і видачі на виходи В1…В8 ПЛІС..

Умовне графічне позначення мікросхеми К556РТ1 приведено на рис. 2.3.

 

Рис. 3.3. Умовне графічне позначення мікросхеми К556 РТ1 [10]

1 – вхід програмування РП

2…9 – входи підключення вхідних змінних А1…А8

10…13 – виходи отриманих функцій В8…В5

14 – спільний вихід (вихід подачі " О" В)

15…18 – виходи отриманих функцій В4…В1

19 – вхід дозволу роботи (вибору) мікросхеми

20…27 –входи підключення вхідних змінних А16…А9

28 – вхід подачі живлення (+5В)

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

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

Основні виробники ПЛІС - фірми Altera, Xilinx, Atmel, AMD отримали вражаючі успіхи у створенні програмованої логіки. Даними фірмами були розроблені технології, які дозволяють використовувати ПЛІС навіть у одиничному та малосерійному виробництві, причому простота програмування, проектування та обслуговування даних систем за ступенем складності не поступаються системам, в основі яких покладені мікроконтролери AVR та PIC. [11]

Перед програмованою логікою відкриваються вражаючі перспективи, зростає коло завдань, які на сьогоднішній день вирішуються системами з ПЛІС.

 

2.3 Аналіз елементної бази

 

У якості операційного елемента було обрано ПЛІС фірми Altera EPM 3032 ALC44-4 сімейства MAX 3000A. Мікросхема Altera EPM 3032 ALC44-4 виконана згідно стандартів та вимог технології CPLD, що забезпечує високу швидкодію, збереження даних при відсутності живлення тривалий час (2 роки) та захист від електромагнітних завад. Логічний об'єм даної ПЛІС складає 32 макрочарунок, що відповідає 32 логічним блокам дискретної логіки відповідно. Керування потоками обчислень виконується у рамках двох логічних масивів, у які об'єднані всі операційні пристрої ПЛІС. [12] Дана мікросхема є оптимальна з точки зору цінової та функціональної характеристики. ПЛІС фірми Altera сумісні з ПЛІС фірми Atmel, що дає можливість використовувати програматор аналогічний програматору Byte Blaster mv фірми Altera, який входить до складу даного комплексу для програмування та налагодження ПЛІС фірми Atmel.[13]

Напруга живлення ПЛІС складає 3.3 вольти, але за допомогою реалізації буферних елементів експлуатаційна напруга живлення пристрою складає 5 вольт, що забезпечує узгодження та уніфікацію даного пристрою з іншими виробами електроніки. За ціновими та функціональними характеристиками дана ПЛІС є оптимальною для використання у даному програмно-апаратному комплексі.[13]

Використання даної ПЛІС дає змогу підвищити потенціал модернізації приладу без конструктивної зміни основних робочих субблоків завдяки уніфікації даної ПЛІС з усією номенклатурою ПЛІС фірми Altera EPM 3032 та EPM 3064. [15]

 

2.4 Розробка програмних елементів блоку керування на основі ПЛІС

 

Розробка програмних елементів програмно-апаратного комплексу згідно прийнятої концепції оптимально виконується за допомогою програмного продукту фірми Altera MAX +. Мінімізована версія даного програмного продукту поширюється фірмою Altera безкоштовно та має всі можливості для повноцінного проектування та програмування ПЛІС.

Розробка програмного забезпечення для використання у даному блоці керування для дослідження ПЛІС поділяється на 2 етапи.

Перший етап-формування задачі та розробка математичної моделі функцій виробу. На цьому етапі формується задача, яку необхідно вирішити із застосуванням ПЛІС. Задача повинна бути максимально конкретизована і містити технічні показники до будь-якого окремо взятого субблоку, який працює у одній системі з даною ПЛІС. Після отримання задачі розробляється математична модель пристрою, яка описує всі можливі дії системи в різних ситуаціях. Математична модель розробляється у базисних функціях, починаючи від елементарних дій і закінчуючи комплексним законом роботи пристрою.[16]

Другий етап-розробка архітектури ПЛІС згідно обраній математичній моделі. За допомогою програмного середовища Altera MAX + архітектуру ПЛІС можливо розробити графічним або аналітичним методом. При розробці архітектури графічним методом наявна висока ступінь візуалізації, що полегшує розробку архітектури. За допомогою аналітичного методу описується послідовність логічних блоків, які беруть учать у виконанні кожної окремо взятої функції.

Після виконання розробки архітектури виконується програмування. Програмування ПЛІС можна здійснити двома способами: паралельним та послідовним.

За допомогою паралельного способу виконується програмування ПЛІС підключенням до сокети програматора. Даний спосіб незручний тому, що необхідно вилучати ПЛІС з системи на час програмування.

Спосіб послідовного програмування дозволяє проводити програмування ПЛІС, не вилучаючи її з системи та не змінюючи конфігурації обладнання. Даний спосіб ґрунтується на використанні JTAG - інтерфейсу (Standard Test Access Port IEEE 1149.1).

Для повноцінної роботи програми необхідно провести синтаксичне, логічне та функціональне моделювання.

Синтаксичне моделювання проводиться за допомогою пакету MAX + під час компіляції програми (синтаксичне моделювання є одним із етапів компіляції). На даному етапі проводиться перевірка допустимих позначень на схемі.

Для визначення швидкодії виробу необхідно провести аналіз часових діаграм роботи ПЛІС. Перед виконанням даного етапу проводиться логічне моделювання роботи елементів заданої послідовності. Під час логічного моделювання система аналізує зв'язки елементів та перевіряє їх на наявність заборонених станів. Всі заборонені стани є типовими для кожного окремо взятого елементу. При наявності помилок на етапі логічного моделювання система видасть повідомлення про помилку і вкаже зону лістингу програми (або зону графічного файлу проектування), де саме було знайдено помилку. При неможливості виконання даної функції можлива заміна її сукупністю елементів, які зможуть виконати рівнозначну функцію. Після закінчення логічного моделювання (яке є завершальним етапом компіляції) можливо виконати аналіз часу проходження сигналів ПЛІС з входу до відповідного виходу.[17]

Для максимальної візуалізації та покращення продуктивності розробки систем на ПЛІС у складі середовища автоматизованого проектування MAX + реалізована функція аналізу часових діаграм кожного вводу та виводу. Для цього використовується меню " Wareform Editor" панелі керування MAX +. Для отримання часових діаграм роботи вводів та виводів необхідно ініціалізувати їх для даного проекту. Для отримання діаграм роботи ПЛІС у максимальному частотному діапазоні необхідно задати тактову частоту на панелі симулятора у межах, в яких буде проводитись експлуатація даної програми. Необхідно зазначити, що швидкодія роботи ПЛІС також залежить від типу та параметрів виконуваної програми. Але швидкодія ПЛІС Altera EPM 3032 ALC44-4 чітко встановлена технічною документацією та знаходиться в межах від 3 наносекунд до 12 наносекунд (при реалізації у ПЛІС ліній затримки та виконання складних операцій обробки вхідного сигналу). [18]

 

 

Рис.2.4. Графічне представлення програми лічильного регістру

 

 

Рис.2.5.- Графічне представлення програми дешифратора

Після отримання компіляційного файлу програми необхідно провести ініціалізації програми відносно типу конкретної ПЛІС. Під час ініціалізації обирається сімейство, тип ПЛІС та код JTAG. Код JTAG вводиться для перевірки з'єднання налагоджувальний блок - блок керування. За відсутності необхідності додаткової перевірки, перевірку коду JTAG можна відключити (за замовчуванням ввімкнено). За замовчуванням САПР MAX + встановлює топологічне розміщення вводів та виводів ПЛІС автоматично. За необхідності можна встановити топологічне розміщення ліній вводу-виводу інформації в ручному режимі.[19]

У дослідний зразок була внесена програма лічильного регістру, дешифратора, " R-S" тригера та схеми " І" графічне представлення деяких з них представлене за допомогою засобів MAX + на рис.3.4. [20]


 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.