Синтез микропрограммного управляющего автомата
Микропрограммный автомат, управляющий выполнением умножения чисел в двоичной системе счисления с плавающей запятой с характеристикой вторым способом в дополнительном коде с автоматической коррекцией, в основном логическом базисе; разрядность операндов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 25.03.2012 |
Размер файла | 136,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Введение
Последние годы с большой интенсивностью ведутся работы по созданию и применению различных автоматических систем для переработки информации. Такие автоматы реализуются в виде самостоятельных устройств специального назначения или в виде блоков, входящих в системы управления и системы обработки информации. При этом работа ведется с математическими моделями, предназначенными для той или иной степени приближенного отображения физических моделей.
Применение моделей в “Теории автоматов” не ограничивается какой-либо частной областью, а возможно для решения проблем практически в любой области исследования.
1 Постановка задачи
Синтезировать микропрограммный автомат, управляющий выполнением умножения чисел в двоичной системе счисления с плавающей запятой с характеристикой вторым способом в дополнительном коде с автоматической коррекцией, в основном логическом базисе. Разрядность операндов - четыре байта.
2 Описание используемого алгоритма умножения
Разобьем заданный алгоритм умножения на 2 части и рассмотрим каждую в отдельности.
2.1 Умножение чисел вторым способом
Второй способ умножения чисел относится к методам умножения с младших разрядов множителя [1]. При этом если разрядность множителя n, то разрядность множимого и суммы 2n. В данном способе осуществляются сдвиги множителя вправо и множимого влево. Если в анализируемом разряде множителя находится единица, то необходимо добавить множимое к сумме, в противном случае никаких действий над суммой производить не нужно.
2.2 Умножение чисел в дополнительном коде с автоматической коррекцией
Результатом умножения является число в ДК со знаком. Сомножители участвуют в операции со знаковыми разрядами, при этом знаковые разряды рассматриваются как числовые. При умножении анализируются сразу две смежные цифры множителя по следующим правилам:
если цифра множителя, на которую надо умножить в данном такте, равна единице, а цифра соседнего младшего разряда множителя равна нулю (10), то множимое надо вычитать из предыдущей частной суммы;
если цифра множителя, на которую надо умножить в данном такте, равна нулю, а цифра соседнего младшего разряда множителя равна единице (01), то множимое надо складывать с предыдущей частной суммой;
если анализируемые цифры совпадают (00, 11), то никаких операций не производится.
Второй способ при умножении чисел в ДК с автоматической коррекцией никакими особенностями не обладает.
2.3 Умножение чисел с плавающей запятой с характеристикой
Числа с ПЗ в ЭВМ представляются так, как представлено на рисунке 1.
Знак порядок мантисса (характеристика)
1 |
11100011 |
00110000101110100101110 |
Рисунок 1 - Представление чисел с ПЗ
Если под число выделено четыре байта, то в первом разряде находится знак мантиссы, в следующих восьми - порядок, и в оставшихся двадцати трех - мантисса.
В качестве порядков иногда используют характеристики, или так называемые смещенные порядки. Они являются целыми положительными числами, что упрощает работу с ними и процесс их выравнивания. Характеристики можно представить также как дополнительный код порядка с инверсной знаковой цифрой.
При умножении чисел с ПЗ в порядках может возникнуть ПРС.
При умножении производится перемножение мантисс этих чисел и сложение их характеристик. После этого может появиться необходимость в нормализации полученного произведения для повышения точности результата. Для этого производится сдвиг произведения на разряд влево и уменьшение значения характеристики на единицу.
2.4 Численный пример
Множимое:C=-75=-1001011
Представление с ПЗ:С=1 0100 01101010000
Множитель:D=22=10110
Представление с ПЗ:D=0 0010 10110000000
Умножение мантисс чисел приведено в таблице 1.
Таблица 1
Множитель |
Множимое |
Сумматор |
Примечание |
|
0.1011000000 0 0 |
1.11111111111 01101010000 |
0.00000000000 00000000000 |
сдв |
|
0.0101100000 0 0 |
1.11111111110 11010100000 |
0.00000000000 00000000000 |
сдв |
|
0.0010110000 0 0 |
1.11111111101 10101000000 |
0.00000000000 00000000000 |
сдв |
|
0.0001011000 0 0 |
1.11111111011 01010000000 |
0.00000000000 00000000000 |
сдв |
|
0.0000101100 0 0 |
1.11111110110 10100000000 |
0.00000000000 00000000000 |
сдв |
|
0.0000010110 0 0 |
1.11111101101 01000000000 |
0.00000000000 00000000000 |
сдв |
|
0.0000001011 0 0 |
1.11111011010 10000000000 |
0.00000000000 00000000000 |
сдв |
|
0.0000000101 1 0 |
1.11110110101 00000000000 |
0.00001001011 00000000000 |
выч |
|
0.00001001011 00000000000 |
сдв |
|||
0.0000000010 1 1 |
1.11101101010 00000000000 |
0.00001001011 00000000000 |
сдв |
|
0.0000000001 0 1 |
1.11011010100 00000000000 |
1.11011010100 00000000000 |
сл |
|
1.11100011111 00000000000 |
сдв |
|||
0.0000000000 1 0 |
1.10110101000 00000000000 |
0.01001011000 00000000000 |
выч |
|
0.00101110111 00000000000 |
сдв |
|||
0.0000000000 0 1 |
1.01101010000 00000000000 |
1.01101010000 00000000000 |
сл |
|
1.10011000111 00000000000 |
Складываем характеристики чисел:
характеристика С: 0100
характеристика D: 0010
коррекция характеристики: 1000
коррекция при округлении: 1011
характеристика Y: 1001
Представление с ПЗ: Y=1 1001 10011000111
Нормализуем: Y=1 1000 00110001111
Произведение: Y=-11001110010=-1650
3 Обоснование и выбор функциональной схемы операционной части устройства и определение микроопераций и логических условий
Операционный автомат содержит следующие элементы (приложение А):
8и разрядный регистр RG1 для хранения характеристик;
25и разрядный сдвиговый регистр RG2 для хранения множителя;
47и разрядный сдвиговый RG3 для хранения множимого;
47и разрядный сдвиговый регистр RG4 для хранения частных сумм;
8и разрядный сумматор SM1 для сложения характеристик;
47и разрядный сумматор SM2 для сложения множимого с частными суммами;
обратный 8и разрядный счетчик СТ1 для хранения характеристик и работы с ними;
обратный 5и разрядный счетчик СТ2 для управления циклом умножения;
47и разрядный двухплечевой мультиплексор для получения инвертированного или неинвертированного множимого;
8и разрядный элемент “и” для обнаружения возможности нормализации результата;
5и разрядный элемент “и” для управления циклом;
2 схемы сложения по модулю два и 2-х входовой элемент «и» для выявления нулевых операндов;
2 схемы сложения по модулю два и 2-х входовой элемент «или-не» для выявления ПРС;
1 схема сложения по модулю 2 и 2-х входовой элемент “или” для управления нормализацией результата;
1 схема сложения по модулю 2 для работы с 2-мя разрядами множителя;
1 D-триггер для хранения старшего разряда характеристики 1-го операнда;
1 RS-триггер для хранения признака ПРС;
инвертор для коррекции полученной характеристики;
усилитель-формирователь для выдачи результата на выходную шину;
Операнды разрядностью 4 байта поступают по входной шине в операционный автомат. Характеристика множителя записывается в регистр RG1, мантисса - в регистр RG2. Затем информация из RG1 заносится в СТ1, а также старший разряд RG1 записывается на триггер T1. Далее, с шины в RG3 записывается мантисса множимого, а регистр RG1 записывается его характеристика. После этого содержимое регистра RG1 складывается с информацией на СТ1, и результат записывается в СТ1. Инициализируется счетчик СТ2 (11000) и начинается цикл умножения. После умножения, если нужно и возможно, производится нормализация.
Для организации работы необходимо, чтобы УА подавал в ОА управляющие сигналы, реализующие следующие МО:
у0 - занесение характеристики в RG1;
у1 - занесение множителя в RG2, сброс Т2, RG4, СТ1, инициализация СТ2;
у2 - занесение множимого в RG3;
у3 - запись информации в CT1;
у4 - сдвиг RG2 вправо, сдвиг RG3 влево, уменьшение СТ1 на 1;
у5 - управление мультиплексором (если у5=1, то подключается плечо А, в противном случае - В), единица переноса в SM2;
у6 - запись информации в RG4;
у7 - сдвиг RG4 влево, уменьшение СТ1 на 1;
у8 - выдача результата на выходную шину;
у9 - установка триггера T1;
Из ОА в УА необходимо передавать осведомительные сигналы о состоянии ОА, которые определяются следующими логическими условиями (ЛУ):
Х - проверка наличия операндов на входной шине;
р0 - произошло ПРС;
р1 - если равно 0, то один или оба операнда равны 0;
р2 - конец цикла;
р3 - если равно 0, то следует произвести нормализацию результата;
р4 - старший из двух анализируемых разрядов множителя;
р5 - результат сложения по модулю 2 двух анализируемых разрядов множителя;
Z - проверка возможности выдачи результата на выходную шину;
4. Разработка содержательной граф-схемы алгоритма
Работа автомата начинается с получения данных через входную шину. Данные записываются в регистры RG1, RG2 и RG3 (блоки 1-2, 4-5). Кроме того, производится суммирование характеристик (блоки 3 и 6). Затем выполняется проверка на нулевой операнд (блок 7). Выполняется проверка на ПРС (блок 8). Затем, если ПРС не произошло, производится анализ разрядов множителя (блоки 9-10):
если р5=1, то анализируется р4 (старший из анализируемых разрядов множителя):
если р4=1, то следует произвести вычитание множимого из частных сумм (блок 12);
если р4=0, то следует произвести прибавление множимого к частным суммам (блок 11);
- если р5=0, то ни вычитания, ни сложения не производится;
После этого выполняются сдвиги регистров и изменение счетчика (блок 13), а затем проверка на окончание цикла умножения (блок 14). Далее следует проверка, следует ли нормализовать мантиссу (блоки 15-16). Затем - проверка возможности выдачи результата на выходную шину и, собственно, выдача результата (блоки 17-18).
Содержательная ГСА приведена в приложении Б.
5. Построение отмеченной граф-схемы алгоритма
Для разметки ГСА каждой совокупности микроопераций, находящихся в операторных вершинах, ставятся в соответствие управляющие сигналы Y1…Yn. Эти сигналы являются выходными сигналами УА и обеспечивают выполнение требуемых действий в соответствии со списком МО операционного автомата [2]. Совокупности МО для каждой операторной вершины образуют МК, список которых приведен в таблице 2.
Таблица 2
МК |
Y0 |
Y1 |
Y2 |
Y3 |
Y4 |
Y5 |
Y6 |
Y7 |
Y8 |
|
Совокупность МО |
y0,y1 |
y3, у9 |
y0,y2 |
y3 |
y6 |
y5, у6 |
y4 |
y7 |
y8 |
Каждой условной вершине содержательной ГСА ставится в соответствие один из входных сигналов управляющего автомата X1…Xm, список которых приведен в таблице 3.
Таблица 3
Входной сигнал УА |
X0 |
X1 |
X2 |
X3 |
X4 |
X5 |
X6 |
X7 |
|
Логическое условие ОА |
X |
P1 |
P0 |
P5 |
P4 |
P2 |
P3 |
Z |
Далее в полном соответствии с содержательной ГСА строится отмеченная ГСА, условным вершинам которой приписывается один из входных сигналов УА, а операторным вершинам - одна из МК (приложение В).
Получаем ГСА, размеченную для модели Мили символами a0…a7, для модели Мура символами b0…b11.
6. Построение графов автомата для моделей Мили и Мура
На основе отмеченной ГСА построены графы автомата для модели Мили (приложение Г) и для модели Мура (приложение Д).
Граф автомата Мили имеет 8 вершин, соответствующих состояниям автомата a0,…,a7. Дуги его отмечены входными сигналами, действующими на каждом переходе, и набором выходных сигналов, вырабатываемых УА на данном переходе.
Граф автомата Мура имеет 12 вершин, соответствующих состояниям автомата b0,…,b11, каждое их которых (кроме фиктивных) определяет наборы выходных сигналов y0,…,y8 УА, а дуги графа отмечены входными сигналами, действующими на данном переходе.
7. Выбор и обоснование функциональной схемы управляющего автомата и типов элементов памяти
Рассмотрим некоторые варианты возможных структурных схем УА, предложенные в [2]:
классическая структура УА пригодна для реализации любого УА, но она не является минимальной с точки зрения цены КС;
модифицированная классическая структура на основе регистра и дешифратора, использование которого понижает цену схемы классического варианта;
структура УА на основе сдвигового регистра с выбором унитарного кодирования внутренних состояний целесообразно использовать только в тех случаях, когда число разрядов кода ненамного меньше числа внутренних состояний, иначе возникнут значительные затраты на память автомата, которые поглотят выигрыш от уменьшения цены КС;
структура на основе счетчика выгодна, когда граф проектируемого автомата имеет большое количество последовательных (стандартных) переходов и незначительное число нестандартных;
модифицированная структура на основе счетчика с использованием дешифратора, введение которого приводит к снижению цены схемы.
После рассмотрения данных вариантов структур УА, опираясь на графы моделей Мура и Мили, можно сделать вывод о том, что для реализации автомата по модели Мура следует использовать структуру на основе регистра и дешифратора. Для реализации модели Мили можно использовать вариант на основе регистра и дешифратора, а также попробовать вариант на основе счетчика и дешифратора.
Для кодирования состояний автомата Мили достаточно 3 разрядов кода. Соответственно, при реализации управляющего автомата на основе модели Мили будет достаточно 3-х разрядного счетчика или 3-х триггеров. Причем, при использовании дешифратора, у него не останется неиспользованных выходов.
Для кодирования состояний автомата Мура потребуется 4 разряда. Поэтому для реализации управляющего автомата на основе модели Мура потребуется 4-х разрядный регистр и дешифратор.
8. Кодирование внутренних состояний автомата
В управляющем автомате в качестве ЭП могут использоваться как D-триггеры, так и RS-триггеры. Также могут использоваться и счетчики.
При использовании D-триггеров в качестве элементов памяти при переходе из одного состояния в другое сигналы возбуждения должны быть поданы на те триггеры, которые в коде состояния содержат единицу. Отсюда следует, что для получения минимального кодирования необходимо закодировать состояния кодами, содержащими наименьшее количество единиц. Для этого используют инверсные таблицы переходов.
Для RS-триггеров лучше использовать соседнее кодирование, так как именно этот способ минимизирует число переключений ЭП.
В случае счетчиков разность кодов между соседними состояниями должна быть равна единице, тогда переход из одного состояния в другое будет осуществляться подачей на вход счетчика сигнала, увеличивающего или уменьшающего содержимое самого счетчика.
8.1 Кодирование состояний для модели Мили на D-триггерах
Составим инверсную таблицу переходов (см. таблицу 4) и закодируем состояния четырехразрядными двоичными числами, в которые будет входить наименьшее число единиц.
Таблица 4
a0 |
a1 |
a2 |
a3 |
a4 |
a5 |
a6 |
a7 |
|
a0, a4, a7 |
a0 |
a1, a2 |
a2 |
a3 |
a4, a6 |
a5 |
a4, a6, a7 |
|
000 |
011 |
010 |
110 |
111 |
100 |
101 |
001 |
Как видно из таблицы 4, состояние a0 с наибольшим числом переходов в него кодируется 000. Состояния с меньшим числом переходов обозначаются кодом с одной единицей, затем с двумя и до тех пор, пока все состояния графа не будут закодированы.
8.2 Кодирование состояний для модели Мура на D-триггерах
Составим инверсную таблицу переходов (см. таблицу 5) и закодируем состояния четырехразрядными двоичными числами, в которые будет входить наименьшее число единиц.
Таблица 5
b0 |
b1 |
b2 |
b3 |
b4 |
b5 |
b6 |
b7 |
b8 |
b9 |
b10 |
b11 |
|
b0, b5, b11 |
b0 |
b1 |
b2, b3 |
b2, b3 |
b4 |
b5, b8 |
b5, b8 |
b5, b6, b7, b8 |
b8 |
b5, b8, b9, b10 |
b5, b8, b9, b10 |
|
0100 |
0110 |
0011 |
1010 |
1100 |
0101 |
1000 |
1001 |
0000 |
0111 |
0001 |
0010 |
8.3 Кодирование состояний для модели Мили на RS-триггерах
Составим матрицу переходов М и произведем кодирование состояний автомата [4].
1) K(a0)=000
K(a1)=001
2) =2B={1}
C1={011, 101}
K(a2)=011
3) =3B={2}
C2={111, 010}
K(a3)=111
4) =4B={3, 0}
C3={101, 110}
C0={100, 010}
W101=1+2=3
W110=1+2=3
W100=2+1=3
W010=2+1=3
K(a4)=101
5) =5B={4}
C4={100}
K(a5)=100
6) =7B={4, 0}
C4={}
C0={010}
K(a7)=010
7) K(a6)=110
8.4 Кодирование состояний для модели Мура на RS-триггерах
Составим матрицу переходов М и произведем кодирование состояний автомата [4].
1) K(b0)=0000
2) K(b1)=0001
3) 2) =2B={1}
4) C1={0011,0101,1001}
5) K(b2)=0011
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
3) =3B={2}
C2={1011,0111,0010}
K(b3)=0010
4) =4B={2,3}
C2={1011, 0111}
C3={1010, 0110}
W1011=1+2=3
W0111=1+2=3
W1010=2+1=3
W0110=2+1=3
K(b4)=1011
5) =5B={4, 0}
C4={1111, 1001, 1010}
C0={1000, 0100}
W1111=1+4=5
W1001=1+2=3
W1010=1+2=3
W1000=2+1=3
W0100=4+1=5
K(b5)=1001
6) =6B={5}
C5={1101, 1000}
K(b6)=1101
7) =7B={5}
C5={1000}
K(b7)=1000
8) =8B={5,6,7}
C5={}
C6={0101, 1111, 1100}
C7={1010}
W0101=2+1+3=6
W1111=2+1+3=6
W1100=2+1+1=4
W1010=2+3+1=6
K(b8)=1100
9) =10B={5,8}
C5={}
C8={0100, 1110}
W0100=3+1=4
W1110=3+1=4
K(b10)=1110
10) =11B={5,8,10,0}
C5={}
C10={0110, 1111}
C8={0100}
C0={}
W0110=2+4+2+1=9
W1111=4+2+2+1=9
W0100=1+3+1+2=7
K(b11)=0100
11) =9B={8, 10, 11}
C8={}
C10={0110, 1111}
C11={0101}
W0110=2+1+1=4
W1111=2+1+2=5
W0101=2+3+1=6
K(b9)=0110
8.5 Кодирование состояний для модели Мили на счетчике
Закодируем состояния таким образом, чтобы разность кодов между соседними состояниями составляла единицу (см.таблицу 6).
Таблица 6
a0 |
a1 |
a2 |
a3 |
a4 |
a5 |
a6 |
a7 |
|
000 |
001 |
010 |
011 |
100 |
101 |
110 |
111 |
микропрограммный автомат логический базис
9. Получение логических уравнений и их совместная минимизация
Построим структурные таблицы переходов и выходов. Получим логические уравнения для функции возбуждения ЭП и функций выходов и их совместно минимизируем.
9.1 Получение и минимизация логических уравнений для модели Мили на D-триггерах
Структурная таблица переходов и выходов представлена в таблице 7.
Таблица 7
Исходное состояние am |
Код am |
Состояние перехода as |
Код as |
Входной сигнал |
Выходной сигнал |
Функции возбуждения |
|
a0 |
000 |
a0 a1 |
000 011 |
x0 |
- y0, y1 |
- D2 D3 |
|
a1 |
011 |
a2 |
010 |
1 |
y3, y9 |
D2 |
|
a2 |
010 |
a2 a3 |
010 110 |
x0 |
- y0, y2 |
D2 D1 D2 |
|
a3 |
110 |
a4 |
111 |
1 |
y3 |
D1D2D3 |
|
a4 |
111 |
a0 |
000 |
x1x2 |
- |
- |
|
a5 |
100 |
y6 |
D1 |
||||
a5 |
100 |
y5, y6 |
D1 |
||||
a5 |
100 |
- |
D1 |
||||
a7 |
001 |
- |
D3 |
||||
a5 |
100 |
a6 |
101 |
1 |
y4 |
D1D3 |
|
a6 |
101 |
a5 |
100 |
y6 |
D1 |
||
a5 |
100 |
y5, y6 |
D1 |
||||
a5 |
100 |
- |
D1 |
||||
a7 |
001 |
y7 |
D3 |
||||
a7 |
001 |
x5x6 |
- |
D3 |
|||
a7 |
001 |
a7 |
001 |
- |
D3 |
||
a0 |
000 |
x7 |
y8 |
- |
Из таблицы получим логические выражения для каждой функции возбуждения D-триггера, а также для функций выходов как конъюнкции соответствующих исходных состояний am и входных сигналов, которые объединены знаками дизъюнкции для всех строк, содержащих данную функцию возбуждения или соответственно функцию выхода.
После выделения общих частей в логических выражениях и некоторого их упрощения получаем логические уравнения для построения функциональной схемы УА.
Цена комбинационной схемы по Квайну C=49.
9.2 Получение и минимизация логических уравнений для модели Мура на D-триггерах
Структурная таблица переходов и выходов представлена в таблице 8.
Таблица 8
Исходное состояние bm |
Выходной сигнал |
Код bm |
Состояние перехода bs |
Код bs |
Входной сигнал |
Функции возбуждения |
|
b0 |
- |
0100 |
b0 |
0100 |
D2 |
||
b1 |
0110 |
x0 |
D2D3 |
||||
b1 |
y0, y1 |
0110 |
b2 |
0011 |
1 |
D3D4 |
|
b2 |
y3, y9 |
0011 |
b3 |
1010 |
D1D3 |
||
b4 |
1100 |
x0 |
D1D2 |
||||
b3 |
- |
1010 |
b3 |
1010 |
D1D3 |
||
b4 |
1100 |
x0 |
D1D2 |
||||
b4 |
y0, y2 |
1100 |
b5 |
0101 |
1 |
D2D4 |
|
b5 |
y3 |
0101 |
b0 |
0100 |
x1x2 |
D2 |
|
b6 |
1000 |
D1 |
|||||
b7 |
1001 |
D1D4 |
|||||
b8 |
0000 |
- |
|||||
b10 |
0001 |
D4 |
|||||
b11 |
0010 |
D3 |
|||||
b6 |
y6 |
1000 |
b8 |
0000 |
1 |
- |
|
b7 |
y5, y6 |
1001 |
b8 |
0000 |
1 |
- |
|
b8 |
y4 |
0000 |
b6 |
1000 |
D1 |
||
b7 |
1001 |
D1D4 |
|||||
b8 |
0000 |
- |
|||||
b9 |
0111 |
D2D3D4 |
|||||
b10 |
0001 |
D4 |
|||||
b11 |
0010 |
x5x6x7 |
D3 |
||||
b9 |
y7 |
0111 |
b10 |
0001 |
D4 |
||
b11 |
0010 |
x7 |
D3 |
||||
b10 |
- |
0001 |
b10 |
0001 |
D4 |
||
b11 |
0010 |
x7 |
D3 |
||||
b11 |
y8 |
0010 |
b0 |
0100 |
1 |
D2 |
Из таблицы получим логические выражения для каждой функции возбуждения D-триггера, а также для функций выходов как конъюнкции соответствующих исходных состояний bm и входных сигналов, которые объединены знаками дизъюнкции для всех строк, содержащих данную функцию возбуждения или соответственно функцию выхода.
После выделения общих частей в логических выражениях и некоторого их упрощения получаем логические уравнения для построения функциональной схемы УА (функции выхода остались те же).
Цена комбинационной схемы по Квайну C=87.
9.3 Получение и минимизация логических уравнений для модели Мили на RS-триггерах
Структурная таблица переходов и выходов представлена в таблице 9
Таблица 9
Исходное состояние am |
Код am |
Состояние перехода as |
Код as |
Входной сигнал |
Выходной сигнал |
Функции возбуждения |
|
a0 |
000 |
a0 a1 |
000 001 |
x0 |
-y0, y1 |
-S3 |
|
a1 |
001 |
a2 |
011 |
1 |
y3, y9 |
S2 |
|
a2 |
011 |
a2 a3 |
011 111 |
x0 |
-y0, y2 |
-S1 |
|
a3 |
111 |
a4 |
101 |
1 |
y3 |
R2 |
|
a4 |
101 |
a0 |
000 |
x1x2 |
- |
R1R3 |
|
a5 |
100 |
y6 |
R3 |
||||
a5 |
100 |
y5, y6 |
R3 |
||||
a5 |
100 |
- |
R3 |
||||
a7 |
010 |
- |
R1S2R3 |
||||
a5 |
100 |
a6 |
110 |
1 |
y4 |
R2 |
|
a6 |
110 |
a5 |
100 |
y6 |
R2 |
||
a5 |
100 |
y5, y6 |
R2 |
||||
a5 |
100 |
- |
R2 |
||||
a7 |
010 |
y7 |
R1 |
||||
a7 |
010 |
x5x6 |
- |
R1 |
|||
a7 |
010 |
a7 |
010 |
- |
- |
||
a0 |
000 |
x7 |
y8 |
R2 |
Из таблицы получим логические выражения для каждой функции возбуждения RS-триггера, а также для функций выходов как конъюнкции соответствующих исходных состояний am и входных сигналов, которые объединены знаками дизъюнкции для всех строк, содержащих данную функцию возбуждения или соответственно функцию выхода.
После выделения общих частей в логических выражениях и некоторого их упрощения получаем логические уравнения для построения функциональной схемы УА.
Цена комбинационной схемы по Квайну C=45.
9.4 Получение и минимизация логических уравнений для модели Мура на RS-триггерах
Таблица 10
Структурная таблица переходов и выходов представлена в таблице 10.
Исходное состояние bm |
Выходной сигнал |
Код bm |
Состояние перехода bs |
Код bs |
Входной сигнал |
Функции возбуждения |
|
b0 |
- |
0000 |
b0 |
0000 |
- |
||
b1 |
0001 |
x0 |
S4 |
||||
b1 |
y0, y1 |
0001 |
b2 |
0011 |
1 |
S3 |
|
b2 |
y3, y9 |
0011 |
b3 |
0010 |
R4 |
||
b4 |
1011 |
x0 |
S1 |
||||
b3 |
- |
0010 |
b3 |
0010 |
- |
||
b4 |
1011 |
x0 |
S1S4 |
||||
b4 |
y0, y2 |
1011 |
b5 |
1001 |
1 |
R3 |
|
b5 |
y3 |
1001 |
b0 |
0000 |
x1x2 |
R1R4 |
|
b6 |
1101 |
S2 |
|||||
b7 |
1000 |
R4 |
|||||
b8 |
1100 |
S2R4 |
|||||
b10 |
1110 |
S2S3R4 |
|||||
b11 |
0100 |
R1S2R4 |
|||||
b6 |
y6 |
1101 |
b8 |
1100 |
1 |
R4 |
|
b7 |
y5, y6 |
1000 |
b8 |
1100 |
1 |
S2 |
|
b8 |
y4 |
1100 |
b6 |
1101 |
S4 |
||
b7 |
1000 |
R2 |
|||||
b8 |
1100 |
- |
|||||
b9 |
0110 |
R1S3 |
|||||
b10 |
1110 |
S3 |
|||||
b11 |
0100 |
x5x6x7 |
R1 |
||||
b9 |
y7 |
0110 |
b10 |
1110 |
S1 |
||
b11 |
0100 |
x7 |
S1R3 |
||||
b10 |
- |
1110 |
b10 |
1110 |
- |
||
b11 |
0100 |
x7 |
R1R3 |
||||
b11 |
y8 |
0100 |
b0 |
0000 |
1 |
R2 |
Из таблицы получим логические выражения для каждой функции возбуждения RS-триггера, а также для функций выходов как конъюнкции соответствующих исходных состояний bm и входных сигналов, которые объединены знаками дизъюнкции для всех строк, содержащих данную функцию возбуждения или соответственно функцию выхода.
После выделения общих частей в логических выражениях и некоторого их упрощения получаем логические уравнения для построения функциональной схемы УА (функции выхода не изменились).
Цена комбинационной схемы по Квайну C=91.
9.5 Получение и минимизация логических уравнений для модели Мили на счетчике
Структурная таблица переходов и выходов представлена в таблице 11.
Таблица 11
Исходное состояние am |
Код am |
Состояние перехода as |
Код as |
Входной сигнал |
Выходной сигнал |
Функции возбуждения |
|
a0 |
000 |
a0 a1 |
000 001 |
x0 |
- y0, y1 |
- ME |
|
a1 |
001 |
a2 |
010 |
1 |
y3, y9 |
ME |
|
a2 |
010 |
a2 a3 |
010 011 |
x0 |
- y0, y2 |
T2 ME |
|
a3 |
011 |
a4 |
100 |
1 |
y3 |
ME |
|
a4 |
100 |
a0 |
000 |
x1x2 |
- |
- |
|
a5 |
101 |
y6 |
ME |
||||
a5 |
101 |
y5, y6 |
ME |
||||
a5 |
101 |
- |
ME |
||||
a7 |
111 |
- |
T1T2T3 |
||||
a5 |
101 |
a6 |
110 |
1 |
y4 |
ME |
|
a6 |
110 |
a5 |
101 |
y6 |
M |
||
a5 |
101 |
y5, y6 |
M |
||||
a5 |
101 |
- |
M |
||||
a7 |
111 |
y7 |
ME |
||||
a7 |
111 |
x5x6 |
- |
ME |
|||
a7 |
111 |
a7 |
111 |
- |
T1T2T3 |
||
a0 |
000 |
x7 |
y8 |
- |
Из таблицы получим логические выражения для каждой функции возбуждения счетчика, а также для функций выходов как конъюнкции соответствующих исходных состояний am и входных сигналов, которые объединены знаками дизъюнкции для всех строк, содержащих данную функцию возбуждения или соответственно функцию выхода.
После выделения общих частей в логических выражениях и некоторого их упрощения получаем логические уравнения для построения функциональной схемы УА.
Цена комбинационной схемы по Квайну C=49.
10. Построение функциональной схемы управляющего микропрограммного автомата
Сравнение вариантов моделей Мили и Мура показывает, что модель Мура в случаях для RS-триггеров и D-триггеров дает более сложную схему.
Наиболее оптимальной по аппаратурным затратам является модель Мили на RS-триггерах. Ее цена по Квайну составляет 45, поэтому построение функциональной схемы будем производить для нее.
Функциональная схема построена в основном логическом базисе в полном соответствии с приведенной для модели Мили системой логических уравнений для выходов и функций возбуждения ЭП. Кроме того, на схему подаются сигналы синхронизации C и начальной установки B.
Заключение
В ходе выполнения курсовой работы был разработан автомат, управляющий операцией умножения двоичных чисел с ПЗ в ДК с автоматической коррекцией. Были рассмотрены 5 вариантов построения управляющего автомата: 3 варианта для модели Мили (на D-триггерах, на RS-триггерах и на счетчике) и 2 варианта для модели Мура (на D- и на RS-триггерах). Оказалось, что наименьшую комбинационную схему дает модель Мили с использованием RS-триггеров. Причем, в схеме использован дешифратор на 3 разряда.
Приложение А
Функциональная схема операционного автомата
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Приложение Б
Граф автомата для модели Мили
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Размещено на Allbest.ru
Подобные документы
Разработка функциональной схемы управляющего микропрограммного автомата. Построение графов автомата для модели Мили и Мура. Кодирование состояний для модели Мура на D-триггерах. Алгоритм умножения чисел в дополнительном коде с простой коррекцией.
курсовая работа [764,0 K], добавлен 27.08.2012Определение функций выходных сигналов и сигналов возбуждения. Построение функциональной схемы управляющего автомата. Способы выполнения операции умножения с фиксированной и с плавающей запятой. Получение функциональной ГСА. Кодирование состояния автомата.
курсовая работа [60,9 K], добавлен 15.02.2011Синтез множительного устройства для умножения чисел с плавающей запятой, представленных в двоично-четверичной системе счисления. Перевод сомножителей из десятичной системы счисления в четверичную. Затраты на умножение шестиразрядных сомножителей.
курсовая работа [133,5 K], добавлен 06.10.2011Принцип микропрограммного управления. Управляющие автоматы с жесткой и программируемой логикой. Граф-схемы алгоритмов. Синтез управляющего автомата по граф-схеме алгоритма. Построение управляющего автомата с программируемой логикой на основе ПЗУ.
курсовая работа [263,8 K], добавлен 25.01.2011Проектирование цифрового автомата для выполнения арифметической операции деления двоичных чисел, алгоритм работы. Числа с плавающей запятой. Типы элементов памяти управляющего автомата JK-триггер, не имеющего запрещенных состояний на основных входах.
курсовая работа [747,4 K], добавлен 25.03.2012Разработка управляющего автомата, ориентированного на выполнение заданной микрооперации. Разработка алгоритма работы управляющего автомата. Листинг программы. Выбор оптимального варианта кодирования состояний автомата. Синтез функции возбуждения.
курсовая работа [506,9 K], добавлен 26.12.2012Общая структура и принцип функционирования синхронного управляющего автомата. Анализ граф схемы алгоритма управляющего автомата и детализация блока памяти. Структурный синтез логического преобразователя и разработка электрической функциональной схемы.
курсовая работа [222,6 K], добавлен 19.02.2013Выполнение операции деления в ЭВМ. Умножение чисел, представленных в форме с плавающей запятой. Методы ускорения операции умножения. Матричный метод умножения. Деление чисел в машинах с плавающей запятой. Деление чисел с восстановлением остатков.
реферат [49,4 K], добавлен 18.01.2011Изучение принципа работы цифрового автомата для сложения двоичных чисел, представленных в форме с фиксированной запятой, на базисе алгебры Буля. Правила построения операционных и функциональных схем отдельных устройств, логических систем и функций.
курсовая работа [1,2 M], добавлен 24.01.2014Построим содержательные графы выполнения трёх команд языка Ассемблера. Команда умножения двоичных чисел без знака mul. Команда преобразования типов cwde. Логическая команда xor. Синтез канонического автомата. Синтез М-автомата. Управляющие сигналы.
реферат [35,7 K], добавлен 18.11.2004