Курсовая работа: Синтез мікропрограмних автоматів
Оптимальну функціональну схему керуючих частин автомата синтезувати на елементах І, НЕ, RS-, D - тригерах.
3.2.1 Змістовна схема алгоритму
До складу змістовної схеми алгоритму (Рис.1 ) входять операційні та умовні верхівки. Наш алгоритм виконує знаходження максимального парного елементу кожному рядку масива, використовуючи при цьому чотири (4) умовні верхівки і вісім (8) операційних верхівок. Позначення операційних верхівок показано на Рис.2 . Позначення умовних верхівок на Рис.3 .
3.2.2 Змістовна таблиця кодування операційних та умовних верхівок
Кожна верхівка, чи то операційна чи умовна, кодується. При чому, якщо, мікрооперації повторюються і умовні верхівки повторюються, вони кодуються однаково. В даному прикладі три мікрооперації повторюються двічі, тому, однакові верхівки ми можемо кодувати одним кодом. Таблиця кодування верхівок зображена у Таблиці1 .
Таблиця 1
Код | Зміст | Примітки |
mY1 | j = 1 | |
mY2 | i = 1 | |
mY3 | max = 0 | |
mY4 | A [i,j] | Ввід A [i,j] |
mY5 | max = A [i,j] | |
mY6 | i = i + 1 | |
mY7 | max | Вивід max |
mY8 | j = j + 1 | |
X1 | A [i,j]% 2 | так - 1, ні - 0 |
X2 | A [i,j] > max | так - 1, ні - 0 |
X3 | i < n | так - 1, ні - 0 |
X4 | j < m | так - 1, ні - 0 |
3.2.3 Закодована мікроопераційна схема алгоритма
Закодована мікроопераційна схема алгоритму будується на основі змістовної схеми алгоритму (Рис.1) і таблиці кодування операційних та умовних верхівок (Таблиця 1 ), шляхом заміни відповідних блоків. Схема алгоритму зображена на Рис.4.
3.2.4 Таблиця кодування мікрокоманд
Складаємо таблицю кодування мікрокоманд. Кожна операція кодується своєю мікрокомандою. Мікрооперації, які виконуються одна за одною послідовно на протязі одного такта часу, об’єднуються в одну мікрокоманду. В даному прикладі двічі по дві мікрооперації ( (mY2 , mY3 ) и (mY7 , mY8 )) виконуються послідовно. Тому ми об’єднуємо їх в одну мікрокоманду. Таблиця кодування зображена в Таблиці 2 .
Таблиця 2
Мікрокоманда | Мікрооперація |
Y1 | mY1 |
Y2 | mY2,mY3 |
Y3 | mY4 |
Y4 | mY5 |
Y5 | mY6 |
Y6 | mY7, mY8 |
3.2.5 Закодована мікрокомандна схема алгоритма
Складаємо закодовану мікрокомандну схему алгоритма (Рис.5 ). Проставляємо мітки внутрішніх станів автомата Мура таким чином:
мітки ставляться біля кожної мікрокоманди;
початок і кінець мікрокомандної схеми алгоритма відмічається міткою а0 ;
перехід з одного стану в інший повинен проходити через умовну або операційну верхівки автомата;
- біля кожної мікрокоманди мітки проставляються відповідно порядковому номеру;
3.2.6 Основна таблиця автомата (СІ - синхроимпульс)
Будуємо основну таблицю автомата Мура (Таблиця 3 ). Ця таблиця складається на основі закодованої мікрокомандної схеми алгоритму
(Рис.5) У першому стовпчику таблиці записуються стани, в яких може збути наш автомат. В першому рядку таблиці записуються способи переходу автомата з одного стану в інший (вхідні сигнали), тобто, чи то буде СІ (той перехід, в процесі якого на шляху не зустрілася жодна вершина), чи при переході автомату буде поставлена умова. В клітинках таблиці фіксується, перехід в який стан виконується та, що буде на виході. Наприклад, із стану а0 автомат може здійснити перехід у стан а1 і в результаті цього переходу на виході автомата буде Y1 , тобто, автомат виконає ті мікрооперації, які виконуються на протязі одного такту часу (mY1 закодована мікрокомандою Y1 ), при чому, цей перехід станеться під синхроімпульс ним сигналом.
Таблиця 3
Ѳ=1 | X1 , X2 | X1 , | X3 | X4 | |||
a0 | a1 /Y1 | ||||||
a1 | a2 /Y2 | ||||||
a2 | a3 /Y3 | ||||||
a3 | a5 /Y5 | a4 /Y4 | a5 /Y5 | ||||
a4 | a5 /Y5 | ||||||
a5 | a3 /Y3 | a6 /Y6 | |||||
a6 | a2 /Y2 | a0 / __ |
3.2.7 Граф-схема переходів
Будуємо граф-схему переходів (Рис.7) . Граф-схема будується на основі Рис.5. і Таблиці 3 . Кружочками позначаються можливі стани автомата. Стрілки указують на перехід із стану i до стану j. Над стрілкою указується, під яким вхідним сигналом станеться перехід і, що при цьому буде на виході автомата.
3.2.8 Система рівнянь переходів
Складаємо систему рівнянь переходів. Ця система складається на основі граф-схеми переходів (Рис.7 ) або основної таблиці абстрактного автомата (Таблиця 3 ).
3.2.9 Кодування внутрішніх станів автомата
Для того, щоб закодувати внутрішні стани автомата, визначаємо кількість необхідних для цього тригерів (n). Кількість тригерів розраховується із співвідношення: log2 A ≤ n, де
n - кількість необхідних тригерів;
А - кількість міток аi (a0 - a6 )
А = 7log2 7 ≤³ nÞn = 3,Оскільки, нам необхідно 3 тригера, то внутрішні стани автомата будемо кодувати трьох розрядним війковим кодом. Процес кодування зображений в Таблиці 4.
Таблиця 4
S1 | S2 | S3 | |
a0 | 0 | 0 | 0 |
a1 | 0 | 0 | 1 |
a2 | 0 | 1 | 0 |
a3 | 0 | 1 | 1 |
a4 | 1 | 0 | 0 |
a5 | 1 | 0 | 1 |
a6 | 1 | 1 | 0 |
3.2.10 Побудова схеми операційного автомата
Операційний автомат складається з трьох (3) частин (Рис.5 ).
У вхідній частині розташовані три (3) D-тригери, три (3) логічних елементи АБО, на які подається вхідний сигнал, декодер та дві шини, одна з яких необхідна для передачі сигналів, які надходять з декодера, а інша - для сигналів з виходів компаратора.
У перехідній частині автомата виконується перетворення сигнала на протязі одного такту часу. Пройшовши через логічні елементи І та (або) АБО, чи того не роблячи, сигнал змінюється і результат надходить на шину (at ), відкіля продовжує передаватися до програмованої логічної матриці. Перехідна частина будується на основі системи рівнянь переходів.
Вихідна частина . Ця частина будується на основі системи рівнянь виходів. Тут виконується той самий процес, що й у перехідній частині, тільки сигнали подаються на вихідну шину Yt , з якої сигнал надходить до вихідної матриці.
3.2.11 С хема операційного автомата
Висновки
В результаті виконання курсового проекту повністю виконане індивідуальне завдання. Синтезовано мікропрограмний автомат за схемою Уілкса-Стрінжера у вигляді автомата Мілі, та автомат за схемою Уілкса-Стрінжера у вигляді автомата Мура.
Сформульовано докладні алгоритми виводу автоматів, та отримано кінцеві структурні схеми на І, АБО, НЕ, RS, D - тригерах і граф схеми переходів автоматів.