Выполнение курсовой МПТ ШИРЫ
Описание файла
Документ из архива "Выполнение курсовой МПТ ШИРЫ", который расположен в категории "". Всё это находится в предмете "цифровые устройства и микропроцессоры (цуимп)" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "цифровые устройства и микропроцессоры" в общих файлах.
Онлайн просмотр документа "Выполнение курсовой МПТ ШИРЫ"
Текст из документа "Выполнение курсовой МПТ ШИРЫ"
Задание на проектирование:
На устройство по шинам А{1:8} и B{1:8} побайтно поступают 32-разрядные коды. Сформировать коды номеров совпавших разрядов и подсчитать их количество.
Уточнение задания.
Для выполнения поставленной задачи необходимо устройство, имеющее два входа и два выхода. На устройство по шинам А{1:8} и B{1:8} побайтно поступают 32-разрядные коды. Это означает, что для того чтобы передать полностью 32-разрядные коды необходимо его передавать четырьмя частями, при этом сохранять необходимую информацию о предыдущих частях до тех пор пока не произойдет обработка всего 32-разрядного кода.
Примем, что источник входного кода гарантирует правильность выставленной информации во время действия стробирующего импульса СТРОБ, а само устройство подтверждает выдачу в разрядах кода С{1:6} номер совпавших разрядов и D{1:6} число совпадений символов во время действия генерируемого импульса считывания УСЧИТ.
Будем считать, что смена кодов А и B осуществляется по положительному фронту импульсов ГИ (генератора тактовых импульсов), длительность импульсов СТРОБ и УСЧИТ равна периоду тактовой последовательности и положительные фронты этих импульсов появляются вслед за положительным фронтом импульсов ГИ.
Максимальное число номеров кодов совпавших разрядов и их количество будет равна 32, вычислим разряд двоичного кода, который потребуется для отображения этого числа:
Видно, что для хранения кода необходимо 6 разрядов. Из этого следует что выходные сигналы будут иметь вид С{1:6}и D{1:6}.
ГИ
СТРОБ
А
В
С
D
УСЧИТ
Эпюры напряжений
F
A{1:8}
C{1:6}
B{1:8}
D{1:6}
СЕРОБ
УСЧИТC
УСЧИТD
Функциональная схема
Регистровая реализация вычислительного устройства.
Блок-схема алгоритма функционирования устройства.
В блок-схеме применены следующие обозначения:
РГДА{1:8}, РГДВ{1:8} – регистры данных А и В; СЧБа{1:3} – счетчик байт;
СЧБи{4}- счетчик бит; СЧСо{1:6} – счетчик количества совпадений; СЧИн{1:6} – счетчик индексов определяющий совпадение регистров A и B на i – тых позициях.
0
1
1
0
0
1
0
1
Составление микропрограммы на языке операционного описания.
Микропрограмма 1
Микропрограмма число_совпадений
Переменные
Входные: A{1:8}, B{1:8}, СТРОБ;
Внутренние: РГДА{1:8}, РГДВ{1:8}, СЧБа{1:3}, СЧБи{1:4}, СЧСо{1:6}, СЧИн{1:6};
Выходные: С{1:6}=СЧИн{1:6}, D{1:6}=СЧСо{1:6}; УСЧИТD; УСЧИТС;
Признаки:
Р1= СТРОБ;
Р2= СЧБи{4};
Р3= РГДА{1}= =РГДВ{1};
Р4= СЧБа{3};
Процедура:
УНСЧБа: СЧБа{1:3}=0;
УНСЧСо: СЧСо{1:6}=0;
УНСЧИн: СЧИн{1:6}=0;
М1 если Р1, то М1;
УЗПA: РГДА{1:8}=А{1:8};
УЗПB: РГДВ{1:8}=В{1:8};
УНСБи: СЧБи{1:4}=0;
М2 если Р2, то М5;
М3 если Р3, то М4;
УСЧИТС: С{1:6}= СЧИн{1:6};
усчсо: СЧСо{1:6}= СЧСо{1:6}+1;
Идти к М4;
М4 усчИн: СЧИн{1:6} := СЧИн{1:6}+1,
усчБи: СЧБи{1:4} := СЧБи{1:4}+1;
УСДВА: РГДА{1:8}= РГДА{2:8}.0,
УСДВВ: РГДВ{1:8}= РГДВ{2:8}.0;
Идти к М2
М5 усчба: СЧБа{1:3}= СЧБа{1:3}+1;
если Р4, то М1;
УСЧИТD: D{1:6}= СЧСо{1:6};
Конец.
Анализ микропрограммы показывает, что УНСЧБа, УНСЧСо и УНСЧИн эквивалентны и их можно заменить одним сигналом УНСч: УНСч = УНСЧБа = УНСЧСо = УНСЧИн.
Сигналы УЗПA, УЗПB и УНСБи также эквивалентны и их можно аналогично заменить одним сигналом УЗП: УЗП = УЗПA = УЗПB = УНСБи.
Сигналы УСЧИТС и усчсо также эквивалентны и их можно аналогично заменить одним сигналом УСчитсчСо: УСчитсчСо = УСЧИТС = усчсо.
Сигналы усчИн, усчБи, УСДВА и УСДВВ также эквивалентны и их можно аналогично заменить одним сигналом усчСДВ: усчСДВ = усчИн = усчБи = УСДВА = УСДВВ.
Микропрограмма 2
Микропрограмма число_совпадений
Переменные
Входные: A{1:8}, B{1:8}, СТРОБ;
Внутренние: РГДА{1:8}, РГДВ{1:8}, СЧБа{1:3}, СЧБи{1:4}, СЧСо{1:6}, СЧИн{1:6};
Выходные: С{1:6}=СЧИн{1:6}, D{1:6}=СЧСо{1:6}; УСЧИТD; УСЧИТС;
Признаки:
Р1= СТРОБ;
Р2= СЧБи{4};
Р3= РГДА{1}= =РГДВ{1};
Р4= СЧБа{3};
Процедура:
УНСч: СЧБа{1:3}=0, СЧСо{1:6}=0, СЧИн{1:6}=0;
М1 если Р1, то М1;
УЗП: РГДА{1:8}=А{1:8}, РГДВ{1:8}=В{1:8}, СЧБи{1:4}=0;
М2 если Р2, то М5;
М3 если Р3, то М4;
УСчитсчСо: С{1:6}=СЧИн{1:6}; СЧCo{1:6}:= СЧCo{1:6}+1;
Идти к М4;
М4 усчСДВ: СЧИн{1:6}= СЧИн{1:6}+1, СЧБи{1:4}:= СЧБи{1:4}+1,
РГДА{1:8}:= РГДА{2:8}.0, РГДВ{1:8}= РГДВ{2:8}.0;
Идти к М2;
М5 усчба: СЧБа{1:3}= СЧБа{1:3}+1;
если Р4, то М1;
УСчитD: D{1:6}=СЧСо{1:6};
Конец.
Функциональная схема устройства.
Операционный автомат.
Анализ микропрограммы позволил получить такую функциональную схему операционного автомата:
РГДА
А{1:8}
УЗП
УНСЧ
усчсдв
УНСЧ
СЧИн
+1
СЧИн{1: 6} С{1:6}
УСЧСДВ
РГДА{1: 8}
СЧБа
+1
усчБа
РГДВ
РГДВ{1: 8}
В{1:8}
УЗП
усчсдв
УНСЧ
СЧСо
+1
СЧСо{1: 6} Д{1:6}
УСчитССЧСо
=1
РГДВ{1}
РГДА{1}
СЧБи
+1
УсчитС
УЗП
усчсдв
строб
Усчитд
Р4
Р1
Р2
Р3
Задачи, решаемые управляющим автоматом, достаточно просты: он генерирует сигналы обнуления счетчиков УНСЧ до поевления признака Р1, потом сигналы записи УЗП после появления признака Р1.
после чего генерирует сигнал УСЧN и до появления признака Р3 формирует сигнал УСТР.
Далее после появления признаков Р2 и Р3 формирует сигналы УСчитССчСо, УСЧСДВ и УСЧБа. При появлении признака Р2 формирует только сигнал УСЧБа. При появлении Р3 – УсчитССчСо и УСЧСДВ. После появления признака Р4 генерирует импульс считывания УСЧИТD. Управляющий автомат может быть построен как с жесткой, так и с программируемой логикой. Рассмотрим оба способа реализации.
Управляющий автомат с жесткой логикой.
Построим управляющий автомат с жесткой логикой. Конечный автомат может быть построен и как автомат Мура, и как автомат Мили. Построение графов переходов и выходов управляющего автомата осуществляется на основании граф-схем алгоритмов изображенных ниже.
Автомат Мура:
а0
а1
0
0
1
а2
1
а5
0
1
0
а6
1
а4
а0
а3
Автомат Мили:
х
х
а0
0
1
х
а1
1
х
0
а2
а3
0
1
0
1
а0
х
Граф автомата Мура:
Р1
Унсч
УЗП
р2 р3
УСчитССЧо
УСчитД
Р2
Р4
р2 р3
УСчСДВ
УСчБа
Граф автомата Мили:
1/ УНСЧ
р2 р3/ уСчитССЧСо, УСЧСДВ
/ узп
Р4/ УСЧиТд
Будем строить управляющий автомат как автомат Мили, так как он имеет только четыре состояния и реализуется на двух триггерах, в отличие от автомата Мура, который имеет семь состояний и реализуется на трех триггерах. В качестве триггеров возьмем D-триггеры. На основании графа построим таблицу переходов и выходов автомата.
Воспользуемся таблицей кодирования внутренних состояний автомата
a(t) | Q1(t) | Q1(t) |
а0 | 0 | 0 |
а1 | 0 | 1 |
а2 | 1 | 1 |
а3 | 1 | 0 |
a(t) | а0 | а1 | а2 | а3 | |||
Q1(t) Q1(t) | 00 | 01 | 11 | 10 | |||
Р1 | Р2 | Р3 | Р4 | ||||
-- | -- | -- | -- | 01/ УНСЧ | |||
0 | -- | -- | -- | 01/ -- | |||
1 | -- | -- | -- | 11/ УЗП | |||
-- | 0 | -- | -- | 10/ УСЧБа | |||
-- | 1 | 0 | -- | 11/ УСЧСДВ | |||
-- | 1 | 1 | -- | 11/УСчитССЧСо, УСЧСДВ | |||
-- | -- | -- | 0 | 01\ -- | |||
-- | -- | -- | 1 | 00\ УСЧИТД |
Поскольку, для реализации автомата Мили выбраны D – триггеры, то на основании таблицы переходов и выходов УА после доопределения запрещенных комбинаций определим для него функцию возбуждения триггеров и функцию выхода.
Функция возбуждения.
D1= Р1 Q2 + Q1Q2 + P2 Q1Q2 + P2 P3Q1Q2