Курсовая работа: Синтез мікропрограмних автоматів
Оптимальну функціональну схему керуючих частин автомата синтезувати на елементах системи І, АБО, НЕ, RS-, D - тригерах, доповнюючи її необхідними по алгоритму функціональними автоматами.
3.1.1 Змістовна схема алгоритму
До складу змістовної схеми алгоритму (Рис.1 ) входять операційні та умовні верхівки. Наш алгоритм виконує знаходження кількості парних елементів у двох одномірних масивах розмірністю [n] та [m], використовуючи при цьому чотири (4) умовні верхівки і десять (10) операційних верхівок. Позначення операційних верхівок показано на Рис.2 . Позначення умовних верхівок на Рис.3 . Перевірка елементів масивів виконується від стовпчика до стовпчика.
![]() |


Кожна верхівка, чи то операційна чи умовна, кодується. При чому, якщо, мікро операції повторюються і умовні верхівки повторюються, вони кодуються однаково. У даному прикладі мікрооперації повторюються двічі, тому, однакові верхівки ми можемо кодувати одним кодом. Таблиця кодування верхівок зображена у Таблиці1 .
Таблиця1
Код | Зміст | Примітка |
mY1 | i = 1 | |
mY2 | kol = 0 | |
mY3 | A [i] | Ввід А [і] |
mY4 | kol = kol + 1 | |
mY5 | i = i + 1 | |
mY6 | B [i] | |
mY7 | kol | Вивід kol |
X1 | A [i] mod 2 = 0 | так - 1, ні - 0 |
X2 | i £ n | так - 1, ні - 0 |
X3 | B [i] mod 2 = 0 | так - 1, ні - 0 |
X4 | i ≤ m | так - 1, ні - 0 |
3.1.3 Закодована мікроопераційна схема алгоритму
Закодована мікроопераційна схема алгоритму будується на основі змістовної схеми алгоритму (Рис.1) і таблиці кодування операційних та умовних верхівок (Таблиця 1 ), шляхом заміни відповідних блоків. Схема алгоритму зображена на Рис.4.
![]() |
3.1.4 Таблиця кодування мікрокоманд
Складаємо таблицю кодування мікрокоманд. Кожна мікрооперація кодується своєю мікрокомандою. Мікрооперації, які виконуються одна за одною послідовно на протязі одного такту часу, поєднуються до однієї мікрокоманди. У даному прикладі дві мікрооперації (mY1 , mY2 ) виконуються одна за одною послідовно. Тому ми поєднуємо їх в одну мікрокоманду. Таблиця кодування зображена в Таблиці 2 .
Таблиця 2
Мікрокоманда | Мікрооперація |
Y1 | mY1 , mY2 |
Y2 | mY3 |
Y3 | mY4 |
Y4 | mY5 |
Y5 | mY1 |
Y6 | mY6 |
Y7 | mY7 |
3.1.5 Закодована мікрокомандна схема алгоритма
Складаємо закодовану мікрокомандну схему алгоритму (Рис.5 ). Проставляємо мітки внутрішніх станів автомата Мілі таким чином:
мітки ставляться після кожної мікрокоманди (перед блоком після операційного);
початок та кінець мікрокомандної схеми алгоритму відмічається міткою а0 ;
мітки проставляються згідно з порядковим номером;
![]() |
3.1.6 Основна таблиця автомата (СІ - синхроімпульс)
Будуємо основну таблицю автомата (Таблиця 3). Ця таблиця складається на основі закодованої мікрокомандної схеми алгоритму (Рис.5) В першому стовпчику таблиці записуються усі стани, в яких може знаходитися наш автомат. В першому рядку таблиці записуються способи переходу автомата з одного стану в інший (вхідні сигнали), тобто, чи то буде СІ (той перехід, в процесі якого на шляху не зустрілась жодна верхівка), чи то при переході автомату буде поставлена умова. В клітинках таблиці фіксується, перехід до якого стану здійснюється, і що буде на виході. Наприклад, із стану а0 автомат може здійснити перехід до стану а1 і в результаті цього переходу на виході автомата буде Y1 , тобто, автомат виконає ті мікрооперації, які виконуються на протязі одного такту часу (mY1 і mY2 закодовані мікрокомандою Y1 ), при чому, цей перехід станеться під синхроімпульсним сигналом.
Таблиця 3
Ѳ=1 | X1 | ![]() | X2 | ![]() | X3 | ![]() | X4 | ![]() |
a0 | a1 /Y1 | |||||||
a1 | a2 /Y2 | |||||||
a2 | a3 /Y3 | a3 /__ | ||||||
a3 | a4 /Y4 | |||||||
a4 | a1 /__ | a5 /Y5 | ||||||
a5 | a6 /Y6 | |||||||
a6 | a7 /Y3 | a7 /__ | ||||||
a7 | a8 /Y4 | |||||||
a8 | a5 /__ | a0 /Y7 |
3.1.7 Граф-схема переходів
Будуємо граф-схему переходів (Рис.7) . Граф-схема будується на основі Рис.5. і Таблиці 3 . Кружочками позначаються можливі стани автомата. Стрілки указують на перехід із стану i до стану j. Над стрілкою указується, під яким вхідним сигналом станеться перехід, і, що при цьому буде на виході автомата.
![]() |
3.1.8 Система рівнянь переходів
Складаємо систему рівнянь переходів. Ця система складається на основі граф-схеми переходів (Рис.7 ) або основної таблиці абстрактного автомата (Таблиця 3 ). Сигнал СІ опущений.
3.1 9. Система рівнянь виходів
Складаємо систему рівнянь виходів. Ця система складається на основі закодованої мікрокомандної схеми алгоритму (Рис.5) , де Х - вхід,
Y - вихід.
3.1.10 Кодування внутрішніх станів автомата
Для того, щоб закодувати внутрішні стани автомата, визначаємо кількість необхідних для цього тригерів (n). Кількість тригерів розраховується із співвідношення: log2 A ≤ n, де
n - кількість необхідних тригерів;
А - кількість станів аi (a0 - a8 )
А = 9log2 9 ≤ nÞn = 4,Нам необхідні 4 тригери, значить внутрішні стани автомата будемо кодувати чотирьох-розрядним двійковим кодом. Процес кодування зображений у Таблиці 4.
Таблиця 4
S1 | S2 | S3 | S4 | |
a0 | 0 | 0 | 0 | 0 |
a1 | 0 | 0 | 0 | 1 |
a2 | 0 | 0 | 1 | 0 |
a3 | 0 | 0 | 1 | 1 |
a4 | 0 | 1 | 0 | 0 |
a5 | 0 | 1 | 0 | 1 |
a6 | 0 | 1 | 1 | 0 |
a7 | 0 | 1 | 1 | 1 |
a8 | 1 | 0 | 0 | 0 |
3.1.11 Побудова схеми операційного автомата
Операційний автомат складається з п’яти (5) частин (Рис.5 ).
У вхідній частині розташовані чотири (4) RS-тригери, чотири (4) логічних елементи АБО, на які подається вхідний сигнал, декодер та дві шини, одна з яких необхідна для передачі сигналів, які надходять з декодера, а інша - для сигналів з виходів компаратора.
У перехідній частині автомата виконується перетворення сигнала на протязі одного такту часу. Пройшовши через логічні елементи І та (або) АБО, чи того не роблячи, сигнал змінюється і результат надходить на шину (at ), відкіля продовжує передаватися до програмованої логічної матриці (ПЛМ). Перехідна частина будується на основі системи рівнянь переходів.
Вихідна частина . Ця частина будується на основі системи рівнянь виходів. Тут виконується той самий процес, що й у перехідній частині, тільки сигнали подаються на вихідну шину Yt , з якої сигнал надходить до вихідної матриці.
3.1.12 С хема операційного автомата
![]() |
3.2 Синтез мікропрограмного автомата за схемою Уілкса-Стрінжера у вигляді автомата Мура
Побудувати операційний автомат, який знаходить максимальний парний елемент в кожному рядку масива (A [n,n]).