Синтез операционных элементов. Регистры

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

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

у0: P(1:4):=0000 – обнуление (сброс) регистра,

y1: P(1:4):=1010 – установка кода,

у2: Р(1:4):= Т(1:4) – прием кода с регистра Т (межрегистровая передача),

y3: P(1:4):=P(2:4).P1 – циклический сдвиг влево информации в регистре.

Регистр должен вычислять осведомительные сигналы

х1= (P(1:4)=1111), x2= (p(1:4)>=1010).

В качестве элементного базиса для реализации i-го разряда регистра можно взять, например, микросхему К155ТМ2 (ТТЛ-логика) - рисунок 3. Микросхема К155ТМ2 содержит два независимых D-триггера, имеющих общую цепь питания. У каждого триггера есть входы clip_image002, а также комплиментарные выходы clip_image004 и clip_image006. Входы clip_image008 и clip_image010 асинхронные, потому что они работают независимо от сигнала на тактовом входе clip_image012; активный уровень для них – низкий. Сигнал от входа clip_image014 передается на выходы clip_image016 и clip_image018 по положительному (от низкого к высокому уровню) перепаду на тактовом входе clip_image012[1]. Чтобы триггер переключился правильно, нужный уровень на входе clip_image014[1] следует зафиксировать заранее, перед приходом тактового перепада. Защитный интервал должен превышать время задержки распространения сигнала в триггере. Если на входы clip_image008[1] и clip_image010[1] одновременно подать напряжения низкого уровня, состояние выходов clip_image016[1] и clip_image018[1] окажется неопределенным. Асинхронная установка нужного сочетания уровней на выходах получится, когда на входы clip_image008[2] и clip_image010[2] поданы взаимно-противоположные логические сигналы. В это время входы clip_image012[2] и clip_image014[2] отключены. Загрузить в триггер входной сигнал по входу clip_image014[3] можно, если на входы clip_image008[3] и clip_image010[3] подано напряжение высокого уровня.

Подробно микросхемы серии К155 описаны в [3]. Таблица 1 – таблица переходов триггера K155TM2. Для реализации регистра необходимо 2 таких микросхемы. Обозначим входы триггеров 1 – 4 соответственно R1-R4, S1-S4, D1-D4, C1-C4, выходы – Q1-Q4.

Выходы внешнего регистра T(1:4), с которого принимается информация на регистр Р, обозначим Т1-Т4.clip_image020

Необходимо синтезировать функции возбуждения входов регистра для осуществления набора заданных микроопераций. Построим таблицу зависимости функций возбуждения входов от управляющих сигналов и входной информации (таблица 2). Операции установки и приема кода целесообразно выполнять при помощи специально для этого предназначенных установочных R-S входов регистра. Эти входы асинхронные и имеют приоритет перед другими входами (что отражено в таблице 1). При этом различают двухтактные и однотактные операции установки и приема. Для двухтактных операций характерно, что в первом такте в схему (на R входы, ответственные за установку нуля) подается управляющий сигнал y0, вследствие чего регистр обнуляется. Во втором такте в схему подается непосредственно сигнал установки ( или приема) – у1(или y2). Этот сигнал подается только на S входы, ответственные за установку единицы (так как нули уже установлены в предыдущем такте).

Таблица 1

clip_image022

clip_image024

clip_image026

clip_image028

clip_image030

X

X

0

0

Не определено определено

X

X

0

1

0

X

X

1

0

1

0

X

1

1

clip_image032

1

0

1

1

0

1

1

1

1

1

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

Примечание - У микросхемы К155ТМ2 для исключения запрещенной комбинации 11 на R-S входах, эти входы выполнены инверсными (в TTЛ-логике на свободном (не подключенном) входе микросхемы уровень логической единицы). При составлении таблицы 2 инверсии на установочных входах микросхемы К155ТМ2 не учитывались. Эти инверсии будут учтены при составлении булевых функций возбуждения входов по таблице 2 (так как инвертироваться должна вся функция, а не отдельные входящие в нее переменные).

Микрооперацию сдвига целесообразно выполнять с использованием синхронного D-триггера. При этом синхроимпульсы будут использоваться для отсчета сдвигов: на один синхроимпульс будет выполняться один сдвиг. Для этого управляющий сигнал у3, домноженный на синхроимпульс, целесообразно подать на входы С триггеров.

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

Таблица 2

y

R1

S1

R2

S2

R3

S3

R4

S4

у0

1

 

1

 

1

 

1

 

у1

 

1

[1]

   

1

[1]

 

у2

[clip_image034]

clip_image036

[clip_image038]

clip_image040

[clip_image042]

clip_image044

[clip_image046]

clip_image048

y

D1

D2

D3

D4

C1

C2

C3

C4

y3

Q2

Q3

Q4

Q1

c

c

c

c

Из таблицы 2 получаем следующие функции возбуждения входов триггеров.

clip_image050; clip_image052;

clip_image054; clip_image056;

clip_image058; clip_image060;

clip_image062; clip_image064;

clip_image066; clip_image068; clip_image070; clip_image072;

clip_image074.

Осведомительный сигнал х1 вычисляется по формуле clip_image076.

На рисунке 4 показаны наборы значений регистра, на которых осведомительный сигнал x2 должен принимать единичные значения. Минимальная ДНФ для вычисления х2:

clip_image078.

clip_image080Схема регистра (вариант двухтактной установки (приема) кода) представлена на рисунке 5. В дальнейшем под словом схема будем понимать функциональную схему устройства. Если будут подразумеваться другие виды схем, это будет оговорено.

Для реализации функций возбуждения входов и осведомительных сигналов используются микросхемы К155ЛР1(2И-2И-ИЛИ-НЕ), К155ЛА1(2 элемента 4И-НЕ), К155ЛА3(4 элемента 2И-НЕ).

clip_image082

Временные диаграммы регистра при выполнении им микрооперации сдвига в динамическом режиме (при подаче на С-входы последовательности синхроимпульсов) приведены на рисунке 6. Триггеры К155ТМ2 переключаются по нарастающему фронту синхросигнала. Временные интервалы, в частности, задержки переключения триггеров относительно начала синхроимпульса, на рисунке показаны условно без соблюдения масштаба. Параметры синхросерии (частота, скважность) обычно рассчитываются исходя из принципов взаимодействия УА и ОА и задержек срабатывания операционных элементов. В данном случае, например, важно, чтобы за время положительного уровня на входе С, триггер успел сработать.

Микрооперации установки и приема кода в данной схемной реализации осуществляются асинхронно при подаче в схему единичного значения соответствующего управляющего сигнала (можно предположить, что время формирования этих значений задается (синхронизируется) управляющим автоматом).

clip_image084Поставленную задачу синтеза регистра можно решить, например, с использованием микросхемы К155ИР1 – четырехразрядного регистра в интегральном исполнении (рисунок 7). Вход разрешения параллельной загрузки clip_image086 служит для выбора режима работы регистра. Если на вход clip_image086[1] поступает напряжение высокого уровня, разрешается синхронизация по входу clip_image089. В момент прихода на этот вход отрицательного перепада синхроимпульса в регистр загружаются данные с параллельных входов D1-D4 (микрооперация Q(1:4):=D(1:4)).

Если на вход clip_image086[2] поступает напряжение низкого уровня, синхронизация осуществляется по входу clip_image092. По отрицательному перепаду синхроимпульса информация в регистре сдвигается в сторону разряда Q4 (микрооперация Q(1:4):=S.Q(1:3)).

Напряжение на входе clip_image086[3] можно менять только если на обоих тактовых входах clip_image092[1]и clip_image089[1] напряжение низкого уровня, перемена сигнала на входе clip_image086[4] не меняет состояния выходов.

Режимы работы регистра К155ИР1 представлены в таблице 3 .

На этой и следующих таблицах приведены следующие обозначения: 0 – низкий уровень (логический ноль), 1- высокий уровень (логическая единица), X – состояние входа не влияет на работу микросхемы, с – синхроимпульс, l – перепад сигнала от высокого уровня к низкому, Γ - перепад сигнала от низкого уровня к высокому, А1, А2, А3, А4 – состояние регистра (значения сигналов на выходах Q1, Q2, Q3, Q4) до начала выполнения микрооперации.

clip_image098

Построим таблицу зависимости функций возбуждения входов микросхемы К155ИР1 от управляющих сигналов и входной информации (таблица 4). Так как сдвиг в регистре возможен только в сторону выхода Q4, а необходимо реализовать операцию y3: P(1:4):=P(2:4).P1, будем считать, что с выхода Q4 снимается разряд P1, Q3 – P2, Q2 – P3, Q1 – P4.

Таблица 3

Входы

Выходы

Режим

clip_image100

clip_image102

clip_image104

S

D1

D2

D3

D4

Q1

Q2

Q3

Q4

1

X

1

X

X

X

X

X

A1

A2

A3

A4

хранение

1

X

с(l)

X

a

b

c

d

a

b

c

d

загрузка

0

1

X

X

X

X

X

X

A1

A2

A3

A4

хранение

0

с(l)

X

a

X

X

X

X

a

A1

A2

A3

сдвиг

l

0

0

X

X

X

X

X

A1

A2

A3

A4

Изменение напряжения на входе clip_image100[1] (хранение)

Γ

0

0

X

X

X

X

X

A1

A2

A3

A4

Таблица 4

y

clip_image100[2]

clip_image102[1]

clip_image104[1]

S

D1

D2

D3

D4

y0

1

X

c

X

0

0

0

0

y1

1

X

с

X

0

1

0

1

y2

1

X

c

X

T4

T3

T2

T1

y3

0

c

X

P1

X

X

X

X

Функции возбуждения входов:

clip_image106; clip_image108; clip_image110; clip_image112;

clip_image114; clip_image116; clip_image118; clip_image120

Функция для входа S упрощена (отсутствует сигнал у3), так как информация с этого входа используется только в режиме сдвига, инициируемом сигналом у3.

Схема регистра (без вычисления осведомительных сигналов) представлена на рисунке 8. В микросхеме К155ЛР3 (2И-2И-3И-2И-ИЛИ-НЕ) заземлен один из входов неиспользуемого логического элемента «И». При отсутствии заземления вследствие наличия на неподключенных входах элемента ТТЛ уровня логической единицы, на выходе микросхемы будет постоянно присутствовать уровень логического нуля.

clip_image122

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