Синтез комбинационных схем управляющего автомата с жесткой логикой
Разработка схемы алгоритма и составление операционного описания по формированию номеров параллельных кодов А (1:32) и В (1:32) в функциональной схеме управляющего автомата. Построение и анализ структурной схемы УА с программируемой логикой и адресацией.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 24.03.2012 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
КУРСОВАЯ РАБОТА
на тему: «Синтез комбинационных схем управляющего автомата с жесткой логикой»
Оглавление
Задание на проектирование
Уточнение задания
Разработка схемы алгоритма и составление операционного описания
Составление операционного описания
Разработка функциональной схемы устройства
Построение управляющего автомата с жесткой логикой
Сокращенная таблица переходов и выходов автомата Мили
Построение УА с программируемой логикой
Структурная схема УА с естественной адресацией
Список литературы
Задание на проектирование
Вариант №6
Даны два параллельных кода A{1:32} и B{1:32}. Сформировать коды номеров совпавших разрядов и подсчитать их количество.
Уточнение задания
алгоритм схема логика управление автомат
Первоначальная формулировка задания выглядит следующим образом: даны два параллельных кода A{1:32} и B{1:32}. Сформировать коды номеров совпавших разрядов и подсчитать их количество.
Такая формулировка является явно недостаточной, задание требует дополнительной информации.
Примем, что источник входного кода гарантирует правильность выставленной информации во время действия стробирующего импульса СТРОБ, а само устройство подтверждает выда чу кода номеров совпавших разрядов и номера разрядов, в которых совпадают значения разрядов двух параллельных кодов кода A{1:32} и B{1:32}, генерацией импульсов считывания УСЧИТ_КОЛ и УСЧИТ_НОМ.
Будем считать, что смена кодов осуществляется по положительному фронту импульсов ГИ, длительность импульсов СТРОБ и УСЧ равны периоду тактовой последовательности и положительные фронты этих импульсов появляются вслед за положительным фронтом им пульсов ГИ.
Далее определим разрядности выходных кодов. Выходной код НОМКОД{1:k} по заданию равен номерам кодов совпавших разрядов двух параллельных кодов A{1:32} и B{1:32}. Заметим, что наибольшим значением номера кода совпавшего разряда, который мы можем получить, является самый старший разряд равный 32, что потребует формирование шестиразрядного выходного кода НОМКОД{1:6}, так как (32)10=(100000)2, что потребует шестиразрядной шины.
Выходной код КОЛИЧ{1:k} по заданию равен количеству совпавших разрядов двух параллельных кодов A{1:32} и B{1:32}. Заметим, что в случае совпадений всех разрядов двух параллельных кодов, мы имеем максимальное количество совпавших разрядов равное 32, что потребует формирование шестиразрядного выходного кода КОЛИЧ{1:6}, так как (32)10=(100000)2 ,что потребует шестиразрядной выходной шины.
Итак, задание на проектирование может быть выражено в виде функциональной схемы и эпюр напряжения, изображенных на рис. 1. Входные данные, приходящие по двум параллельным кодам сопровождаются управляющим сигналом СТРОБ (передний фронт сигнала СТРОБ совпадает с установившимися сигналами на шинах A и В). Выходные данные КОЛИЧ{1:6}, формируемые устройством, сопровождаются управляющим сигналом УСЧ_КОЛ, чтобы последующие устройства знали в какой момент времени необходимо считать результат работы нашего устройства. Выходные данные НОМКОД{1:6}, формируемые устройством, также сопровождаются управляющим сигналом УСЧИТ_НОМ (передний фронт сигнала УСЧИТ_НОМ совпадает с установившимся сигналом на шине НОМКОД). Считывание данных происходит по переднему фронту управляющих сигналов.
Разработка схемы алгоритма и составление операционного описания
Примем, что два параллельных кода А и В записываются в сдвигающий регистр РГД, который обеспечивает просмотр всех разрядов кодов А и В, начиная с первого. Это организуется засылкой в разряд РГД{1} значений разрядов РГД{2}, РГД{3} и т.д. путем сдвига кода регистра на один разряд влево. Будем подсчитывать число совпавших разрядов в счетчике количества СЧ_КОЛ{1:6}. Выходной код из счетчика СЧ_КОЛ{1:6} будем подавать на шину КОЛИЧ{1:6}. Номера разрядов, в которых произошло совпадение, будем считать в счётчике номеров СЧ_НОМ{1:6}. Выходной код будем из счетчика СЧ_НОМ{1:6} подавать на шину НОМКОД{1:6}.
Работу устройства организуем следующим образом. В начале ожидаем прихода управляющего сигнала СТРОБ, как только СТРОБ пришел - обнулим содержимое счетчика единиц и запишем результат сложения по модулю два двух кодов А и В в РГД. В случае если РГД==0 завершаем процесс анализа. Проанализируем значение первого разряда регистра РГД (РГД {1:1}). Если он содержит единицу, то произведем счет числа комбинаций и подготовим устройство к работе в следующем цикле - сдвинем содержимое регистра РГД влево на один разряд, с записью в освободившийся разряд нуля, и увеличим содержимое счётчика номера разряда на единицу. Проверим, неравен ли РГД нулю. Если РГД равен 0, то закончим процесс, если нет - продолжим его для следующего разряда входного кода.
Завершение работы устройства связано с просмотром количества разрядов, что определяется появлением признака РГД==0.
Схема алгоритма преобразования изображена ниже.
Данный алгоритм может быть адаптирован в алгоритм функционирования операционного устройства, если его шаги будут выражены в терминах работы операционных элементов.
Составление операционного описания
МИКРОПРОГРАММА 1
ПЕРЕМЕННЫЕ
ВХОДНЫЕ: A {1:32}, B {1:32}, СТРОБ;
ВНУТРЕННИЕ: РГД {1:32}, СЧ_НОМ{1:6}, СЧ_КОЛ{1:6},
ГОТ;
ВЫХОДНЫЕ: КОЛИЧ{1:6}= СЧ_КОЛ{1:6}, НОМКОД{1:6}=
СЧ_НОМ{1:6}, УСЧ_НОМ, УСЧ_КОЛ, УГОТ;
ПРИЗНАКИ
Р1=;
Р2= РГД{1:32}==0;
Р3=;
УПРАВЛЯЮЩИЕ СИГНАЛЫ: УЗАП1, УЗАП2, УСЧ_НОМ, УСЛОЖ,
УСЧ_КОЛ, УГОТ, УН1, УН2, УСЧКОЛ, УСЧНОМ, УСДВ, ГОТ;
ПРОЦЕДУРА
УГОТ: ГОТ:=1
М1 ЕСЛИ Р1, ТО М1;
УСЛОЖ: РГД:=РГА mod2 РГВ;
УН1: СЧ_КОЛ:=0;
УН2: СЧ_НОМ:=0;
УСБР: ГОТ:=0;
М2 ЕСЛИ Р2, ТО М4;
ЕСЛИ Р3, ТО М3;
УСЧКОЛ: СЧ_КОЛ:=СЧ_КОЛ+1;
УСЧИТ_НОМ:;
М3 УСДВ: РГД:=РГД{2:48}.0;
УСЧНОМ: СЧ_НОМ= СЧ_НОМ+1;
ИДТИ К М2;
М4 УСЧИТ_КОЛ:;
УГОТ: ГОТ:=1;
КОНЕЦ.
Оптимизируем микропрограмму 1, путем обозначения эквивалентных сигналов: УЗП =УН1=УН2=УСБР;
УСДВ_СЧ=УСДВ= УСЧНОМ;
МИКРОПРОГРАММА 2
ПЕРЕМЕННЫЕ
ВХОДНЫЕ: A {1:32}, B {1:32}, СТРОБ;
ВНУТРЕННИЕ: РГД {1:32}, СЧ_НОМ{1:6}, СЧ_КОЛ{1:6},
ГОТ;
ВЫХОДНЫЕ: КОЛИЧ{1:6}= СЧ_КОЛ{1:6}, НОМКОД{1:6}=
СЧ_НОМ{1:6}, УСЧ_НОМ, УСЧ_КОЛ, ГОТ;
ПРИЗНАКИ
Р1=;
Р2=
Р3=;
УПРАВЛЯЮЩИЕ СИГНАЛЫ: УЗП1,УГОТ, УСЧИТ_НОМ,
УСДВ_СЧ, УСЧИТ_КОЛ;
ПРОЦЕДУРА
УГОТ:;
М1 ЕСЛИ Р1, ТО М1;
УЗП: СЧ_КОЛ:=0, СЧ_НОМ:=0, ГОТ:=0;
РГД:=А mod2 В;
М2 ЕСЛИ Р2, ТО М4;
ЕСЛИ Р3, ТО М3;
УСЧИТ_НОМ: СЧ_КОЛ:=СЧ_КОЛ+1;
М3 УСДВ_СЧ: РГД:=РГД{2:48}.0, СЧ_НОМ= СЧ_НОМ+1;
ИДТИ К М2;
М4 УСЧИТ_КОЛ: ;
УГОТ: ГОТ:=1;
КОНЕЦ.
Разработка функциональной схемы устройства
Функциональная схема операционного автомата (ОА), составленная в соответствии с микропрограммой 2:
Устройство ГОТ устанавливает выходной сигнал УГОТ в положение 1 или 0 в зависимости от входного управляющего сигнала. Управляющий автомат генерирует управляющие сигналы сдвига УСДВ до момента появления признака обнуления Р2, после чего формирует импульсы считывания УСЧИТ_НОМ и УСЧИТ_КОЛ. Управляющий автомат может быть построен как с жесткой логикой, так и с программируемой логикой.
Построение управляющего автомата с жесткой логикой
Кодированная граф-схема алгоритма
Конечный автомат может быть построен и как автомат Мура, и как автомат Мили. Построение графов переходов и выходов УА осуществляется на основании отмеченных граф-схем алгоритмов. Выбор автомата Мура или Мили определяется минимальным числом состояний.
Автомат Мура
Отмеченная граф-схема алгоритма:
Граф переходов и выходов автомата Мура:
Автомат Мили
Отмеченная граф-схема алгоритма:
Граф переходов и выходов автомата Мили:
Можно сделать вывод, что управляющий автомат с жесткой логикой лучше строить как автомат Мили, т.к. он имеет только 3 состояния и реализуется на одном триггере. В качестве триггера будем использовать D-триггер.
Сокращенная таблица переходов и выходов автомата Мили
Таблица кодирования внутренних состояний автомата:
Кодированная таблица переходов и выходов:
На основании кодированной таблицы переходов и выходов УА получим функции возбуждения D-триггера (все переходы распишем в 1 состояние):
Получим функции внешних переходов:
Получим выражения для управляющих сигналов:
Реализуем полученные выражения, построив схему на логических элементах И, ИЛИ, НЕ:
Построение УА с программируемой логикой
УА с естественной адресацией.
Каноническая форма микропрограммы функционирования синтезируемого ОУ:
Номер |
Метка |
Управляющие сигналы |
Переходы |
|
0 |
|
УГОТ |
|
|
1 |
М1 |
|
ЕСЛИ Р1, ТО М1 |
|
2 |
|
УЗП |
|
|
3 |
М2 |
|
ЕСЛИ Р2, ТО М4 |
|
4 |
|
|
ЕСЛИ Р3, ТО М3 |
|
5 |
|
УСЧИТ_НОМ |
|
|
6 |
М3 |
УСДВ_СЧ |
|
|
7 |
|
|
ИДТИ К М2 |
|
8 |
М4 |
УСЧИТ_КОЛ, УГОТ |
|
|
9 |
|
|
КОНЕЦ |
Для построения УА нам потребуется 11 ячеек ПЗУ. Адрес ПЗУ будет выражаться четырехразрядным кодом А{3:0}.
Представим микрокоманду в следующем формате:
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
0 |
УГОТ |
УЗП |
УСЧИТ_НОМ |
УСДВ_СЧ |
УСЧИТ_КОЛ |
- |
- |
|
1 |
Р1 |
Р2 |
Р3 |
А3 |
А2 |
А1 |
А0 |
Установим соответствие между метками и адресами переходов:
М1=110=00012, М2=310=00112, М3=610=01102, М4=810=10002
Построим кодовое выражение микропрограммы УУ:
Номер |
Адрес |
Разряды микрокоманд |
|||
0 |
0000 |
0 |
100 |
0000 |
|
1 |
0001 |
1 |
100 |
0001 |
|
2 |
0010 |
0 |
010 |
0000 |
|
3 |
0011 |
1 |
010 |
1000 |
|
4 |
0100 |
1 |
001 |
0110 |
|
5 |
0101 |
0 |
001 |
0000 |
|
6 |
0110 |
0 |
000 |
1000 |
|
7 |
0111 |
1 |
000 |
0011 |
|
8 |
1000 |
0 |
100 |
0100 |
|
9 |
1001 |
1 |
000 |
0000 |
УА с принудительной адресацией.
Для принудительной адресации микрокоманда может одновременно содержать переходы и управляющие сигналы. Обратимся к канонической форме микропрограммы функционирования ОУ и выясним, возможны ли объединения строк. Здесь могут быть объединены строки 6 и 7, 8 и 9.
Номер |
Метка |
Управляющие сигналы |
Переходы |
|
0 |
|
УГОТ |
|
|
1 |
М1 |
|
ЕСЛИ Р1, ТО М1 |
|
2 |
|
УЗП |
|
|
3 |
М2 |
|
ЕСЛИ Р2, ТО М4 |
|
4 |
|
|
ЕСЛИ Р3, ТО М3 |
|
5 |
|
УСЧИТ_НОМ |
|
|
6 |
М3 |
УСДВ_СЧ |
ИДТИ К М2 |
|
7 |
М4 |
УСЧИТ_КОЛ, УГОТ |
КОНЕЦ |
Установим соответствие между метками и адресами:
М1=110=00012, М2=310=00112, М3=610=01102, М4=710=01112
Формат микрокоманды в микропрограмме УА с принудительной адресацией выглядит так:
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
УГОТ |
УЗП |
УСЧИТ_НОМ |
УСДВ_СЧ |
УСЧИТ_КОЛ |
Р1 |
Р2 |
Р3 |
|
9 |
10 |
11 |
12 |
|||||
А3 |
А2 |
А1 |
А0 |
Кодовое выражение микропрограммы для управляющего автомата с принудительной адресацией строится аналогично микропрограмме автомата с естественной адресацией. При этом отсутствие в строке управляющих сигналов трансформируется в нулевой код операционного поля микрокоманды, а оператор перехода в безусловный переход к следующей команде.
Номер |
Адрес |
Разряды микрокоманд |
|||
0 |
0000 |
10000 |
000 |
0001 |
|
1 |
0001 |
00000 |
100 |
0001 |
|
2 |
0010 |
01000 |
000 |
0011 |
|
3 |
0011 |
00000 |
010 |
0111 |
|
4 |
0100 |
00000 |
001 |
0110 |
|
5 |
0101 |
00100 |
000 |
0110 |
|
6 |
0110 |
00010 |
000 |
0011 |
|
7 |
0111 |
10001 |
000 |
0000 |
Сравнивая объем микропрограмм для УА с естественной и принудительной адресацией, можно убедиться в том, что естественная адресация требует меньшего объема ПЗУ (8х10=80 бит), чем принудительная (12х7=84 бит).
Структурная схема УА с естественной адресацией
Начальный адрес микропрограммы, равный 000, устанавливается сигналом СБРОС, и УА ждет прихода сигнала СТРОБ для прохождения работы. Здесь ф1 - это тактирующая последовательность, а ф2 - счетчик адреса СЧА.
Список литературы
1. Методические указания к курсовой работе по дисциплине «Вычислительные системы и микропроцессорная техника» - М.: «МАИ», 1991. - 36 c.: ил.
2. Силин В.Б., Мельников Б.С. Электронные вычислительные устройства. Операционный синтез. - М.: «МАИ», 1982. - 70 c.: ил.
Размещено на Allbest.ru
Подобные документы
Принцип микропрограммного управления. Управляющие автоматы с жесткой и программируемой логикой. Граф-схемы алгоритмов. Синтез управляющего автомата по граф-схеме алгоритма. Построение управляющего автомата с программируемой логикой на основе ПЗУ.
курсовая работа [263,8 K], добавлен 25.01.2011Разработка функциональной схемы управляющего микропрограммного автомата. Построение графов автомата для модели Мили и Мура. Кодирование состояний для модели Мура на D-триггерах. Алгоритм умножения чисел в дополнительном коде с простой коррекцией.
курсовая работа [764,0 K], добавлен 27.08.2012Определение функций выходных сигналов и сигналов возбуждения. Построение функциональной схемы управляющего автомата. Способы выполнения операции умножения с фиксированной и с плавающей запятой. Получение функциональной ГСА. Кодирование состояния автомата.
курсовая работа [60,9 K], добавлен 15.02.2011Разработка управляющего автомата процессора с жесткой логикой в САПР Quartus II. Построение схемы функциональной микропрограммы команды "Исключающее ИЛИ" в размеченном виде. Унитарное кодирование состояний автомата. Запись функций переходов и выходов.
курсовая работа [671,3 K], добавлен 04.11.2014Общая структура и принцип функционирования синхронного управляющего автомата. Анализ граф схемы алгоритма управляющего автомата и детализация блока памяти. Структурный синтез логического преобразователя и разработка электрической функциональной схемы.
курсовая работа [222,6 K], добавлен 19.02.2013Разработка модели процессора, выполняющего набор машинных команд. Структурная схема процессора (операционного и управляющего автоматов), анализ принципа работы. Содержательный алгоритм микропрограммы, синтез управляющего автомата на основе жесткой логики.
курсовая работа [871,9 K], добавлен 16.09.2010Функциональная и структурная организация ЭВМ. Разработка функциональных микропрограмм заданных команд. Их объединение и привязка к структуре операционного автомата процессора. Разработка управляющего автомата процессора с программируемой логикой.
дипломная работа [4,0 M], добавлен 25.03.2012Разработка управляющего автомата, ориентированного на выполнение заданной микрооперации. Разработка алгоритма работы управляющего автомата. Листинг программы. Выбор оптимального варианта кодирования состояний автомата. Синтез функции возбуждения.
курсовая работа [506,9 K], добавлен 26.12.2012Разработка структурной схемы процессора; синтез микропрограммного и управляющего автомата с жесткой логикой. Функциональная организация процессора: программные модели, форматы данных и команд. Организация оперативной памяти. Проектирование блока операций.
учебное пособие [1,1 M], добавлен 09.04.2013Алгоритм умножения двоичных чисел. Выбор и описание структурной схемы операционного автомата. Реализация содержательной граф-схемы алгоритма. Построение отмеченной граф-схемы и структурной таблицы переходов и выходов. Правила кодирования на D-триггерах.
курсовая работа [273,2 K], добавлен 01.04.2013