Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

цимпу / Практика / content / Пособия / МУ и задания к КП, 2015

.pdf
Скачиваний:
84
Добавлен:
13.02.2016
Размер:
2.03 Mб
Скачать

Из примера следует, что сдвигаемые цифры сохранены (сдвиг без округления) и произошло умножение исходного числа на 4.

3.2Задание на проектирование к теме № 3

Описать принцип построения и разработать логическую схему комбинационного программируемого сдвигателя четырехразрядных двоичных чисел без округления в базисе И- НЕ. Разработать логическую схему суммирующего четырехразрядного счетчика на JK-триггерах с коэффициентом пересчета Кпер, заданным в таблице 3.1. Разработать принципиальную электрическую схему устройства сдвига по заданной структурной схеме (рисунок 3.1) на микросхемах схемотехники КМОП, серии которых указаны в таблице 3.1.

Таблица 3.1 – Исходные данные для проектирования устройства логического сдвига двоичных чисел

Номер

Значение

Направление

Шаг

Серии

 

числа X

К пер

варианта

сдвига

сдвига

микросхем

(P=2)

 

 

 

 

 

 

3.1

1110

влево

2

1594, 5564

11

3.2

1010

вправо

2

1554, 1564

9

3.3

1011

вправо

3

1594, 5564

12

3.4

1011

влево

2

1554, 1564

15

3.5

0101

влево

3

1594, 5564

13

3.6

1110

вправо

3

1554, 1564

14

3.7

1101

влево

3

1594, 5564

12

Описать работу принципиальной электрической схемы устройства в течение одного периода сигнала синхронизации UC при сдвиге числа X. Значение числа X, направление и шаг сдвига заданы в таблице 3.1.

31

3.3 Назначение и принцип построения комбинационных программируемых сдвигателей

Операция сдвига заключается в смещении двоичного слова влево или вправо по разрядной сетке на заданное число разрядов

[8, 9].

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

Поэтому даже в самых ранних ЭВМ использовались так называемые сдвигающие регистры. Такие регистры применяются и в новейших машинах, но наряду с ними стали использоваться и комбинационные многоразрядные программируемые сдвигатели. Дело в том, что в сдвигающих регистрах время сдвига прямо пропорционально величине (шагу) сдвига, поскольку в них на каждом такте осуществляется сдвиг только на один разряд. Комбинационные устройства по своей природе являются однотактными. Время сдвига информации в таких устройствах не зависит от величины сдвига. Естественно, что их реализация сопровождается значительными аппаратурными затратами.

Различают четыре вида сдвигов: логический, арифметический, редакторский и циклический.

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

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

Обычно при логическом и арифметическом сдвигах величина шага сдвига не превышает qmax = n – 1 (где n – разрядность сдвигаемого слова), так как в противном случае ни

32

одна цифра сдвигаемого слова не останется в начальной разрядной сетке, что, как правило, не имеет смысла при обработке реальной информации.

Арифметический и в некоторой степени логический сдвиг на q разрядов влево равносилен умножению исходного слова на величину 2q; аналогично соответствующий сдвиг вправо равносилен делению исходного слова на эту же величину.

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

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

Сдвигателем называется комбинационное цифровое устройство, реализующее операцию сдвига над исходным двоичным словом в соответствии с заданным типом, направлением и шагом сдвига. При разрядности сдвигаемого слова n сдвигатель должен иметь n информационных и 1 + log2n управляющих входов, а также m = 3n – 2 информационных выходов (в некоторых частных случаях число выходов может быть меньше).

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

УГО сдвигателя приведено на рисунке 3.3 и представляет собой прямоугольник с аббревиатурой SH (от англ. Shifter) во внутреннем поле. Входное нижнее поле выделено для приема управляющих сигналов, определяющих направление (D = 0

33

обозначает сдвиг влево, D = 1 – вправо) и шаг сдвига (S0, S1). Например, при S1 = 1, S0 = 0 – сдвиг на два разряда.

Рисунок 3.3 – Условное графическое обозначение сдвигателя

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

аргументов (x3, x2, x1, x0, D, S1, S0), десять функций (y6, y5, y4, y3, y2, y1, y0, y–1, y–2, y–3) и была очень громоздкой и плохо обозримой. Таблицу можно значительно сократить, если

аргументы x3, x2, x1, x0 вывести из левой ее части и ввести в

рабочие поля правой части вместо единиц, как это сделано в таблице 3.2.

34

Таблица 3.2 – Табличное описание матричного сдвигателя

Логические аргументы

 

 

 

 

 

Логические функции (выходное слово)

 

 

(управл. сигналы)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Направление

 

Величина

 

 

Сдвиг

 

 

 

 

 

Прямая

 

 

Сдвиг вправо

 

сдвига

 

 

 

сдвига

 

 

влево

 

 

 

 

передача

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S1

 

 

 

 

 

 

 

S0

 

y6

 

 

 

 

y5

 

y4

y3

 

 

 

 

y2

 

y1

 

y0

y–1

y–2

 

y–3

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

x3

 

 

 

 

x2

 

x1

x0

 

 

0

 

 

0

 

0

0

0

 

0

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

0

 

 

 

 

 

0

x3

 

x2

x1

 

 

 

 

x0

 

0

 

0

0

0

 

0

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

1

 

 

 

 

 

0

 

 

 

 

 

0

x3

x2

 

 

 

 

x1

 

x0

 

0

0

0

 

0

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

0

 

 

 

 

 

0

 

0

 

 

 

 

 

 

 

0

x3

 

 

 

 

x2

 

x1

 

x0

0

0

 

0

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

1

 

 

 

 

 

0

 

0

 

 

 

 

 

 

 

0

0

x3

 

x2

 

x1

x0

0

 

0

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

0

 

 

 

 

 

0

 

0

 

 

 

 

 

 

 

0

0

 

 

 

 

0

x3

 

x2

x1

x0

 

0

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

0

 

0

 

 

 

 

 

 

 

0

0

 

 

0

 

 

0

x3

x2

x1

 

x0

 

Примечание – D = X – неопределенное значение (0 или 1), поскольку при

 

нулевом шаге понятие «направление сдвига» теряет смысл.

 

 

 

 

 

 

 

Данные таблицы 3.2 дают возможность перейти к логико-

математическому описанию сдвигателя:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y6 Ds1s0x3;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y5 Ds1s0x2 Ds1

 

 

 

0x3;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y4 Ds1s0 x1 Ds1

 

 

 

 

0x2 D

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s

 

s

 

1s0x3;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y3 Ds1s0x0 Ds1

 

 

 

 

0x12 D

 

 

 

 

1s0x23

 

 

1

 

 

 

0x3;

 

 

 

 

 

s

 

s

 

s

s

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y2 Ds1s 0 x0

D s1s0 x1 s1s 0x2

Ds1s0x3;

 

 

 

 

(3.1)

 

 

 

 

 

 

 

 

 

 

1 s0x0

 

 

1

 

 

 

 

 

 

 

1s0 x2 Ds1

 

0 x3;

 

 

 

 

 

 

y1 Ds

s

s

0 x1 Ds

s

 

 

 

 

 

y0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1s0 x1 Ds1

 

 

 

 

0x2 Ds1s0x3;

 

 

 

 

 

 

s

1

s

 

0 x0 Ds

s

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y 1 Ds1s0 x0 Ds1s 0x1 Ds1s0x2 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y 2 Ds1s 0 x0 Ds1s0x1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

3

Ds s

x

0

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Система

 

 

функций

 

(3.1)

 

позволяет

построить

функциональную

 

 

 

 

схему

 

сдвигателя,

 

 

 

 

 

 

но

 

она

получится

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

35

 

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

z0

 

1

 

 

0 ;

z4 не используется;

 

 

s

s

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z1 D

 

 

1 s0 ;

 

 

 

 

 

 

s

z5 Ds

1 s0 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(3.2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z2 Ds1s 0 ;

z6 Ds1s 0 ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z3 Ds1s0 ;

z7 Ds1s0.

 

 

 

Подставив соотношения (3.2) в систему (3.1), получим

y6 z3x3;

y5 z3x2 z2x3;

y4 z3x1 z2 x2 z1x3;

y3 z3x0 z2x1 z1x2 z0x3; y2 z2 x0 z1x1 z0 x2 z5x3; y1 z1x0 z0x1 z5x2 z6x3; y0 z0 x0 z5x1 z6 x2 z7 x3; y 1 z5x0 z6 x1 z7 x2 ;

y 2 z6 x0 z7 x1; y 3 z7 x0 .

(3.3)

Структурированная система логических функций (3.2), (3.3) позволяет построить структурную и функциональную схемы сдвигателя (рисунок 3.4).

Анализ функциональной схемы показывает, что сдвигатели матричного типа обладают весьма высоким быстродействием, которое оценивается величиной 2tзд.ЛЭ, так

36

как сдвигаемая информация проходит только через одну ступень

сдвига (отсюда и их название – одноступенчатые).

 

x3

 

Сдвигающая

y- 3

 

мат рица

x2

 

y- 2

 

конъюнкт оров

x 1

 

 

y- 1

x 0

 

 

 

 

y0

 

 

z 0

 

Управляющий

y 1

D

z1

дешифрат ор

y2

 

 

z2

 

 

 

S1

 

z 3

y3

 

z5

y4

 

 

S

 

z6

y5

0

 

z 7

 

 

 

y6

 

 

 

Рисунок 3.4 – Комбинационный программируемый сдвигатель.

 

Схема электрическая структурная (а) и функциональная (б)

 

37

D S1 S0

&

&

&

&

&

&

&

7

&

 

 

 

 

y -3

 

 

 

 

 

z 6

&

&

 

 

1

y -2

 

 

 

2

 

z 5

 

 

 

 

y -1

&

&

&

 

1

 

 

3

 

z 0

 

 

 

 

y0

&

&

&

&

1

 

3

 

z1

 

 

 

 

 

&

&

&

&

1

y1

 

3

 

z 2

 

 

 

 

y2

&

&

&

&

1

 

3

 

z 3

 

 

 

 

 

&

&

&

&

1

y3

 

2

 

 

 

 

 

 

y 4

 

 

&

&

&

1

 

x0

 

 

 

 

 

 

1

y5

 

 

 

&

&

 

 

x1

 

 

 

 

 

 

 

 

 

 

x

 

&

 

y6

 

 

2

 

 

 

 

 

 

 

x3

 

 

 

 

б)

 

 

 

 

 

Окончание рисунка 3.4

 

 

 

3.4 Методические указания по разработке разделов проекта к теме № 3

Логическую схему комбинационного программируемого сдвигателя (лист 1) разработайте в базисе И-НЕ. Для этого преобразуйте в базис И-НЕ логические функции (3.2) и (3.3). Логическую схему вычертите в формате А3 на основе заданной функциональной схемы (рисунок 3.4, б) и выполните указания раздела 6.

Синтез счетчика с заданным коэффициентом пересчета Кпер выполните по методике, приведенной в приложение А.

38

Принципиальную электрическую схему устройства сдвига (лист 2) разработайте на выбранных микросхемах на основе заданной структурной схемы (рисунок 3.1) и разработанной логической схемы сдвигателя (лист 1). Принципиальную электрическую схему вычертите в формате А2 и выполните указания раздела 6.

39

4 ТЕМА № 4. УСТРОЙСТВО СРАВНЕНИЯ ДВОИЧНЫХ ЧИСЕЛ

4.1 Описание принципа работы заданной структурной электрической схемы устройства сравнения двоичных чисел

Структурная электрическая схема устройства сравнения двоичных чисел представлена на риунке 4.1.

Рисунок 4.1 – Устройство сравнения двоичных чисел. Схема электрическая структурная

Рассмотрим назначение узлов, входящих в структурную схему устройства сравнения.

Компаратор Y3 предназначен для сравнения четырехразрядных двоичных чисел А и B, представленных разрядами a3…a0 и b3…b0. На выходах компаратора формируются сигналы, фиксирующие результат сравнения.

Регистр Y1 предназначен для параллельного ввода четырехразрядного операнда A в двоичной СС, значение

40