СИНТЕЗ ФОРМИРОВАТЕЛЕЙ КОДОВ И КОМБИНИРОВАННЫХ ОПЕРАЦИОННЫХ ЭЛЕМЕНТОВ

Операционные элементы – формирователи кодов

clip_image002Формирователь кода (ФК) – это нетиповой ОЭ, выполняющий набор микроопераций преобразования входного кода А в выходной код В в соответствии с управляющими сигналами уi (рисунок 14).

ФК является комбинационной схемой.

Примером ФК является комбинацион­ный счетчик, рассмотренный выше. Он формирует на выходе код, который на 1 больше (меньше) кода на входе. Ши­роко используются также формирова­тели инверсных (обратных и дополни­тельных) кодов, обеспечивающих пра­вильность выполнения операций с от­рицательными числами на двоичном сумматоре [1].

Пример 4. Синтезировать формирователь кодов, выполняющий следующие микрооперации:

clip_image004 - получение модифицированного кода (удвоение знакового разряда), который используется для выявления ситуации переполнения при сложении на двоичном сумматоре чисел с фиксированной точкой;

clip_image006 - удвоение и инвертирование знакового разряда;

clip_image008 - получение модифицированного обратного кода числа;

clip_image010 - сдвиг кода влево без участия двух старших разрядов с доопределением нулем освобождающегося младшего разряда.

Заметим, что значение обратного кода числа с фиксированной точкой А(1:n) определяется значением знакового(старшего) разряда числа – A1. Если число положительное (А1=0), то обратный код числа равен его прямому коду. То же справедливо и для дополнительного кода. Если число отрицательное (А1=1), то для получения обратного кода нужно проинвертировать все разряды числа кроме знакового. Для получения дополнительного кода отрицательного числа нужно к его обратному коду прибавить единицу.

Основной подход при синтезе ФК – выделение и синтез типового разряда.

Этапы синтеза:

1) Выходное слово разбивается на поля однородных разрядов (т.е. разрядов, формируемых одинаково). Для каждого поля значение любого разряда bi этого поля описывается одной и той же функцией clip_image012. Для указанного примера слово B(1:n) можно разбить на 3 поля:

clip_image014clip_image016;

clip_image018;

clip_image020 (рисунок 15).

2)Синтез типового разряда (построение таблицы выходов). Зависимость значений выходов ФК от значений входного кода и управляющих сигналов представлена в таблице 2.

Таблица 2

clip_image022

clip_image024

clip_image026

clip_image028

clip_image030

clip_image032

clip_image034

clip_image036

clip_image038

clip_image040

clip_image034[1]

clip_image036[1]

clip_image042

clip_image032[1]

clip_image044

clip_image046

clip_image048

clip_image032[2]

clip_image050

0

3) Получение выходных функций.

clip_image052 ;

clip_image054

clip_image056;

clip_image058

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

clip_image060

Тогда

clip_image062 ; clip_image064

4) Реализация функций, полученных на третьем этапе проектирования. Функциональная схема формирователя кодов, выполненная без привязки к конкретной серии микросхем, представлена на рисунке 16.

clip_image066

При разработке ФК был применен стандартный метод синтеза ОА – синтез типового разряда методами булевой алгебры и дублирования схемы типового разряда для обеспечения требуемой разрядности операционного элемента (ОЭ).

Если набор микроопераций, выполняемых ОЭ, невелик, то его можно скомбинировать из типовых решений, приведенных в справочнике.

Например, нет типового решения для ОЭ, выполняющего микрооперации счета и сдвига. Такой элемент может быть реализован, в частности, путем комбинации типового накапливающего счетчика и типового сдвигающего регистра (рисунок 17,а). Микрооперация сдвига clip_image068реализуется управляющим сигналом clip_image070. Операция счета clip_image072 выполняется за три такта как последовательность микроопераций

clip_image074. Операнд, а затем результат, представлен в регистре, счетчик является вспомогательным элементом. Недостаток схемы: счет осуществляется за три такта. Для преодоления этого недостатка можно предложить схемные решения, изображенные на рисунке 17,б, в.

clip_image076

Примечание - На рисунке 17, не показаны сигналы, инициирующие микрооперации сброса ОЭ и загрузки операнда. В реальной схеме они должны быть предусмотрены.

На рисунке 17,б представлена схема на основе регистра сдвига и комбинационного счетчика. Операнд, а затем результат, находится в регистре. Для исполнения микрооперации сдвига (clip_image070[1]) используется режим сдвига регистра, а для реализации микрооперации счета (clip_image078) – режим параллельной загрузки регистра.

На рисунке 17,в представлена схема на основе накапливающего счетчика и комбинационного сдвигателя. Операнд, а затем результат, находится в счетчике. Для исполнения микрооперации сдвига (clip_image070[2]) используется режим параллельной загрузки счетчика, а для реализации микрооперации счета (clip_image078[1]) – режим счета на увеличение.

Предлагаю ознакомиться с аналогичными статьями: