Модель мікропрограмного автомата (МПА) Мура [1] часто використовується
при реалізації пристроїв управління цифрових систем [2, 3]. Розвиток мікроелектроніки привів до появи всіляких програмованих
логічних пристроїв [4, 5], одними з представників яких є CPLD (complex programmable logic devices) [6, 7, 9, 10]. Основою CPLD є
макровічка PAL (pro-grammable array logic), сполучені за допомогою програмованих матриць межсоєдіненій. Одній з важливих
проблем, що виникають при синтезі МПА на CPLD, є мінімізація числа макровічок в його логічній схемі. Однією з доріг
вирішення цієї проблеми є оптимальне кодування станів [8]. Проте цей підхід не дозволяє оптимізувати схему формування
вихідних сигналів. У справжній роботі пропонується метод оптимізації, заснований на представленні коди стану МПА
у вигляді конкатенації код класу псевдоеквівалентних станів і коди набору мікрооперацій(мікрокоманди). Такий підхід дозволяє
зменшити апаратурні витрати в комбіна-ционних блоках МПА і не приводить до втрати швидкодії.
Метою дослідження є оптимізація схеми МПА Мура за рахунок нестандартного
представлення код станів.
Завданням дослідження є розробка методу синтезу МПА Мура, що дозволяє зменшити
число вічок PAL в схемі автомата. При цьому алгоритм управління представляється у вигляді графа-схеми алгоритму (ГСА) [1].
Нехай автомат Мура заданий прямою структурною таблицею (ПСТ) із
стовпцями [1]: am, K(am), as, K(as), Xh, Фh, h.
Тут am - вихідний стан МПА; K(am) – код стану
розрядності , для кодування станів використовуються внутрішні змінні з безлічі
; as, K(as) – відповідно стан переходу і його код;
Xh – вхідний сигнал, що визначає перехід m,as>, і рівний кон'юнкції деяких елементів
(або їх заперечень) безлічі логічних умов ; Фh – набір функцій збудження тригерів
пам'яті МПА, що набувають одиничного значення для перемикання пам'яті з К(am) до К(as),
; h=1,…,Н – номер переходу. У стовпці am аписується набір мікрооперацій
Yq, що формуються у стані , де Ця таблиця
є основою для формування систем функцій
задаючих логічну схему МПА. Системи (1) -(2) визначають структурну схему МПА Мура U1, яка наведена на рис.1.
У цій структурі блок функцій збудження пам'яті (БФП) реалізує систему (1), регістр RG служить для зберігання код станів,
а блок мікрооперацій (БМО) реалізує систему (2). Для мінімізації числа макровічок PAL в БФП може використовуватися метод
оптимального кодування станів [8], що дозволяє зменшити число термів в системі (1) до Н0.
Тут Н0 – число переходів еквівалентного автомата Милі. Оптимізація БМО може бути виконана за рахунок уточненого
кодування станів [10]. При цьому число макровічок може бути зменшене до N, що відповідає ситуації, коли кожна функція
реалізується на одної макрокомірки. Для оптимального і уточненого кодування станів може бути
використаний, наприклад, відомий алгоритм ESPRESSO [3]. Проте обидва методи не можуть бути застосовані одночасно. Тому
кодування станів дозволяє оптимізувати або БФП, або БМО.
У справжній роботі пропонується метод, що дозволяє оптимізувати число PAL в схемах обох блоків МПА Мура.
Однією з особливостей МПА Мура є наявність псевдоеквівалентних станів [8], тобто станів з однаковими переходами під возом-дією однакових вхідних сигналів. Такі стани відповідають операторним вершинам [1] алгоритму управління, виходи яких пов'язані з входом однієї і тієї ж вершини алгоритму.
Нехай - розбиття безлічі А на класи псевоеквівалентних станів. Закодуємо класи двійковими кодами K(Bi) розрядності
Хай вихідна ГСА Г включає Q попарно різних наборів мікрооперацій (НМО) Закодуємо набір Yq двійковим кодом K(Yq) розрядності
Нехай операторна вершина bt ГСА Г відповідає стану і нехай в ній записаний набір мікрооперацій Yq. Тоді код стану можна представити у вигляді конкатенації код
Така вистава дозволяє представити автомат Мура у вигляді моделі U2 (рис.2).
У автоматі U2 блок БФП реалізує функції (6) і блок БМО – функції (7).
При цьому елементи безлічі використовуються для кодування класів , а елементи безлічі використовуються для кодування наборів мікрооперацій.
Пропонований підхід має ряд позитивних якостей:
Для кодування станів МПА U1 досить
Пропонований метод представлення код станів переходу орієнтований на зменшення числа макровічок PAL в схемі автомата Мура. Такий підхід дозволяє зменшити число термів в системі функцій збудження пам'яті до величини відповідного параметра еквівалентного автомата Милі. Дослідження показали, що пропонований метод завжди ефективніший в порівнянні з класичним методом реалізації МПА Мура. При цьому число макровічок зменшується до 38%.
Зменшення числа макровічок не пов'язане з введенням додаткових блоків, що зменшують швидкодію схеми. Більш того, зменшення числа макровічок часто супроводиться зменшенням числа рівнів схеми МПА. При цьому підвищується швидкодія МПА і, отже, цифрової системи в цілому.
Наукова новизна запропонованого методу полягає у використанні особливостей автомата Мура (наявність класів псевдоеквівалентних станів) для оптимізації числа макровічок PAL в логічній схемі автомата.
Практична значущість методу полягає в зменшенні площі кристала, займаною комбінаційною схемою МПА, що дозволяє отримати схеми, які володіють меншою вартістю, чим відомі з літератури аналог
Подальші напрями роботи пов'язані з дослідженням можливості вживання запропонованого методу для випадку реалізації пристрою управління в базисі FPGA, а також у складі «систем-на-крістале».