Помощь в написании студенческих работ
Антистрессовый сервис

Разработка операционного устройства

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

Каждая функциональная микропрограмма Mg, где g=1, 2, 3, 4, определяющая алгоритм выполнения операции fg € F, вводит множество слов Sg, микроопераций Yg и логических условий Xg. Множества Sg, Yg, Xg характеризуют функцию операционного автомата частично, позволяя определить средства, достаточные для реализации только одной операции fg. Множества S, У, Х, достаточные для реализации всех операций… Читать ещё >

Разработка операционного устройства (реферат, курсовая, диплом, контрольная)

Федеральное государственное образовательное учреждение высшего профессионального образования

«ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ»

Кафедра «Информационные и вычислительные системы»

КУРСОВОЙ ПРОЕКТ по дисциплине «Теория автоматов»

Тема:

«Разработка операционного устройства»

Выполнил студент гр. ИС-010:

Софьин Р.И.

Руководитель проекта:

Григорьев В.В.

САНКТ-ПЕТЕРБУРГ

Аннотация

В данном курсовом проекте разрабатывается операционное устройство, выполняющее следующие операции: загрузку операндов, алгебраическое вычитание чисел с фиксированной точкой в модифицированных дополнительных кодах и выдачу результата. Все схемы выполнены на логических элементах ИЛИ-НЕ. В проекте реализован управляющий автомат типа Мура с жёсткой логикой. Память управляющего и операционного автомата построена на синхронных, двухступенчатых триггерах типа SR. При построении функциональных схем операционного устройства использован канонический метод синтеза комбинационных схем операционного и управляющего автомата, реализующих функции возбуждения триггеров регистров операционного автомата и триггеров памяти управляющего автомата.

Перечень обозначений

БФ — булева функция

ЛУ — логическое условие

МКО — микрооперация

ОУ — операционное устройство

ОА — операционный автомат

УА — управляющий автомат

УС — управляющий сигнал

CO — «carry output», выходной перенос

CI — «carry input», входной перенос

1. Введение

Целью данного курсового проекта является синтез комбинационных схем ОУ, которое выполняет следующие операции: загрузку операндов, алгебраическое вычитание чисел с фиксированной точкой в модифицированных дополнительных кодах и выдачу результата. Исходные данные представлены в формате с фиксированной запятой. Разрядность, обрабатываемых в ОА слов, представлена в задании на проектирование. Данная постановка цели курсового проектирования является упрощенной: в реальных условиях необходимо синтезировать схемы, реализующие заданные функции с заданным быстродействием и минимальными аппаратурными затратами и отвечающие требованиям надежной работы устройства.

Любой сложный преобразователь дискретной информации может быть представлен в виде совокупности ОУ и интерфейса (сопряжения этих устройств).

Функция ОУ — это выполнение фиксированного множества операций F = {f1, f2, f3, f4} над множеством входных слов D = {A, B, dA, dB} для вычисления слов R = {C, rC} которые являются результатом операций из множества F. В течение определенного отрезка времени устройство может реализовать только одну операцию R = fg (D), которая определяется кодом операции (номером) g = 1, 2, 3.

Такие устройства ЭВМ, как процессор, контроллеры (устройства управления) ввода-вывода и внешних ЗУ, оперативное ЗУ и др., также являются ОУ. ОУ может реализовать как простейшие операции вида rg:= dh, так и сложные, которые представляются в форме алгоритмов. ОУ объединяются в структуру с помощью цепей, по которым передаются электрические сигналы. Одна цепь передает в один момент времени бит информации (0 или 1).

В функциональном и структурном отношении ОУ можно представить в виде двух автоматов: операционного автомата и управляющего автомата. ОА выполняет действия над словами информации — хранение, реализацию МКО и вычисление ЛУ — и, таким образом, является исполнительной частью ОУ.

Выполнение любой МКО инициируется соответствующими управляющими сигналами из множества Y = {y1, y2, y3, y4, y5, y6, y7}; каждый такой УС соответствует определенной МКО. Значения ЛУ, вычисляемые в ОА, отображаются множеством осведомительных сигналов X = {x1, x2}, каждый из которых отождествляется с определенным ЛУ. УА генерирует последовательность УС, которая определена микропрограммой и соответствует значениям ЛУ и, следовательно, задает порядок выполнения МКО в ОА, вытекающий из алгоритмов выполняемых операций fg.

Так как ОУ выполняет множество операций из F, то для генерации последовательности УС, соответствующей конкретной операции fg, в УА необходимо ввести код g этой операции. Наименование операции (загрузка соответствующего операнда, алгебраическое вычитание, выдача результата) кодируется сигналами g1, g2, g3. По отношению к УА они так же, как и сигналы x1, x2 являются осведомительными, т.к. влияют на порядок выработки УС из множества Y.

Функция ОА задана, если определены:

— множество D входных слов, вводимых в ОА в качестве операндов заданных операций;

— множество выходных слов R, представляющих результаты операций из множества F;

— множество внутренних слов S = {s1, s2,…, sN}, которые используются для представления информации в процессе выполнения операций. Не исключено, что некоторые входные и выходные слова совпадают с определенными внутренними словами, т. е. D и R является подмножеством S;

— множество микроопераций Y = {ут}, где т = 1, 2,…, M, различающихся как функциями Ц = {цт}, на основе которых образуются МКО, так и наборами слов, которые являются операндами функций цт;

— множество логических условий X = {xi}, представленных в виде БФ Ш = {шi}, на основе которых строятся логические условия, и множество наборов слов S, на которые распространяются БФ.

Набор микроопераций Y = {y1, y2, y3, y4, y5, y6, y7}, в данном курсовом проекте, строиться на базе функций Ц = {сумма, отрицание}, а набор логических условий X = {x1, x2} на базе отношений Ш = {=0}.

Таким образом, функция ОА характеризует средства, которые могут быть использованы для вычислений, но не сам вычислительный процесс. Порядок выполнения элементарных действий (МКО) во времени определяется функцией УА.

Функция УА — это операторная схема алгоритма (микропрограммы), функциональными операторами которой являются символы (буквы) y1, y2, y3, y4, y5, y6, y7 отождествляемые с МКО, а в качестве ЛУ используются булевы переменные x1, x2.

Операторная схема алгоритма представляется в виде граф-схемы и определяет вычислительный процесс, устанавливая порядок следования МКО y1, y2, y3, y4, y5, y6, y7 и проверки ЛУ x1, x2.

Структурная организация ОА с учетом изложенного выше представлена на рис. 2, где Ц — комбинационная схема, реализующая микрооперации на основе функций Ц = {цт}; Ш — комбинационная схема, реализующая логические условия на основе функций Ш = Ш (xi); П — память, обеспечивающая хранение слов S, которые представляют значения операндов, промежуточные значения и конечные результаты.

Рис. 2. Структурная схема ОА

Выполнение МКО приводит к изменению памяти ОА, т. е. значений слов S. Состояние памяти П отображается множеством осведомительных сигналов X, которые анализируются УА для определения следующего набора микроопераций.

ОУ функционирует в дискретные моменты t = 0, 1,… Промежуток времени между двумя моментами t и (t+1) дискретного времени называется тактом. В течение такта формируется набор управляющих сигналов из множества Y, выполняются соответствующие МКО и вычисляются значения ЛУ.

Для синтеза логической схемы ОУ необходимо иметь фиксированный набор типов элементарных автоматов: логические элементы, реализующие функционально полную систему функций алгебры логики, и элементарный автомат с памятью, представляющий один из распространенных типов триггеров.

В процессе работы над курсовым проектом необходимо выполнить следующие этапы:

— этап абстрактного синтеза ОУ;

— этап структурного синтеза ОА;

— этап структурного синтеза УА.

На этапе абстрактного синтеза ОУ необходимо разработать функциональную микропрограмму работы ОА и составить закодированную граф-схему работы УА.

На этапе структурного синтеза ОА необходимо разработать структурную и функциональную схемы ОА.

Этап структурного синтеза УА также включает разработку структурной и функциональной схем УА.

Результатом работы по перечисленным этапам является функциональная схема ОУ с описанием ее работы на заданном руководителем проекта временном интервале функционирования ОУ.

2. Определение функции ОУ

2.1 Анализ алгоритмов заданных операций

2.1.1 Анализ операции алгебраического вычитания

Для выполнения операции алгебраического вычитания необходимо в регистры ОА занести шестнадцатиразрядные операнды А (1:16) и В (1:16). Операнды загружены в прямом коде, поэтому может потребоваться преобразование кодов, А и В в модифицированные дополнительные коды. В регистре С (1:16) необходимо увеличить разрядность путём введения дополнительного разряда С (0) для отслеживания возможного переполнения.

В таблице 1 выполняется трассировка предложенного в задании алгоритма алгебраического вычитания в модифицированных дополнительных кодах для проверки корректности или возможности его оптимизации. При этом для упрощения вычислений, используются восьмиразрядные слова.

Таблица 1 — Анализ алгоритма алгебраического вычитания

Пункт алгоритма

Действие и результат

Пункт перехода

Комментарии

I. A (1:8)=1.1 011 101, B (1:8)=1.10

Знаки, А и В отрицательные, вычитание без переполнения

2.

П (1):=0; B (1):=0;

Переполнение устанавливаем в ноль, инвертируем знак вычитаемого

3.

А (1:8)=1.100 011; B (1:8)=0.10;

Дополнительные коды операндов

4.

С (0:8)=11.100 101;

Сумма

5.

С (0)=С (1);

Переполнения нет

6.

C (0:1).C (2:8)?0;

8.

С (0:8)=11.1 011 011;

Прямой код суммы

9.

Конец

II. A (1:8)=1.1 011 011, B (1:8)=0.100 101

А<0, B>0; Особый случай переполнения

2.

П (1):=0; B (1):=1;

Переполнение устанавливаем в ноль, инвертируем знак вычитаемого

3.

A (1:8)=1.100 101; B (1:8)=1.1 011 011;

Дополнительные коды операндов

4.

С (0:8)=11.0;

Сумма

5.

С (0)=С (1);

Особый случай переполнения

6.

C (0:1).C (2:8)=0;

7.

П (1)=1;

Переполнение устанавливаем в единицу

9.

Конец

III. A (1:8)=0.1 101 110; B (1:8)=1.1 110 011

A>0, B<0; Положительное переполнение

2.

П (1):=0; B (1):=0;

Переполнение в ноль

3.

A (1:8)=0.1 101 110; B (1:8)=0.1 110 011;

Дополнительные коды операндов

4.

C (0:8)=01.1 100 001

Сумма

5.

С (0)?С (1);

Положительное переполнение

7.

П (1)=1;

Переполнение устанавливаем в единицу

9.

Конец

В результате трассировки ошибок не обнаружено. Алгоритм работает корректно. Однако исходный алгоритм можно изменить путём объединения совместимых микроопераций. Это позволит уменьшить временные затраты ОУ и сложность УА, так как совместимые МКО могут выполняться в ОА за один такт и инициироваться одним управляющим сигналом. Изменённый алгоритм алгебраического вычитания приведён на рис. 3.

Рис. 3. Упрощённый алгоритм алгебраического вычитания

2.1.2 Анализ операции загрузки операндов

Алгоритмы операции загрузки операндов, А и B приведены на рис. 4 а, б соответственно. Данные алгоритмы упрощению не подлежат.

Рис. 4. Алгоритмы загрузки операндов, А и В

2.1.3 Анализ операции выдачи результата

Алгоритм выдачи результата С приведён на рис. 5. Этот алгоритм также не подлежит упрощению.

Рис. 5. Алгоритм выдачи результата

2.2 Функциональная микропрограмма работы ОУ

Функциональная микропрограмма является исходной формой представления функции ОУ, на основе которой синтезируется структура, достаточная для реализации заданной функции F = {f1, f2, f3, f4}. Функциональная микропрограмма состоит из содержательного графа микропрограммы, представляющего собой запись алгоритмов операций f1, f2, f3, и f4 на функциональном языке, и описания слов, используемых в микропрограммах этих операций.

На рис. 3, 4, 5 представлены содержательные граф-схемы операций f1, f2, f3, и f4.

В таблице 2 приводится описание слов, с которыми оперируют микропрограммы, представленные на рис. 3, 4, 5.

Таблица 2 — Описание слов в микропрограммах

Формат слова

Назначение слова

Тип слова

Комментарий

A (1:16)

Уменьшаемое

I, L

A (1) — знак первого операнда; с памятью

B (1:16)

Вычитаемое

I, L

B (1) — знак второго операнда; с памятью

C (1:16)

Разность

L, O

С (1) — знак результата; с памятью

C (0)

Дополнительный знаковый разряд

L

С памятью

П (1)

Признак переполнения

L

С памятью

dA(1:16)

Уменьшаемое

I

Без памяти

dB(1:16)

Вычитаемое

I

Без памяти

rC(1:16)

Разность

O

Без памяти

2.3 Определение функции ОА

Каждая функциональная микропрограмма Mg, где g=1, 2, 3, 4, определяющая алгоритм выполнения операции fg € F, вводит множество слов Sg, микроопераций Yg и логических условий Xg. Множества Sg, Yg, Xg характеризуют функцию операционного автомата частично, позволяя определить средства, достаточные для реализации только одной операции fg. Множества S, У, Х, достаточные для реализации всех операций из набора F= {f1, f2, f3, f4}, определяются объединением множеств Sg, Yg, Xg соответственно.

Затраты в ОА будут тем меньше, чем меньше слов содержит множество S. Следовательно, при объединении слов S1, S2, S3, S4 необходимо отождествлять между собой слова, принадлежащие объединяемым множествам. Поэтому функциональные микропрограммы следует составлять с учетом объединения их в ОУ, а значит, тождественные слова, используемые в различных микропрограммах, должны идентифицироваться одинаковыми именами.

Из анализа микропрограмм (см. рис. 3, 4, 5) очевидно, что множество слов, представленных в табл. 2, обеспечивает представление всех слов для реализации любой заданной операции. Результат объединения МКО и ЛУ представлен в таблице 3 и таблице 4 соответственно.

Таблица 3 — Объединённый список микроопераций

Обозначение

Микрооперация

y1

A (1:16):=dA(1:16)

y2

B (1:16):=dB(1:16)

y3

y4

C (0:16):=A (1).A (1:16)+B (1).B (1:16)

y5

П (1):=1

y6

y7

rC(1:16):=Если y7, то С (1:16) иначе 1

Таблица 4 — Объединённый список логических условий

Обозначение

Логическое условие

x1

C (0)=C (1)

x2

2.4 Определение функции УА

По отношению к управляющему автомату МКО и ЛУ представляются как элементарные символы, которые автомат интерпретирует в виде управляющих сигналов Y = {y1, y2, y3, y4, y5, y6, y7} и воспринимает как осведомительные сигналы X = {x1, x2}.

Таким образом, функция УА представляется в форме операторной схемы микропрограммы, в которой символы y1, y2, y3, y4, y5, y6, y7 отождествляются с МКО, а символы x1, x2 — с ЛУ.

Функции управляющего автомата определяются совокупностью закодированных графов микропрограмм.

Пути развития вычислительных процессов, соответствующих различным операциям f1, f2, f3, f4 в объединенной микропрограмме, задаются набором переменных g1, g2, g3, с помощью которых кодируются операции f1, f2, f3, f4. Двоичные переменные g1, g2, g3 играют роль логических условий, которые определяют переходы в объединенной микропрограмме. Объединённый закодированный граф УА имеет вид, представленный на рис. 6.

Рис. 6. Объединённый закодированный граф УА

3. Синтез функциональной схемы ОА

3.1 Разработка структурной схемы ОА

Исходной информацией для разработки структурной схемы ОА являются:

— описание типов слов, используемых в микропрограммах (см. табл. 2);

— список микроопераций (см. табл. 3);

— список логических условий (см. табл. 4).

Все слова (переменные), кроме вспомогательных, должны сохранять свое значение неограниченно долго, вплоть до присвоения им нового значения. Такие переменные являются переменными с памятью в отличие от вспомогательных переменных — переменных без памяти. Переменные с памятью соответствуют всем внутренним (L) словам.

Каждой переменной с памятью ставится в соответствие регистр операционного автомата той же разрядности, что и переменная, причем i-й разряд регистра соответствует i-му разряду переменной. Регистру присваивается идентификатор соответствующего ему слова.

Для рассматриваемого варианта структурная схема ОА содержит четыре регистра — A (1:16), B (1:16), C (0:16) и П (1).

Каждой переменной без памяти ставится в соответствие шина, имеющая разрядность переменной и предназначенная для параллельной передачи слов.

Для каждого регистра определяется множество микроопераций YS и логических условий ХS. На основании анализа микроопераций YS и логических условий ХS производится выделение всех полей регистра S. В одно поле включаются те разряды регистра S, которые преобразуются микрооперациями YS одинаково. Результат анализа полей регистров приведён в таблице 5.

Таблица 5 — Элементы структуры ОА

Регистр

МКО

ЛУ

Поля

А (1:16)

YА = {y1, y3}

ХА = {?}

A (1); A (2:15); A (16)

B (1:16)

YB = {y2, y3}

ХВ = {?}

B (1); B (2:15); B (16)

C (1:16)

YC = {y4, y6, y7}

ХС = {x1, x2}

C (0); C (1:15); C (16)

П (1)

YП = {y3, y5}

ХП = {?}

П (1)

На основе данных в таблице 5, построена структурная схема ОА, реализующая операции f1, f2, f3, f4 (см. рис. 7).

Рис. 7. Структурная схема ОА

операционный микропрограмма код

По локальной шине данных передаются как прямые, так и инверсные значения слов, хранимых в регистрах (передача в парафазном коде).

Словам A (1:16) и B (1:16), описанным в табл. 2, как входные (I), ставятся в соответствие входы dA и dB структурной схемы. Каждый вход соединяется с регистром шиной, исходящей из входа.

Слову С (1:16), описанному как выходное (О), ставится в соответствие выход rC структурной схемы.

Управляемые шины отмечаются сигналом ут, инициирующим микрооперацию ут.

Сигналы у1 и у2 вырабатываются вне ОУ, но микрооперации занесения слов, А и В в соответствующие регистры входят в множества YА и YB.

3.2 Синтез функциональной схемы ОА

Синтез ОА проводится раздельно для каждого регистра или шины и сводится к построению комбинационных схем, реализующих функции возбуждения триггеров регистров и комбинационных схем, вычисляющих значения логических условий.

Так как в различных полях одного регистра выполняются различные наборы МКО, задача синтеза регистра разбивается на несколько подзадач синтеза его полей. Вследствие идентичности преобразования разрядов в пределах одного поля ограничиваются синтезом одного разряда данного поля.

Синтез полей регистров проводиться на логических элементах ИЛИ-НЕ. В качестве элементов памяти регистров используются синхронные двухступенчатые (ТТ) SR-триггеры.

3.2.1 Синтез блока А

Структурная схема блока, А приведена на рис. 8.

Рис. 8. Структурная схема блока А

Над блоком А (1:16) выполняются МКО y1, y3. Поля A (1), A (2:15) и A (16) синтезируются одинаково, но после получения функций VS, VR и межразрядного переноса учитывается что CO (2)=0 (т.е. CI (1)=0), CI (16)=0 и что в A (1) прибавляется единица.

y1) A (i):= dA(i), где i=1, 2,…, 16.

Заполняется каноническая таблица для определения функций возбуждения VS и VR (см. таблицу 6).

Таблица 6 — Определение функций VS и VR (МКО y1)

t

t+1

t

A (i)

dA(i)

A (i)

VS

VR

0v1

0v1

Аналитические выражения для искомых функций имеют вид:

;

.

y3)

В данной МКО единица прибавляемая в младший разряд слова, А может вызвать перенос (CO), который может распространятся через всю разрядную сетку, кроме знакового разряда. Поэтому необходимо синтезировать функцию межразрядного переноса. Стоит отметить, что имеет место равенство CI (i)= СO (i+1).

Составляется каноническая таблица для МКО y3 (см. таблицу 7).

Таблица 7 — Определение функций VS, VR и CO (МКО y3)

t

t+1

t

A (1)

A (i)

CI (i)

A (i)

VS

VR

CO (i)

0v1

0v1

0v1

0v1

0v1

0v1

Аналитические выражения для искомых функций имеют вид:

;

;

.

Ниже представлены функции VS, VR и CO в общем виде для всех разрядов блока, А в микрооперациях y1, y3:

;

;

.

Учтём особенности реализации МКО y1, y3 в полях A (1), A (2:15) и A (16), упростив данные функции, и пересчитаем их в базис ИЛИ-НЕ.

Поле A (1) В поле A (1) МКО y3 не изменяет состояния триггера, поэтому функции возбуждения VS(y3) и VR(y3) равны нулю. Также нужно учесть, что не формируется CO (1).

;

.

Поле A (2:15)

;

;

.

Поле А (16)

В поле A (16) МКО y3 не изменяет состояния триггера, поэтому функции возбуждения VS(y3) и VR(y3) равны нулю. Функция межразрядного переноса не будет зависеть от CI (16) т.к. он равен нулю.

;

;

.

На рис. 9 приведена функциональная схема операционного блока А.

Рис. 9. Функциональная схема блока А

3.2.2 Синтез блока B

Структурная схема блока B приведена на рис. 10

.

Рис. 10. Структурная схема блока B

Над блоком B (1:16) выполняются МКО y2, y3. Для МКО y2 поля B (1), B (2:15) и B (16) синтезируются одинаково, а для МКО y3 отдельно каждое поле.

y2) B (i):= dA(i), где i=1, 2,…, 16.

Заполняется каноническая таблица для определения функций возбуждения VS и VR (см. таблицу 8).

Таблица 8 — Определение функций VS и VR (МКО y2)

t

t+1

t

B (i)

dB(i)

B (i)

VS

VR

0v1

0v1

Аналитические выражения для искомых функций имеют вид:

;

.

y3)

Аналогично МКО y3 в блоке А, в данной МКО единица прибавляемая в младший разряд слова В может вызвать межразрядный перенос, поэтому необходимо синтезировать функцию межразрядного переноса.

Поле B (1)

В рассматриваемом поле CO (1)=0 и CI (0)=0, т. е. функцию межразрядного переноса синтезировать не нужно.

y3)

Таблица 9 — Определение функций VS и VR (МКО y3, поле B (1))

t

t+1

t

B (1)

B (1)

VS

VR

Аналитические выражения для искомых функций имеют вид:

;

.

Поле B (2:15)

y3), здесь i=1, 2,…, 15.

Таблица 10 — Определение функций VS, VR и CO (МКО y3 поле B (2:15))

t

t+1

t

B (1)

B (i)

CI (i)

B (i)

VS

VR

CO (i)

0v1

0v1

0v1

0v1

0v1

0v1

Аналитические выражения для искомых функций имеют вид:

;

;

.

Поле B (16)

y3)

Таблица 11 — Определение функций VS, VR и CO (МКО y3 поле B (16))

t

t+1

t

B (1)

B (16)

B (16)

VS

VR

CO (16)

0V1

0v1

0v1

0V1

Функции VS и VR можно полностью доопределить нулями, т. е. состояние этого триггера не будет меняться, а будет лишь формироваться CO (16). Таким образом, аналитические выражения для искомых функций имеют вид:

;

;

.

Пересчитаем полученные функции VS, VR и CO соответствующих полей в базис ИЛИ-НЕ.

Поле B (1)

;

.

Поле B (2:15)

;

;

.

Поле B (16)

;

;

.

На рис. 11 приведена функциональная схема операционного блока B.

Рис. 11. Функциональная схема блока B

3.2.3 Синтез блока С

Структурная схема операционного блока C приведена на рис. 12.

Рис. 12. Структурная схема блока С

Над блоком С (0:16) выполняются МКО y4, y6, y7. Как и при синтезе блока А, поля С (0:1), C (2:15) и C (16) синтезируются одинаково, но после получения функций VS, VR и межразрядного переноса учитываются особенности реализации каждой МКО в отдельном поле. Также нужно отметить, что в данном блоке может возникать перенос двух видов: при выполнении МКО y4, и при выполнении МКО y6. Назовём эти переносы CO4 и CO6 соответственно. Тогда общая функция межразрядного переноса будет .

y4)

Для всех разрядов слова С операция выполняется одинаково (), кроме разряда С (0). Для него операция сложения выглядит следующим образом:. Это отличие решается непосредственно на схеме коммутацией цепей.

Заполняется каноническая таблица для определения функций возбуждения VS, VR и CO4 (см. таблицу 12).

Таблица 12 — Определение функций возбуждения VS, VR и CO4 (МКО y4)

t

t+1

t

C (i)

CI (i)

A (i)

B (i)

C (i)

VS

VR

CO4(i)

0v1

0v1

0v1

0v1

0v1

0v1

0v1

0v1

Составим карты Карно для минимизации функций VS, VR и CO4 (см. таблицу 13, 14, и 15 соответственно).

Таблица 13 — Минимизация функции VS

A (i) B (i)

C (i) CI (i)

0v1

0v1

0v1

0v1

Таблица 14 — Минимизация функции VR

A (i) B (i)

C (i) CI (i)

0v1

0v1

0v1

0v1

Таблица 15 — Минимизация функции CO4

A (i) B (i)

CI (i)

Аналитические выражения для искомых функций имеют вид (индекс i в формулах не пишется для более компактной записи выражений):

;

;

.

y6)

Составляется каноническая таблица для определения функций возбуждения VS, VR и межразрядного переноса CO6 (см. таблицу 16).

Таблица 16 — Определение функций VS, VR и CO6 (МКО y6)

t

t+1

t

С (1)

С (i)

CI (i)

С (i)

VS

VR

CO (i)

0v1

0v1

0v1

0v1

0v1

0v1

Аналитические выражения для искомых функций имеют вид:

;

;

.

y7)

В этой МКО i=1, 2,…, 16.

Составляется каноническая таблица для определения функции rC (см. таблицу 17).

Таблица 17 — Определение функции rC (МКО y7)

y7

C (i)

rC

Аналитическое выражение для искомой функции имеет вид:

.

Ниже представлены функции VS, VR, CO и rC в общем виде для всех разрядов блока С в микрооперациях y4, y6, y7:

;

;

;

.

Учтём особенности реализации МКО y4, y6, y7 в полях C (0:1), C (2:15) и C (16), упростив данные функции, и пересчитаем их в базис ИЛИ-НЕ.

Поле C (0:1)

Данное поле не изменяется и не формирует CO6 при выполнении МКО y6, поэтому не нужно формировать функции возбуждения триггеров и функцию межразрядного переноса для этой МКО.

;

;

;

.

Поле C (2:15)

.

??? C (16)

Данное поле не изменяется при выполнении МКО y6, поэтому не нужно формировать функции возбуждения триггеров для этой МКО. CO6 не будет зависеть от CI т.к. CI (16)=0. При выполнении МКО y4, функции возбуждения упростятся с учётом того что CI (16)=0. По той же причине упроститься и CO4.

;

;

;

.

Для изображения функциональной схемы операционного блока C, используются условно-графические обозначения, приведённые на рис. 13 — 18.

Рис. 13. Функция VS поля С (2:15)

Рис. 14. Функция VR поля С (2:15)

Рис. 15. Функция CO поля С (2:15)

Рис. 16. Функция Vs поля С (0:1)

Рис. 17. Функция VR поля С (0:1)

Рис. 18. Функция CO поля С (0:1)

На рис. 19 изображена функциональная схема операционного блока C с использованием условно-графических обозначений.

Рис. 19. Функциональная схема блока C

3.2.4 Синтез блока П

Над блоком П (1) выполняются МКО y3, y5. y3) П (1):=0

Заполним каноническую таблицу для определения функций VS и VR (см. таблицу 18).

Таблица 18 — Определение функций VS и VR (МКО y3)

t

t+1

t

П (1)

П (1)

VS

VR

0v1

Аналитические выражения для искомых функций имеют вид:

VS=0 y3=0;

VR=1 y3=y3.

y5) П (1):=1

Заполним каноническую таблицу для определения функций VS и VR (см. таблицу 19).

Таблица 19 — Определение функций VS и VR (МКО y5)

t

t+1

t

П (1)

П (1)

VS

VR

0v1

Аналитические выражения для искомых функций имеют вид:

VS=1 y5=y5;

VR=0 y5=0.

Представим функции функции VS и VR в общем виде:

VS=y5;

VR=y3.

На рис. 20 изображена функциональная схема блока П.

Рис. 20. функциональная схема блока П

3.3 Синтез функциональной схемы для вычисления значений логических условий

В рассматриваемом случае X = {x1, x2}. Рассмотрим каждое логическое условие.

x1) C (0)=C (1)

Для определения функции заполним каноническую таблицу (см. таблицу 20)

Таблица 20 — Определения функции

C (0)

C (1)

Аналитическое выражение для искомой функции имеет вид:

.

На рис. 21 изображена функциональная схема логического условия .

Рис. 21. Функциональная схема

x2)

Опознать наличие хотя бы одной единицы в разрядах слова С можно с помощью дизъюнкции. На момент проверки логического условия x2 разряды С (0) и С (1) всегда равны, поэтому в формуле можно не учитывать один из разрядов. Таким образом, аналитическое выражение для логического условия x2 будет следующее:

.

На рис. 22 изображена функциональная схема логического условия x2.

Рис. 22. Функциональная схема x2

4. Синтез функциональной схемы УА

Исходной информацией для синтеза УА является объединенная закодированная граф-схема работы УА (см. рис. 6). Синтез УА Мура осуществляется в два этапа:

— получение отмеченной граф-схемы работы;

— построение графа автомата.

Отмеченная граф-схема работы УА представлена на рис. 6, где выполнена разметка для модели Мура. В рассматриваемом варианте задания предлагается разработать УА с жесткой логикой модели Мура.

4.1 Структурная схема УА

Для построения структурной схемы УА следует выполнить кодирование внутренних состояний памяти (см. таблицу 21).

Таблица 21 — Кодирование внутренних состояний УА

A0

A1

A2

A3

A4

A5

A6

A7

T1

T2

T3

Кодирование производится путем замены индекса при Аi на двоичный код, соответствующий номеру индекса. Объединенный граф структурного автомата Мура представлен на рис. 23.

Рис. 23. Объединённый граф работы УА

Для декодирования состояний памяти УА предлагается использовать дешифратор внутренних состояний, на выходах которого будут формироваться сигналы Y = {y1, y2, y3, y4, y5, y6, y7}, инициирующие МКО в ОА. Операции f1, f2, f3, f4 кодируются в соответствии с табл. 22.

Таблица 22 — Кодирование операций f1, f2, f3, f4

g1

g2

g3

f1

f2

f3

f4

Для дешифрации кодов макроопераций также используется дешифратор на входы которого подаётся код операции g1g2g3, а на его выходах формируется КОПi, где i=1, 2, 3, 4.

На рис. 24 представлена функциональная схема УА.

Рис. 24. Функциональная схема УА

На входы g1, g2, g3 поступает код выполняемой операции, на вход Start — сигнал начала операции, на входы x1, x2 поступают сигналы 0v1, соответствующие вычисленным значениям логических условий (осведомительные сигналы о состоянии ОА).

4.2 Функциональная схема УА

По графу автомата составляются канонические таблицы для определения функций возбуждения триггеров Т1, T2, T3 памяти УА. В таблице 23 определяются функции VSi и VRi для триггеров Т1, T2, T3.

Таблица 23 — Определение функций VSi и VRi для триггеров Т1, T2, T3

t

t+1

t

t+1

t

t+1

t

Ai

S

КОП1

КОП2

КОП3

КОП4

x1

x2

T1

T1

VS

VR

T2

T2

VS

VR

T3

T3

VS

VR

A0

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

A1

;

;

;

;

;

;

;

;

;

A2

;

;

;

;

;

;

;

;

;

A3

;

;

;

;

;

;

;

A4

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

;

A5

;

;

;

;

;

;

;

;

A6

;

;

;

;

;

;

;

;

A7

;

;

;

;

;

;

;

Аналитические выражения для искомых функций имеют вид:

;

;

.

Пересчитаем полученные функции в базис ИЛИ-НЕ.

;

;

.

Комбинационная схема (КС) изображённая на рис. 24, имеет вид, представленный на рис. 25.

Рис. 25. Комбинационная схема (КС) УА

Заключение

В результате проделанной работы было спроектировано операционное устройство, которое реализует макрооперации предложенные в задании на курсовой проект. При разработке устройства были синтезированы и построены структурные и функциональные схемы операционного и управляющего автоматов.

1. Учебное пособие «Разработка операционного устройства»;

2. Методические указания «Индивидуальные задания по дисциплинам „Алгебра логики“ и „Арифметические и логические основы информационных систем“»;

3. Методические указания «Правила оформления схем к курсовому проекту».

Показать весь текст
Заполнить форму текущей работой