Підготовка завдання до розв’язання за допомогою ПЛМ

Лабораторна робота №

Тема: Програмувальні логічні матриці (ПЛМ)

Вступні зауваження

 

У цифрові системи обробки інформації входять процесор, пам'ять, периферійні пристрої й інтерфейсні схеми. Процесор є стандартним пристроєм ― він не виготовляється для конкретної системи за спеціальним замовленням, а розв’язує необхідне завдання шляхом послідовного виконання певних команд із властивої йому системи команд.

Пам'ять також реалізується стандартними мікросхемами ― її функції залишаються тими самими для різних систем.

Стандартні ВІС/НВІС лідирують за рівнем інтеграції, але вартість проектування оптимізованих по щільності ВІС/НВІС обходиться дуже дорого.

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

Виникле протиріччя знайшло розв’язання на шляхах розробки ВІС/НВІС із програмувальною й репрограмувальною структурою.

Першими представниками зазначеного напрямку з'явилися програмувальні логічні матриці ПЛМ (PLA, Programmable Logic Array), програмувальна матрична логіка ПМЛ (PAL, Programmable Array Logic) і базові матричні кристали БМК, які також називають вентильними матрицями ВМ (GA, Gate Array).

PLA і PAL в англійській термінології об’єднуються також терміном PLD, Programmable Logic Devices.

Розвиток ВІС/НВІС із програмувальною й репрограмувальною структурою виявилося настільки перспективним напрямком, що привело до створення нових ефективних засобів розробки цифрових систем, таких як CPLD (Complex PLD), FPGA (Field Programmable GA) і SPGA (System Programmable GA).

Програмувальні логічні матриці (ПЛМ)

 

Програмувальні логічні матриці з'явилися в середині 70-х років. Основою їх служить послідовність програмувальних матриць елементів І й АБО. У структуру входять також блоки вхідних і вихідних буферних каскадів (Бвх і Бвих).

Вихідні буфери забезпечують необхідну навантажувальну здатність виходів, дозволяють або забороняють вихід ПЛМ на зовнішні шини за допомогою сигналу ОЕ, а іноді виконують і більш складні дії.

Основними параметрами ПЛМ (рис. 1) є число входів m, число термів l і число виходів n.

 

Рис. 1. Базова структура ПЛМ

 

Змінні  подаються через Бвх на входи елементів І (кон’юнкторів), і в матриці І утворяться l термів. Під термом тут розуміється кон’юнкція, що зв'язує вхідні змінні, представлені в прямій або інверсній формі. Число сформованих термів дорівнює числу кон’юнкторів або, що теж саме, числу виходів матриці І.

Терми подаються далі на входи матриці АБО, тобто на входи диз’юнк-торів, що формують вихідні функції. Число диз’юнкторів дорівнює числу створюваних функцій n.

Таким чином, ПЛМ реалізує диз'юнктивну нормальну форму (ДНФ) відтворюваних функцій (дворівневу логіку). ПЛМ здатна реалізувати систему n логічних функцій від m аргументів, що містить не більше l термів. Відтворені функції є комбінаціями з будь-якого числа термів, сформованих матрицею І. Які саме терми будуть створені і які комбінації цих термів складуть вихідні функції, визначається програмуванням ПЛМ.

 

Схемотехніка ПЛМ

 

Випускаються ПЛМ як на основі біполярної технології, так і на Моп-транзисторах. У матрицях є системи горизонтальних і вертикальних зв'язків, у вузлах перетинання яких при програмуванні створюються або ліквідуються елементи зв'язку.

На рис. 2, а в спрощеному вигляді (без буферних елементів) показана схемотехніка біполярної ПЛМ із програмуванням перепалювання перемичок. Показано фрагмент для відтворення системи функцій:

;

;

розмірністю 4, 7, 3. Елементами зв'язків у матриці І служать діоди, що з'єднують горизонтальні й вертикальні шини, як показано на рис. 2, б, що зображує ланцюг формування терму . Разом з резистором і джерелом живлення ланцюги формування термів утворюють звичайні діодні схеми І. До програмування всі перемички цілі, і діоди зв'язку розміщені у всіх вузлах координатної сітки.

                                          а                                        б

в

Рис. 2. Схемотехніка ПЛМ, реалізованої в біполярній технології (а), і елементи зв'язків у матрицях І (б) і АБО (в).

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

Елементами зв'язку в матриці АБО служать транзистори (рис. 2, в), включені за схемою емітерного повторювача відносно ліній термів і утворюючі схему АБО щодо виходу (горизонтальної лінії). На рис. 2, в показано формування функції .

Підготовка завдання до розв’язання за допомогою ПЛМ

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

Програмування ПЛМ

Програмування ПЛМ, виконуване користувачем, проводиться за допомогою спеціальних пристроїв (програматорів) і відомості для них про дану ПЛМ повинні мати певну форму. Є програматори, які приймають в якості інформації про ПЛМ таблицю функціонування (істинності), однак зручніше задавати відомості про самі перемички. Символи, використовувані при такому задані відомостей для програмування ПЛМ:

Н ― змінна входить у терм у прямому вигляді, тобто потрібно залишити цілою перемичку прямого входу й перепалити перемичку інверсного входу;

L ― змінна входить у терм в інверсному вигляді, тобто потрібно зберегти перемичку в інверсного входу й перепалити в прямого;

"–" ― змінна не входить у терм і не повинна впливати на нього, тобто потрібно перепалити перемички обох входів.

Залишення перемичок в обох входах змінної як би усуває з  матриці відповідну схему І, оскільки в силу рівності  вихід цієї схеми завжди нульовий і не впливає на роботу матриці АБО, на вхід якої подається;

А ― вказується у вихідному стовпці (стовпці функції) і свідчить про зв'язок даної схеми І з виходом ПЛМ через матрицю АБО. Перемичка повинна бути збережена;

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

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

 

Таблиця 1

    Із за відсутності спеціальних пристроїв (програматорів) для виконання програмування ПЛМ нами розроблено логічні схеми, які дають можливість реалізовувати програмування і репрограмування ПЛМ. 

На рис. 4 наведено вигляд ПЛМ виконану в системі проектування MAX+PLUS II, яка, до певно міри, дає уявлення про ідею використання ПЛМ для реалізації логічних функцій та їх перепрограмування.

    Операція набору відповідних термів за допомогою з’єднань відповідних ліній (відображено крапкою) здійснюється шляхом клацання курсором у потрібному місці з’єднання прямих і натиснення піктограми  вставки або вилучення вузла, яка знаходиться на полі графічного редактора.  Нижче, для прикладу, реалізовано наведені вище функції , і . Ще для двох функцій і , якщо є потреба, зроблено заготовки.

Рис. 4. Вигляд ПЛМ, реалізованої в системі проектування MAX+PLUS II

 

На рис. 5 наведено результати моделювання побудованої схеми

Рис. 5. Результати моделювання, наведеної ПЛМ.

Нижче наведено вирази функцій, поданих у ДДНФ (через мінтерми), що дає можливість легко встановити на яких наборах функції приймають значення 1. Це дає можливість легко перевірити правильність роботи схеми.

З метою перевірки правильності за програмування ПЛМ цю ж саму задачу реалізуємо мовою опису апаратури AHDL. Нижче наведено програму та результати моделювання (рис. 6), які підтверджують правильність роботи ПЛМ.

SUBDESIGN F1_F3

(_x[4..1]: INPUT;

F[3..1]: OUTPUT;)

BEGIN

F1=_x3&!_x2&!_x1#!_x3&_x2#!_x4&_x1;

F2=_x3&!_x2&!_x1#!_x3&!_x2&_x1#_x4&_x2&_x1#_x4&!_x3&_x2;

F3=!_x4&_x1#!_x2&_x1;

END;

 

Рис. 6. Результати моделювання, наведеної програми.

Завдання для самостійної роботи

1. Скласти таблицю істинності (див. таблицю 2) для п’яти функцій від чотирьох змінних заповнивши її своїми даним, приймаючи до уваги, що голосні буки кодуються символом 0, приголосні букви й м’ягкий знак символом 1.

2. Перепрограмувати задану ПЛМ у відповідності з своїми даними. Правильність перепрограмування перевірити шляхом моделювання.

3. Підготувати короткий звіт і захистити виконану роботу.

 

Таблиця 2

Змінні

Функції

Букви для кодування

0 0 0 0 0 1 1 1 0 1 М Л Т Е Д
1 0 0 0 1 0 0 0 1 1 О А Е Т Р
2 0 0 1 0 1 1 1 1 0 С Й Х Н А
3 0 0 1 1 1 0 1 0 1 К О Н А К
4 0 1 0 0 0 1 0 1 1 А В І П С
5 0 1 0 1 1 0 1 1 1 Л И Ч Р М
6 0 1 1 0 1 1 1 0 1 Ь Ч Н Я К
7 0 1 1 1 1 0 0 1 1 Д І И М Р
8 1 0 0 0 0 1 1 0 0 Е Н Й О А
9 1 0 0 1 1 1 1 1 1 Н Ж Ф К Щ
10 1 0 1 0 0 0 0 1 0 И Е А К А
11 1 0 1 1 1 1 1 0 1 С Н К І З
12 1 1 0 0 1 0 0 1 0 М Е У К А
13 1 1 0 1 0 1 1 0 1 И Р Л А В
14 1 1 1 0 1 1 1 1 1 К Н Ь Ф С
15 1 1 1 1 0 0 1 0 0 О О Т Е І

 

 

 

SUBDESIGN F1_F3_e

(_x[4..1]: INPUT;

F[3..1]: OUTPUT;)

BEGIN

F1=_x3 AND NOT _x2 AND NOT _x1 OR NOT _x3 AND _x2

            OR NOT _x4 AND _x1;

F2=_x3 AND NOT _x2 AND NOT _x1 OR NOT _x3 AND NOT _x2 AND _x1

    OR _x4 AND _x2 AND _x1 OR _x4 AND NOT _x3 AND _x2;

F3=NOT _x4 AND _x1 OR NOT _x2 AND _x1;

END;


Дата добавления: 2022-06-11; просмотров: 15; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!