Синтез микропрограммного автомата с жесткой логикой
Синтез цифровых схем, выбор элементной базы и анализ принципов построения управляющих автоматов с жесткой логикой. Граф-схемы алгоритмов умножения и деления чисел. Создание управляющего автомата типа Мили; выбор триггера, кодирование сигналов автомата.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 18.09.2012 |
Размер файла | 1,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
СОДЕРЖАНИЕ
Введение
1. Теоретический раздел
1.1 Общая формулировка задания
1.2 Теоретические сведения
1.2.1 Методы умножения двоичных чисел с фиксированной точкой
1.2.2 Двоичный сумматор прямого и дополнительного кода
1.2.3 Умножение двоичных чисел в прямом и дополнительном коде
1.2.4 Числа с плавающей запятой
1.2.5 Диапазон чисел представимых в форме с плавающей запятой
1.2.6 Деление чисел с плавающей запятой
1.2.7 Дешифратор
2. Практический раздел
2.1 Граф-схема алгоритма умножения двоичных чисел на ДСПК
2.2 Отмеченная граф - схема алгоритма умножения двоичных чисел на ДСПК
2.3 Граф-схема алгоритма умножения двоичных чисел на ДСДК по третьему методу
2.4 Отмеченная граф-схема алгоритма умножения двоичных чисел на ДСДК по третьему методу
2.5 Граф-схема алгоритма деление чисел с плавающей запятой
2.6 Отмеченная граф-схема алгоритма деление чисел с плавающей запятой
2.7 Матричная схема алгоритма умножения двоичных чисел на ДСПК
2.8 Матричная схема алгоритма умножения двоичных чисел на ДСДК по третьему методу
2.9 Матричная схема алгоритма деления с плавающей запятой
2.10 Объединенная граф-схема алгоритмов
2.11 Объединенная матричная схема алгоритмов
2.12 Синтез управляющего автомата типа Мили
2.12.1 Выбор триггера
2.12.2 Кодирование состояний
2.12.3 Кодирование входных сигналов автомата
2.12.4 Кодирование выходных сигналов автомата
2.12.5 Синтез автомата
2.12.6 Формулы возбуждения триггеров
2.12.7 Формулы выходных сигналов триггеров
2.12.8 Выбор дешифратора
2.12.9 Схема автомата
2.12.10 Проверка автомата
Заключение
Список использованной литературы
ВВЕДЕНИЕ
Еще несколько лет назад человек мог обходиться без компьютера, и не задумываясь шел в библиотеки для того что бы найти нужную информацию.
Но сейчас мы знаем, что это практически невозможно.
Этап развития вычислительной техники наступил с изобретением и созданием электронных вычислительных машин, которые работают автоматически, без участия человека, в соответствии с заранее заданной программой. Появление таких машин вызвано объективными условиями современного развития науки, техники и народного хозяйства. Во многих областях человеческой деятельности уже в середине ХХ века объем и сложность вычислительных работ настолько возросли, что решение некоторых задач без применения вычислительной техники было бы практически не возможным. Сейчас же обходиться без вычислительной машины практически не возможно. Вычислительная техника нашла свое применение во всех отраслях. В основном они используются: для решения сложных математических и инженерных задач, в качестве управляющих машин в промышленности и военной технике, в сфере обработки информации.
Курс “Теория автоматов” -- основной этап в изучении электронной вычислительной техники.
Обобщенно любую ЭВМ можно представить (согласно принципу академика В.М. Глушкова) в виде двух основных устройств: операционного (ОУ) и управляющего (УУ). Управляющее устройство вырабатывает распределенную во времени последовательность управляющих сигналов, порождающих в операционном блоке нужную последовательность микроопераций. То есть автоматически управляет вычислительным процессом, посылая всем другим устройствам сигналы, предписывающие им те или иные действия.
Генерируемая управляющими устройствами последовательность управляющих сигналов задается поступающими на его входы кодом операции, сигналами из операционного устройства, несущими информацию об особенностях операндов, промежуточных конечных результатов операций, а также синхросигналами, задающими границы тактов. Существует два основных типа управляющих автоматов:
Управляющий автомат с хранимой в памяти логикой. Каждой выполняемой в операционном устройстве операции, ставится в соответствие совокупность слов -- микрокоманд. То есть функции переходов и выходов управляющего автомата реализуются хранимой в памяти совокупностью микрокоманд.
Управляющий автомат с “жесткой”, или схемной логикой. Для каждой операции, задаваемой, например, кодом операции команды, строится набор комбинационных схем, которые в нужных тактах возбуждают соответствующие управляющие сигналы. Другими словами строится конечный автомат, в котором необходимое множество состояний представляется состояниями k запоминающих элементов. С целью приобретения навыков построения цифровых схем, их синтеза, выбора элементной базы, и анализа принципов построения управляющих автоматов, главная задача данного проекта -- проектирование и реализация устройства управления с «жесткой» логикой.
1. ТЕОРЕТИЧЕСКИЙ РАЗДЕЛ
1.1 Общая формулировка задания
3) Умножение чисел, представленных в форме с фиксированной точкой на ДСПК
7) Умножение чисел с фиксированной точкой на ДСДК по 3 методу
27) Деление чисел с плавающей запятой.
Начертить содержательные граф - схемы алгоритмов (СГСА).
1.2 Теоретические сведения
1.2.1 Методы умножения двоичных чисел с фиксированной точкой
Алгоритм операции умножения:
Операция умножения чаще всего выполняется суммированием
сдвинутых на один или несколько разрядов частичных произведений.
Возьмем два числа a, b соответственно множитель и множимое и произведем операцию умножения с их модулями:
1) Анализируем разряд за разрядом множителя начиная с младших разрядов.
2) Если анализируемый разряд множителя равен единицы, то множимое прибавляется к сумматору, если же разряд множителя равен нулю то мы прибавляем нулевое значение множимого.
3) Множимое сдвигается каждый раз влево на один разряд после операции сложения.
4) Пункты 2 и 3 выполняются n раз. N- количество разрядов в множителе.
Частичное произведение - результат умножения множимого на соответствующий разряд множителя.
При точном умножении двух чисел количество значащих цифр произведения может в пределе достичь двойного количества значащих цифр сомножителей. Правила приближенных вычислений рекомендуют оставлять в произведении столько значащих цифр, сколько их содержится в наименее точном из сомножителей.
Сокращение количества операций сложения при реализации умножения достигается методами ускоренного умножения. Вначале рассмотрим обычные методы неускоренного умножения.
Умножение двоичных чисел наиболее просто выполняется в прямом коде. Знак произведения определяется путем сложения знаковых цифр
сомножителей по модулю 2. Процессом накопления суммы частичных произведений можно управлять с помощью цифр множителя в соответствии с выражением
(1.0)
где С - искомое произведение; А - множимое; В - множитель.
Метод 1 - умножение младшими разрядами множителя со сдвигом накапливаемой суммы частичных произведений вправо.
Выражение 1.0 для нахождения произведения С=АВ сводится к n-кратному выполнению цикла
(1.1)
при начальных условиях i=0; C0=0.
Метод 2 - умножение младшими разрядами множителя со сдвигом множимого влево. Для данной схемы вычисление выражения 1.0 сводится к n-кратному выполнению цикла
(1.2)
где Аi=2Аi-1, при начальных значениях i=0; C0=0; A0=А..
Метод 3 - умножение старшими разрядами множителя со сдвигом суммы частичных произведений влево. Для данной схемы умножение двух чисел А и В сводится к n-кратному повторению цикла:
(1.3)
с начальными значениями i=0; С0=0.
Метод 4 - умножение старшими разрядами множителя со сдвигом множимого вправо. Для данного способа умножение сводится к n-кратному выполнению цикла:
(1.4)
при начальных условиях i=0; А0=А; С0=0.
Таблица 1.0
Вычислительная схема умножения для первого метода
Таблица 1.1
Вычислительная схема умножения для второго метода
Таблица 1.2
Вычислительная схема умножения для третьего метода
Таблица 1.3
Вычислительная схема умножения для четвертого метода
1.2.2 Двоичный сумматор прямого и дополнительного кода
Двоичный сумматор прямого кода (ДСПК)- сумматор в котором отсутствует цепь поразрядного переноса между старшим цифровым и знаковым разрядами, поэтому на ДСПК складываются числа, имеющие одинаковые знаки; сумма чисел имеет знак любого из слагаемых.
Двоичный сумматор дополнительного кода (ДСДК) - сумматор, опирающий изображениями чисел в дополнительном коде и имеющий цепь поразрядного переноса из старшего цифрового в знаковый разряд. Правила сложения на ДСДК основаны на следующей теореме: сумму дополнительных кодов есть дополнительный код результата.
1.2.3 Умножение двоичных чисел в прямом и дополнительном коде
Пусть заданы машинные изображения двух чисел:
[A]np = SgA,al,a2...an, [B]np = SgB, b1b2...bn.
Тогда их произведение
Где
-- знак сложения по модулю 2.
При выполнении этой операции должны быть заданы структурная схема устройства, на котором производится операция, и метод умножения.
Пример:
Чтобы процесс умножения происходил правильно, необходимо предусмотреть блокировку выработки сигнала переполнения, так как возможно временное переполнение на каком-то шаге умножения. Пример показывает, что в данном случае не обязательно иметь сумматор длиной 2п разрядов. Хранение «хвостов» произведения можно осуществлять в освобождающихся разрядах регистра множителя. Для этого достаточно обеспечить цепь передачи информации из младшего разряда сумматора в старший разряд регистра множителя.
Во всех приведенных ниже примерах будет применяться рассмотренный способ.
В случаях, когда числа в машине хранятся в дополнительных кодах, целесообразно все операции над числами производить на сумматоре дополнительного кода. Однако при этом возникает ряд особенностей, которые необходимо учитывать.
Произведение дополнительных кодов сомножителей равно дополнительному коду результата только в случае положительного множителя.
Пусть множимое А--любое число, т.е.А = [А]д, а множитель B>0. Тогда
На основании теоремы о сложении дополнительных кодов можно утверждать, что в правой части уравнения стоит дополнительный код результата.
Таким образом, умножение на сумматоре дополнительного кода заключается в анализе разрядов множителя и при bi=1 в прибавлении дополнительного кода множимого к содержимому сумматора. При этом должны осуществляться модифицированные сдвиги.
Теперь рассмотрим случай, когда множимое А--любое число, а множитель В<0. Тогда [B]д= 1,b1b2...bn.
На основании можно записать, что B = [B]д -- 2, или B = 0, l2.... Следовательно, произведение чисел
AB = A(0, l2...) = A*0, l2...-A
Данная формула показывает, что при отрицательном множителе произведение дополнительных кодов операндов не равно дополнительному коду результата. Если ввести замену -- А на , то можно вывести следующее правило.
Если множитель отрицательный, то произведение чисел на сумматоре дополнительного кода получается прибавлением поправки [] к произведению дополнительных кодов сомножителей.
Таким образом, на сумматоре дополнительного кода в процессе перемножения машинных изображений операндов получаем одновременно знаковую и цифровую части произведения.
1.2.4 Числа с плавающей запятой
Плавающая запятая - форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся относительную.
Наиболее частое представление утверждено в стандарте IEEE 754. Реализация математических операций с числами с плавающей запятой в вычислительных системах может быть как аппаратная, так и программная.
Преимущество использования представления чисел в форме с плавающей запятой над представлением в форме с фиксированной запятой (и целыми числами) состоит в том что можно использовать существенно большой диапазон значений при неизменной относительной точности. Например в форме с фиксированной запятой число, занимающее 8 разрядов в целой части и 2 разряда после запятой, может быть представлено в виде 123456,78; 8765,43 и так далее. В свою очередь в форме с плавающей запятой (в тех же 8 разрядах) мажно записать числа 1,234567; 1234567,80,00001234567 и так далее, но для этого необходимо двухразрядное дополнительное поле для записи показателей степени 10 от 0 до 1610 , при этом общее число разрядов составит 8+2=10
Структура числа:
· Мантиссы (выражающей значение числа без учета порядка)
· Знака мантиссы (указывающего на отрицательность или положительность числа)
· Порядка (Выражающего степень основания числа, на которое умножается мантисса)
· Знака порядка
1.2.5 Диапазон чисел представимых в форме с плавающей запятой
Диапазон чисел которых можно записать данным способом, зависит от количества бит отведенных для представления мантиссы, и показателя. На обычной 32-битной вычислительной машине, использующей двоичную точность (64 бита), мантисса составляет 1 бит знак + 52 бита, показатель - 1 бит знак + 10 бит. Таким образом получаем диапазон точности примерно от 4,9410-324 до 1,7910308 (от 2-522-1022 до 1 21024). Пара значений показателя зарезервирована для обеспечения возможности представления специальных чисел. К ним относятся значения NaN (Not a number, не число) и +/-inf (бесконечность), получающихся в результате операций типа деления на ноль нуля, положительных и отрицательных чисел. Так же сюда попадают денормализованные числа, у которых мантисса меньше единицы.
1.2.6 Деление чисел с плавающей запятой
Для получения частного от деления двух чисел, представленных в форме плавающей запятой, необходимо определить тс= mA/mB,
рс=рA -- рB.
Так как мантиссы делимого и делителя -- нормализованные числа, то при делении возможны случаи, когда |mA|=>|mB|; |mA|<|mB|.
Если мантисса делимого больше или равна мантиссе делителя, то в конце операции деления потребуется нормализация частного (нарушение правой границы). Таким образом, алгоритм деления начинается с операции вычитания делителя из делимого и записи единицы в целую часть частного. Все остальные действия над мантиссами аналогичны действиям над числами, представленными в форме с фиксированной запятой.
Если мантисса делимого меньше мантиссы делителя, то после операции вычитания на первом шаге получится отрицательный остаток, что означает нуль в целой части мантиссы частного и продолжение алгоритма деления по рассмотренным выше правилам для чисел, представленных в форме с фиксированной запятой. Таким образом, частное всегда получается в прямом коде, а действия над мантиссами осуществляются на ДСОК или ДСДК.
Так как при операции деления порядки чисел вычитаются (изображения складываются), то возможно переполнение разрядной сетки в сумматоре порядков. При переполнении в сторону отрицательных величин порядка мантисса результата превращается в машинный нуль, а порядку присваивается наибольшее отрицательное значение. Если делитель равен нулю, то также вырабатываются сигналы ц=1 и останов машины. Эти частные случаи предусмотрены при реализации алгоритмов в ЕС ЭВМ, где используется алгоритм деления без восстановления остатков. При этом мантисса делимого имеет длину в 2 раза больше, чем делитель, что иллюстрируется следующим примером:
1.2.7 Дешифратор
Определение:
Дешифратор (декодер) -- комбинационное устройство, преобразующее n-разрядный двоичный, троичный или k-ичный код в -ичный одноединичный код, где - основание системы счисления. Логический сигнал, появляется на том выходе, порядковый номер которого соответствует двоичному, троичному или k-ичному коду.
Дешифраторы являются устройствами, выполняющими двоичные, троичные или k-ичные логические функции (операции).
Рис 1.2.7.1 - символическое изображение дешифратора
Принцип работы двоичного дешифратора
Пусть дешифратор имеет N входов, на них подано двоичное слово xN ? 1xN ? 2...x0, тогда на выходе будем иметь такой код, разрядности меньшей или равной 2N, что разряд, номер которого равен входному слову, принимает значение единицы, все остальные разряды равны нулю. Очевидно, что максимально возможная разрядность выходного слова равна 2N. Такой дешифратор называется полным. Если часть входных наборов не используется, то число выходов меньше 2N, и дешифратор является неполным.
2. ПРАКТИЧЕСКИЙ РАЗДЕЛ
2.1 Граф-схема алгоритма умножения двоичных чисел на ДСПК
Размещено на http://www.allbest.ru/
Рисунок 2.1.1 - Граф-схема алгоритма умножения двоичных чисел на ДСПК
2.2 Отмеченная граф-схема алгоритма умножения двоичных чисел на ДСПК
Размещено на http://www.allbest.ru/
Рисунок 2.2.1 - Отмеченная граф-схема алгоритма умножения двоичных чисел на ДСПК
алгоритм цифровой автомат мили
2.3 Граф-схема алгоритма умножения двоичных чисел на ДСДК по третьему методу
Рисунок 2.3.1 - Граф-схема алгоритма умножения двоичных чисел на ДСДК по третьему методу
2.4 Отмеченная граф-схема алгоритма умножения двоичных чисел на ДСДК по третьему методу
Рисунок 2.4.1 - Отмеченная граф-схема алгоритма умножения двоичных чисел на ДСДК по второму методу
2.5 Граф-схема алгоритма деление чисел с плавающей запятой
Рисунок 2.5.1 - Граф-схема алгоритма деления с плавающей запятой
2.6 Отмеченная граф-схема алгоритма деление чисел с плавающей запятой
Рисунок 2.6.1 Отмеченная граф-схема алгоритма деления с плавающей запятой
2.7 Матричная схема алгоритма умножения двоичных чисел на ДСПК
Таблица 2.7.1
Матричная схема алгоритма умножения двоичных чисел G1 - умножение на ДСПК
Y1 |
Y2 |
Y3 |
Yк |
||
Y0 |
1 |
||||
Y1 |
X1 |
!X1 |
|||
Y2 |
1 |
||||
Y3 |
X2*!X1 |
!X2 |
2.8 Матричная схема алгоритма умножения двоичных чисел на ДСДК по третьему методу
Таблица 2.8.1
Матричная схема алгоритма умножения двоичных чисел
G2 -умножение на ДСДК |
||||||||||
Y4 |
Y5 |
Y6 |
Y7 |
Y8 |
Y9 |
Y10 |
Y11 |
YK |
||
Y0 |
1 |
|||||||||
Y4 |
X3 |
!X3*X4 |
!X3*!X4*X5 |
!X3*!X4*!X5 |
||||||
Y5 |
X4 |
!X4*X5 |
!X4*!X5 |
|||||||
Y6 |
X5 |
!X5 |
||||||||
Y7 |
1 |
|||||||||
Y8 |
X6 |
!X6 |
||||||||
Y9 |
1 |
|||||||||
Y10 |
X7*X4 |
X7*!X4*X5 |
X7*!X4*!X5 |
!X7*X8 |
!X7*!X8 |
|||||
Y11 |
1 |
2.9 Матричная схема алгоритма деления с плавающей запятой
Таблица 2.9.1
Матричная схема алгоритма деления чисел с плавающей запятой
Y12 |
Y13 |
Y14 |
Y15 |
Y16 |
Y17 |
Y18 |
Y19 |
Y20 |
Y21 |
Y22 |
Y23 |
Y24 |
Y25 |
Y26 |
Y27 |
Y28 |
Yк |
||
Y0 |
1 |
||||||||||||||||||
Y12 |
X9 |
!X9 |
|||||||||||||||||
Y13 |
X10 |
!X10 |
|||||||||||||||||
Y14 |
X10 |
!X10 |
|||||||||||||||||
Y15 |
!X10 |
X10 |
|||||||||||||||||
Y16 |
!X10 |
X10 |
|||||||||||||||||
Y17 |
1 |
||||||||||||||||||
Y18 |
1 |
||||||||||||||||||
Y19 |
X11 |
!X11 |
|||||||||||||||||
Y20 |
1 |
||||||||||||||||||
Y21 |
X12 |
!X12 |
|||||||||||||||||
Y22 |
1 |
||||||||||||||||||
Y23 |
1 |
||||||||||||||||||
Y24 |
1 |
||||||||||||||||||
Y25 |
X13 |
!X13 |
|||||||||||||||||
Y26 |
X14 |
!X14 |
|||||||||||||||||
Y27 |
1 |
||||||||||||||||||
Y28 |
1 |
2.10 Объединенная граф-схема алгоритмов
Рисунок 2.10.1 - Продолжение объединенной граф-схемы алгоритмов
2.11 Объединенная матричная схема алгоритмов
Объединенная матричная схема алгоритмов находится в приложение А.
2.12 Синтез управляющего автомата типа Мили
2.12.1 Выбор триггера
Существует много триггеров, такие как триггер с раздельным входом, JK триггер, триггер со счетным входом и так далее. Из всех изученных триггеров я предпочел триггер со счетным входом. Так как он имеет один вход и один выход, следовательно нужна одна функция для управления этим триггером. Поэтому, при синтезировании автомата в качестве запоминающего элемента был использован триггер со счетным входом. Принцип работы триггера представлен в таблице 2.12.1.1
Таблица 2.12.1.1
Переходы триггера
исходное состояние |
сигнал на входе |
состояние |
|
0 |
0 |
0 |
|
0 |
1 |
1 |
|
1 |
1 |
0 |
|
1 |
0 |
1 |
2.12.2 Кодировка состояний
Таблица 2.12.2.1
Коды состояний автомата Мили
Действие в алгоритме |
Состояние автомата |
Код |
|
Y0 |
S0 |
000000 |
|
Y1 |
S1 |
000001 |
|
Y2 |
S2 |
000010 |
|
Y3 |
S3 |
000011 |
|
Y4 |
S4 |
000100 |
|
Y5 |
S5 |
000101 |
|
Y6 |
S6 |
000110 |
|
Y7 |
S7 |
000111 |
|
Y8 |
S8 |
001000 |
|
Y9 |
S9 |
001001 |
|
Y10 |
S10 |
001010 |
|
Y11 |
S11 |
001011 |
|
Y12 |
S12 |
001100 |
|
Y13 |
S13 |
001101 |
|
Y14 |
S14 |
001110 |
|
Y15 |
S15 |
001111 |
|
Y16 |
S16 |
010000 |
|
Y17 |
S17 |
010001 |
|
Y18 |
S18 |
010010 |
|
Y19 |
S19 |
010011 |
|
Y20 |
S20 |
010100 |
|
Y21 |
S21 |
010101 |
|
Y22 |
S22 |
010110 |
|
Y23 |
S23 |
010111 |
|
Y24 |
S24 |
011000 |
|
Y25 |
S25 |
011001 |
|
Y26 |
S26 |
011010 |
|
Y27 |
S27 |
011011 |
|
Y28 |
S28 |
011100 |
|
YK |
S0 |
000000 |
2.12.3 Кодирование входных сигналов автомата
Таблица 2.12.3.1
Коды входных сигналов автомата Мили
Входные сигналы |
Код |
Обозначение |
|
G1 |
000000 |
Z1 |
|
X1 |
000001 |
Z2 |
|
!X1 |
000010 |
Z3 |
|
1 |
000011 |
Z4 |
|
X2*!X1 |
000100 |
Z5 |
|
!G1*G2 |
000101 |
Z6 |
|
X3 |
000110 |
Z7 |
|
!X3*X4 |
000111 |
Z8 |
|
X4 |
001000 |
Z9 |
|
X7*X4 |
001001 |
Z10 |
|
!X3*!X4*X5 |
001010 |
Z11 |
|
!X4*X5 |
001011 |
Z12 |
|
X5 |
001100 |
Z13 |
|
X7*!X4*X5 |
001101 |
Z14 |
|
!X5 |
001110 |
Z15 |
|
X6 |
001111 |
Z16 |
|
!X6 |
010000 |
Z17 |
|
!X7*X8 |
010001 |
Z18 |
|
X9 |
010010 |
Z19 |
|
!X9 |
010011 |
Z20 |
|
X10 |
010100 |
Z21 |
|
!X10 |
010101 |
Z22 |
|
X11 |
010110 |
Z23 |
|
!X11 |
010111 |
Z24 |
|
X12 |
011000 |
Z25 |
|
!X12 |
011001 |
Z26 |
|
X13 |
011010 |
Z27 |
|
!X13 |
011011 |
Z28 |
|
X14 |
011100 |
Z29 |
|
!X14 |
011101 |
Z30 |
|
!X7*!X8 |
011110 |
Z31 |
|
!X2 |
011111 |
Z32 |
|
!G1*!G2*G3 |
100000 |
Z33 |
|
!X3*!X4*!X5 |
100001 |
Z34 |
|
!X4*!X5 |
100010 |
Z35 |
|
X7*!X4*!X5 |
100011 |
Z36 |
2.12.4 Кодирование выходных сигналов автомата
Таблица 2.12.4.1
Коды выходных сигналов автомата Мили
Выходной сигнал |
Код |
||||||
W1 |
0 |
0 |
0 |
0 |
0 |
0 |
|
W2 |
0 |
0 |
0 |
0 |
0 |
1 |
|
W3 |
0 |
0 |
0 |
0 |
1 |
0 |
|
W4 |
0 |
0 |
0 |
0 |
1 |
1 |
|
W5 |
0 |
0 |
0 |
1 |
0 |
0 |
|
W6 |
0 |
0 |
0 |
1 |
0 |
1 |
|
W7 |
0 |
0 |
0 |
1 |
1 |
0 |
|
W8 |
0 |
0 |
0 |
1 |
1 |
1 |
|
W9 |
0 |
0 |
1 |
0 |
0 |
0 |
|
W10 |
0 |
0 |
1 |
0 |
0 |
1 |
|
W11 |
0 |
0 |
1 |
0 |
1 |
0 |
|
W12 |
0 |
0 |
1 |
0 |
1 |
1 |
|
W13 |
0 |
0 |
1 |
1 |
0 |
0 |
|
W14 |
0 |
0 |
1 |
1 |
0 |
1 |
|
W15 |
0 |
0 |
1 |
1 |
1 |
0 |
|
W16 |
0 |
0 |
1 |
1 |
1 |
1 |
|
W17 |
0 |
1 |
0 |
0 |
0 |
0 |
|
W18 |
0 |
1 |
0 |
0 |
0 |
1 |
|
W19 |
0 |
1 |
0 |
0 |
1 |
0 |
|
W20 |
0 |
1 |
0 |
0 |
1 |
1 |
|
W21 |
0 |
1 |
0 |
1 |
0 |
0 |
|
W22 |
0 |
1 |
0 |
1 |
0 |
1 |
|
W23 |
0 |
1 |
0 |
1 |
1 |
0 |
|
W24 |
0 |
1 |
0 |
1 |
1 |
1 |
|
W25 |
0 |
1 |
1 |
0 |
0 |
0 |
|
W26 |
0 |
1 |
1 |
0 |
0 |
1 |
|
W27 |
0 |
1 |
1 |
0 |
1 |
0 |
|
W28 |
0 |
1 |
1 |
0 |
1 |
1 |
2.12.5 Синтез автомата
Таблица 2.12.5.1
Автомат Мили в табличной форме
Из |
В |
Входной сигнал |
Выходной сигнал |
|
S0 |
S1 |
Z1 |
w1 |
|
S0 |
S4 |
Z6 |
w2 |
|
S0 |
S12 |
Z33 |
w3 |
|
S1 |
S2 |
Z2 |
w4 |
|
S1 |
S3 |
Z3 |
w5 |
|
S2 |
S3 |
Z4 |
w6 |
|
S3 |
S3 |
Z5 |
w7 |
|
S4 |
S5 |
Z7 |
w8 |
|
S4 |
S6 |
Z8 |
w9 |
|
S4 |
S7 |
Z11 |
w10 |
|
S4 |
S8 |
Z34 |
w11 |
|
S4 |
S0 |
Z32 |
w12 |
|
S5 |
S6 |
Z9 |
w13 |
|
S5 |
S7 |
Z12 |
w14 |
|
S5 |
S8 |
Z35 |
w15 |
|
S6 |
S7 |
Z13 |
w16 |
|
S6 |
S8 |
Z15 |
w17 |
|
S7 |
S8 |
Z4 |
w18 |
|
S8 |
S9 |
Z16 |
w19 |
|
S8 |
S10 |
Z17 |
w20 |
|
S9 |
S10 |
Z4 |
w21 |
|
S10 |
S6 |
Z10 |
w22 |
|
S10 |
S7 |
Z14 |
w23 |
|
S10 |
S8 |
Z36 |
w24 |
|
S10 |
S11 |
Z19 |
w25 |
|
S10 |
S0 |
Z31 |
w26 |
|
S11 |
S0 |
Z4 |
w27 |
|
S12 |
S13 |
Z19 |
w28 |
|
S12 |
S14 |
Z20 |
w14 |
|
S13 |
S15 |
Z21 |
w15 |
|
S13 |
S16 |
Z22 |
w16 |
|
S14 |
S15 |
Z21 |
w17 |
|
S14 |
S16 |
Z22 |
w18 |
|
S15 |
S17 |
Z22 |
w19 |
|
S15 |
S18 |
Z21 |
w20 |
|
S16 |
S17 |
Z22 |
w21 |
|
S16 |
S18 |
Z21 |
w22 |
|
S17 |
S19 |
Z4 |
w23 |
|
S18 |
S19 |
Z4 |
w24 |
|
S19 |
S20 |
Z23 |
w25 |
|
S19 |
S21 |
Z24 |
w26 |
|
S20 |
S19 |
Z4 |
w27 |
|
S21 |
S22 |
Z25 |
w28 |
|
S21 |
S23 |
Z26 |
w1 |
|
S22 |
S24 |
Z4 |
w2 |
|
S23 |
S24 |
Z4 |
w13 |
|
S24 |
S25 |
Z4 |
w4 |
|
S25 |
S21 |
Z27 |
w5 |
|
S25 |
S26 |
Z28 |
w6 |
|
S26 |
S27 |
Z29 |
w12 |
|
S26 |
S28 |
Z30 |
w9 |
|
S27 |
S28 |
Z4 |
w7 |
|
S28 |
S0 |
Z4 |
w8 |
Таблица 2.12.5.1
Закодированный автомат Мили в табличной форме
Из |
В |
Входной сигнал |
Выходной сигнал |
|
000000 |
000001 |
000000 |
000000 |
|
000000 |
000100 |
000101 |
000001 |
|
000000 |
001100 |
100000 |
000010 |
|
000001 |
000010 |
000001 |
000011 |
|
000001 |
000011 |
000010 |
000100 |
|
000010 |
000011 |
000011 |
000101 |
|
000011 |
000011 |
000100 |
000110 |
|
000100 |
000101 |
000110 |
000111 |
|
000100 |
000110 |
000111 |
001000 |
|
000100 |
000111 |
001010 |
001001 |
|
000100 |
001000 |
100001 |
001010 |
|
000100 |
000000 |
011111 |
001011 |
|
000101 |
000110 |
001000 |
001100 |
|
000101 |
000111 |
001011 |
001101 |
|
000101 |
001000 |
100010 |
001110 |
|
000110 |
000111 |
001100 |
001111 |
|
000110 |
001000 |
001110 |
010000 |
|
000111 |
001000 |
000011 |
010001 |
|
001000 |
001001 |
001111 |
010010 |
|
001000 |
001010 |
010000 |
010011 |
|
001001 |
001010 |
000011 |
010100 |
|
001010 |
000110 |
001001 |
010101 |
|
001010 |
000111 |
001101 |
010110 |
|
001010 |
001000 |
100011 |
010111 |
|
001010 |
001011 |
010001 |
011000 |
|
001010 |
000000 |
011110 |
011001 |
|
001011 |
000000 |
000011 |
011010 |
|
001100 |
001101 |
010010 |
011011 |
|
001100 |
001110 |
010011 |
001101 |
|
001101 |
001111 |
010100 |
001110 |
|
001101 |
010000 |
010101 |
001111 |
|
001110 |
001111 |
010100 |
010000 |
|
001110 |
010000 |
010101 |
010001 |
|
001111 |
010001 |
010101 |
010010 |
|
001111 |
010010 |
010100 |
010011 |
|
010000 |
010001 |
010101 |
010100 |
|
010000 |
010010 |
010100 |
010101 |
|
010001 |
010011 |
000011 |
010110 |
|
010010 |
010011 |
000011 |
010111 |
|
010011 |
010100 |
010110 |
011000 |
|
010011 |
010101 |
010111 |
011001 |
|
010100 |
010011 |
000011 |
011010 |
|
010101 |
010110 |
011000 |
011011 |
|
010101 |
010111 |
011001 |
000000 |
|
010110 |
011000 |
000011 |
000001 |
|
010111 |
011000 |
000011 |
001100 |
|
011000 |
011001 |
000011 |
000011 |
|
011001 |
010101 |
011010 |
000100 |
|
011001 |
011010 |
011011 |
000101 |
|
011010 |
011011 |
011100 |
001011 |
|
011010 |
011100 |
011101 |
001000 |
|
011011 |
011100 |
000011 |
000110 |
|
011100 |
000000 |
000011 |
000111 |
Таблица 2.12.5.2
Закодированный автомат Мили
Из |
В |
Входной сигнал |
Выходной сигнал |
T* |
|
000000 |
000001 |
000000 |
000000 |
000001 |
|
000000 |
000100 |
000101 |
000001 |
000100 |
|
000000 |
001100 |
100000 |
000010 |
001100 |
|
000001 |
000010 |
000001 |
000011 |
000011 |
|
000001 |
000011 |
000010 |
000100 |
000010 |
|
000010 |
000011 |
000011 |
000101 |
000001 |
|
000011 |
000011 |
000100 |
000110 |
000000 |
|
000100 |
000101 |
000110 |
000111 |
000001 |
|
000100 |
000110 |
000111 |
001000 |
000010 |
|
000100 |
000111 |
001010 |
001001 |
000011 |
|
000100 |
001000 |
100001 |
001010 |
001100 |
|
000100 |
000000 |
011111 |
001011 |
000100 |
|
000101 |
000110 |
001000 |
001100 |
000011 |
|
000101 |
000111 |
001011 |
001101 |
000010 |
|
000101 |
001000 |
100010 |
001110 |
001101 |
|
000110 |
000111 |
001100 |
001111 |
000001 |
|
000110 |
001000 |
001110 |
010000 |
001110 |
|
000111 |
001000 |
000011 |
010001 |
001111 |
|
001000 |
001001 |
001111 |
010010 |
000001 |
|
001000 |
001010 |
010000 |
010011 |
000010 |
|
001001 |
001010 |
000011 |
010100 |
000011 |
|
001010 |
000110 |
001001 |
010101 |
001100 |
|
001010 |
000111 |
001101 |
010110 |
001101 |
|
001010 |
001000 |
100011 |
010111 |
000010 |
|
001010 |
001011 |
010001 |
011000 |
000001 |
|
001010 |
000000 |
011110 |
011001 |
001010 |
|
001011 |
000000 |
000011 |
011010 |
001011 |
|
001100 |
001101 |
010010 |
011011 |
000001 |
|
001100 |
001110 |
010011 |
001101 |
000010 |
|
001101 |
001111 |
010100 |
001110 |
000010 |
|
001101 |
010000 |
010101 |
001111 |
011101 |
|
001110 |
001111 |
010100 |
010000 |
000001 |
|
001110 |
010000 |
010101 |
010001 |
011110 |
|
001111 |
010001 |
010101 |
010010 |
011110 |
|
001111 |
010010 |
010100 |
010011 |
011101 |
|
010000 |
010001 |
010101 |
010100 |
000001 |
|
010000 |
010010 |
010100 |
010101 |
000010 |
|
010001 |
010011 |
000011 |
010110 |
000010 |
|
010010 |
010011 |
000011 |
010111 |
000001 |
|
010011 |
010100 |
010110 |
011000 |
000111 |
|
010011 |
010101 |
010111 |
011001 |
000110 |
|
010100 |
010011 |
000011 |
011010 |
001111 |
|
010101 |
010110 |
011000 |
011011 |
000011 |
|
010101 |
010111 |
011001 |
000000 |
000010 |
|
010110 |
011000 |
000011 |
000001 |
001110 |
|
010111 |
011000 |
000011 |
001100 |
001111 |
|
011000 |
011001 |
000011 |
000011 |
000001 |
|
011001 |
010101 |
011010 |
000100 |
001100 |
|
011001 |
011010 |
011011 |
000101 |
000011 |
|
011010 |
011011 |
011100 |
001011 |
000001 |
|
011010 |
011100 |
011101 |
001000 |
000110 |
|
011011 |
011100 |
000011 |
000110 |
000111 |
|
011100 |
000000 |
000011 |
000111 |
011100 |
* - столбец Т содержит значения двоичных сигналов, подаваемых на триггера со счетным входом.
Таблица 2.12.5.3
Автомат Мили в табличной форме
Из |
В |
Входной сигнал |
Выходной сигнал |
T* |
Y** |
|
S0 |
S1 |
Z1 |
w1 |
000001 |
000000 |
|
S0 |
S4 |
Z6 |
w2 |
000100 |
000001 |
|
S0 |
S12 |
Z33 |
w3 |
001100 |
000010 |
|
S1 |
S2 |
Z2 |
w4 |
000011 |
000011 |
|
S1 |
S3 |
Z3 |
w5 |
000010 |
000100 |
|
S2 |
S3 |
Z4 |
w6 |
000001 |
000101 |
|
S3 |
S3 |
Z5 |
w7 |
000000 |
000110 |
|
S4 |
S5 |
Z7 |
w8 |
000001 |
000111 |
|
S4 |
S6 |
Z8 |
w9 |
000010 |
001000 |
|
S4 |
S7 |
Z11 |
w10 |
000011 |
001001 |
|
S4 |
S8 |
Z34 |
w11 |
001100 |
001010 |
|
S4 |
S0 |
Z32 |
w12 |
000100 |
001011 |
|
S5 |
S6 |
Z9 |
w13 |
000011 |
001100 |
|
S5 |
S7 |
Z12 |
w14 |
000010 |
001101 |
|
S5 |
S8 |
Z35 |
w15 |
001101 |
001110 |
|
S6 |
S7 |
Z13 |
w16 |
000001 |
001111 |
|
S6 |
S8 |
Z15 |
w17 |
001110 |
010000 |
|
S7 |
S8 |
Z4 |
w18 |
001111 |
010001 |
|
S8 |
S9 |
Z16 |
w19 |
000001 |
010010 |
|
S8 |
S10 |
Z17 |
w20 |
000010 |
010011 |
|
S9 |
S10 |
Z4 |
w21 |
000011 |
010100 |
|
S10 |
S6 |
Z10 |
w22 |
001100 |
010101 |
|
S10 |
S7 |
Z14 |
w23 |
001101 |
010110 |
|
S10 |
S8 |
Z36 |
w24 |
000010 |
010111 |
|
S10 |
S11 |
Z19 |
w25 |
000001 |
011000 |
|
S10 |
S0 |
Z31 |
w26 |
001010 |
011001 |
|
S11 |
S0 |
Z4 |
w27 |
001011 |
011010 |
|
S12 |
S13 |
Z19 |
w28 |
000001 |
011011 |
|
S12 |
S14 |
Z20 |
w14 |
000010 |
011100 |
|
S13 |
S15 |
Z21 |
w15 |
000010 |
011101 |
|
S13 |
S16 |
Z22 |
w16 |
011101 |
011110 |
|
S14 |
S15 |
Z21 |
w17 |
000001 |
011111 |
|
S14 |
S16 |
Z22 |
w18 |
011110 |
100000 |
|
S15 |
S17 |
Z22 |
w19 |
011110 |
100001 |
|
S15 |
S18 |
Z21 |
w20 |
011101 |
100010 |
|
S16 |
S17 |
Z22 |
w21 |
000001 |
100011 |
|
S16 |
S18 |
Z21 |
w22 |
000010 |
100100 |
|
S17 |
S19 |
Z4 |
w23 |
000010 |
100101 |
|
S18 |
S19 |
Z4 |
w24 |
000001 |
100110 |
|
S19 |
S20 |
Z23 |
w25 |
000111 |
100111 |
|
S19 |
S21 |
Z24 |
w26 |
000110 |
101000 |
|
S20 |
S19 |
Z4 |
w27 |
001111 |
101001 |
|
S21 |
S22 |
Z25 |
w28 |
000011 |
101010 |
|
S21 |
S23 |
Z26 |
w1 |
000010 |
101011 |
|
S22 |
S24 |
Z4 |
w2 |
001110 |
101100 |
|
S23 |
S24 |
Z4 |
w13 |
001111 |
101101 |
|
S24 |
S25 |
Z4 |
w4 |
000001 |
101110 |
|
S25 |
S21 |
Z27 |
w5 |
001100 |
101111 |
|
S25 |
S26 |
Z28 |
w6 |
000011 |
110000 |
|
S26 |
S27 |
Z29 |
w12 |
000001 |
110001 |
|
S26 |
S28 |
Z30 |
w9 |
000110 |
110010 |
|
S27 |
S28 |
Z4 |
w7 |
000111 |
110011 |
|
S28 |
S0 |
Z4 |
w8 |
011100 |
110100 |
** - столбец У содержит значения битов выходного сигнала.
2.12.6 Формулы возбуждения триггеров
Запись формул возбуждения в базисе «или - не»:
2.12.7 Формулы выходных сигналов
Запись формул выходных сигналов в базисе «или - не»:
2.12.8 Выбор дешифратора
Судя по Таблица 2.12.2.1 - Коды состояний автомата Мили.
Количество состоянии микропрограммного автомата равно 28 следовательно чтобы получить эти состояния нужно как минимум 5 входных сигналов.
Значит нужный нам дешифратор или каскад дешифраторов удовлетворяю схеме 5x32.
2.12.9 Схема автомата
Схема автомата находится в приложении В.
2.12.10 Проверка автомата
Начальным и конечным состоянием всех проверок является S0.
Таблица 2.12.9.1
Проверка работы автомата
Входной сигнал |
Z4 |
Z10 |
Z11 |
Z23 |
Z30 |
Z28 |
|
Выходной сигнал |
W2 |
W10 |
W4 |
W19 |
W26 |
W25 |
|
Полученный выходной сигнал |
W2 |
W10 |
W4 |
W19 |
W26 |
W25 |
Таблица 2.12.9.2
Вторая проверка работы автомата.
Входной сигнал |
Z1 |
Z2 |
Z8 |
Z14 |
Z22 |
Z16 |
Z29 |
|
Выходной сигнал |
W0 |
W1 |
W4 |
W10 |
W16 |
W8 |
W26 |
|
Полученный выходной сигнал |
W0 |
W1 |
W4 |
W10 |
W16 |
W8 |
W26 |
После тестирования, автомат дал верные результаты, то есть работа автомата корректна.
ЗАКЛЮЧЕНИЕ
Выполнив данную курсовую работу. Мною были изучены, применены и усвоены методы арифметических операций в происходящих в процессоре, такие как:
1) Умножение с фиксированной точкой на ДСПК
2) Умножение с фиксированной точкой на ДСДК
3) Деление с плавающей запятой
В работе представлены все алгоритмы, и граф - схемы выше приведенных методов. А так же в приложениях имеется сама схема микропрограммного автомата.
Полученная схема микропрограммного автомата не была подвергнута минимизации вследствие чего время работы данного микропрограммного автомата велико в сравнении с минимальным.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Электронный учебник Баранов С.И «Синтез микропрограммных автоматов», Ленинград «Энергия», ленинградское отделение 1979
2. Глушков В.М. «Синтез цифровых автоматов», Москва 1962
3. Степанов В.Н., Мячев А.А. «Персональные ЭВМ и микроЭВМ», «Основы организации», Москва «Радио и связь» 1991
4. Савельев А.Я. «Прикладная теория цифровых автоматов», Москва «Высшая школа» 1971
5. Всемирная сеть интернет, сайт «Википедия»
Размещено на Allbest.ru
Подобные документы
Принципы организации управляющих автоматов. Разработка и проектирование автомата с жесткой и программируемой логикой. Разработка таблицы прошивки ПЗУ для УА с естественной адресацией микрокоманд. Структурный и абстрактный синтез управляющего автомата.
курсовая работа [508,5 K], добавлен 16.03.2011Исследование структурной схемы цифрового автомата и операционного устройства. Алгоритм функционирования цифрового автомата в микрооперациях. Кодирование его состояний. Характеристика функций возбуждения триггеров и формирования управляющих сигналов.
курсовая работа [3,6 M], добавлен 06.12.2013Управляющий автомат и его связь с операционным автоматом. Разработка алгоритма работы управляющего автомата. Построение кодированной ПТП, синтез функций возбуждения и выходов. Реализация управляющего автомата с жесткой логикой на заданной элементной базе.
курсовая работа [57,9 K], добавлен 29.12.2011Алгоритм работы автомата Мили в табличном виде. Графический способ задания автомата. Синтез автомата Мили на Т-триггерах. Кодирование состояний автомата. Таблицы кодирования входных и выходных сигналов. Таблица переходов и выходов абстрактного автомата.
курсовая работа [24,7 K], добавлен 01.04.2010Составление структурной схемы автомата. Выбор элементной базы. Функциональная схема автомата. Задающий генератор и делитель частоты. Преобразователь параллельного кода в последовательный. Формирователь стартовых импульсов. Кодирование и минимизация.
курсовая работа [3,0 M], добавлен 07.02.2013Проектирование конечного автомата, заданного оператором соответствия, с использованием канонического метода структурного синтеза автоматов. Тактирование от генератора синхронизирующих импульсов для устранения гонок в функциональной схеме автомата Мили.
курсовая работа [1,6 M], добавлен 22.10.2012Функциональная схема и механизм работы цифрового устройства обработки данных. Синтез управляющего автомата, выбор типа триггера, описание управляющего автомата и счётчиков на языке Verilog. Процесс тестирования и моделирования управляющего автомата.
курсовая работа [3,2 M], добавлен 05.12.2012Электронный автомат с заданными входными сигналами и контролируемыми параметрами. Структурный синтез управляющего автомата. Направленный граф абстрактного автомата. Кодирование внутренних состояний и выбор типа памяти. Выбор элементов и микросхем.
курсовая работа [933,1 K], добавлен 29.07.2009Обобщенная схема конечного цифрового автомата. Структурная и каскадная схема мультиплексора. Кодирование входных и выходных сигналов и состояний автомата. Схема разработанного цифрового устройства. Синтез дешифратора автомата. Выбор серии микросхем.
контрольная работа [279,1 K], добавлен 07.01.2015Структурная схема и синтез цифрового автомата. Построение алгоритма, графа и таблицы его функционирования в микрокомандах. Кодирование состояний автомата. Функции возбуждения триггеров и формирования управляющих сигналов. Схема управляющего устройства.
курсовая работа [789,4 K], добавлен 25.11.2010