Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсач).docx
Скачиваний:
72
Добавлен:
13.02.2016
Размер:
920.75 Кб
Скачать

2 Теоретическое обоснование и логическое проектирование узлов устройства

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

Операция сдвига заключается в смещении двоичного слова влево или вправо по разрядной сетке на заданное число разрядов [8, 9].

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

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

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

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

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

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

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

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

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

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

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

УГО сдвигателя приведено на рисунке 3 и представляет собой прямоугольник с аббревиатурой SH (от англ. Shifter) во внутреннем поле. Входное нижнее поле выделено для приема управляющих сигналов, определяющих направление (D = 0 обозначает сдвиг влево, D = 1 – вправо) и шаг сдвига (S0, S1). Например, при S1 = 1, S0 = 0 – сдвиг на два разряда.

Рисунок 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 вывести из левой ее части и ввести в рабочие поля правой части вместо единиц, как это сделано в таблице 1.

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

Логические аргументы (управл. сигналы)

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

Направление сдвига

Величина сдвига

Сдвиг влево

Прямая передача

Сдвиг вправо

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), поскольку при нулевом шаге понятие «направление сдвига» теряет смысл.


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

(1)

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

(2)

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

(3)

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

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

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

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

2.2 Разработка логической схемы счетчика с коэффициентом пересчета Кпер=12

Согласно заданию курсового проектирования разработаем схему счетчика с заданным коэффициентом пересчет Кпер=12.

Необходимое число триггеров будет определяться как минимальное n, удовлетворяющее неравенству пер. В данном случае число триггеров n = 4.

В счетчике с коэффициентом пересчета Kпер = 12 десять состояний, причем каждый десятый импульс сбрасывает счетчик в нулевое состояние. Переход счетчика из текущего в следующее состояние связан с переключением триггеров. Для переключения триггеров счетчика в требуемые состояния (таблица 2) на их входах J и K необходимы определенные уровни сигналов. В таблице 3 показаны все возможные переходы состояний триггера и требуемые для этих переходов уровни сигналов на входах J и K. На основании таблицы 3 в таблице 2 указаны уровни сигналов на входах J и K, которые обеспечивают переходы счетчика в следующее состояние.

Таблица 2 – Таблица переходов счетчика с коэффициентом пересчета Kпер = 12, совмещенная с таблицей истинности комбинационных схем возбуждения входов J и K триггеров

Номер входного импульса

Текущее состояние

Следующее состояние

Уровни сигналов на входах триггеров

Q3

Q2

Q1

Q0

Q3

Q2

Q1

Q0

J3

K3

J2

K2

J1

K1

J0

K0

1

0

0

0

0

0

0

0

1

0

X

0

X

0

X

1

X

2

0

0

0

1

0

0

1

0

0

X

0

X

1

X

X

1

3

0

0

1

0

0

0

1

1

0

X

0

X

X

0

1

X

4

0

0

1

1

0

1

0

0

0

X

1

X

X

1

X

1

5

0

1

0

0

0

1

0

1

0

X

X

0

0

X

1

X

6

0

1

0

1

0

1

1

0

0

X

X

0

1

X

X

1

7

0

1

1

0

0

1

1

1

0

X

X

0

X

0

1

X

8

0

1

1

1

1

0

0

0

1

X

X

1

X

1

X

1

9

1

0

0

0

1

0

0

1

X

0

0

X

0

X

1

X

10

1

0

0

1

1

0

1

0

X

1

0

X

0

X

X

1

11

1

0

1

0

1

0

1

1

Х

0

0

Х

Х

0

1

Х

12

1

0

1

1

0

0

0

0

Х

1

1

Х

Х

1

Х

1

Таблица 3 – Таблица переходов JK-триггера

Вид перехода триггера

Уровни сигналов на входах

J

K

00

0

X

01

1

X

10

X

1

11

X

0

Примечание – Знак "X" означает произвольный уровень сигнала (0 или 1)

Пусть к моменту подачи первого импульса счетчик находился в состоянии 0000. Под действием этого импульса должно быть обеспечено новое состояние 0001 (таблица 2). Следовательно, в триггере младшего разряда T0 происходит переход вида 01, обеспечиваемый при следующих уровнях на информационных входах: J0 = 1, K0 = X. В остальных триггерах происходит переход вида 00, который обеспечивается уровнями J1 = 0, K1 = X, J2 = 0, K2 = X, J3 = 0, K3 = X. Эти значения занесены в клетки карт Карно для входов J и K всех триггеров, соответствующие состоянию счетчика 0000 (рисунок 5). Пользуясь таблицей 2, можно заполнить карты Карно для входов J и K всех триггеров счетчика. При этом следует помнить, что уровни сигналов на входах J и K являются логическими функциями текущего состояния триггеров и на картах Карно (рисунок 5) под Q3, Q2, Q1, Q0 понимается текущее состояние счетчика, т.е. перед поступлением на вход счетчика очередного импульса. На картах Карно знаком «Ф» обозначены неопределенные значения функций возбуждения входов J и K, соответствующие лишним состояниям счетчика.

Рисунок 5 – Карты Карно для счетчика с коэффициентом пересчета Kпер = 12

Следует помнить, что при минимизации не полностью заданных логических функций произвольные и неопределенные значения функции можно доопределять с целью упрощения результата минимизации. Следовательно, на картах Карно при записи результата минимизации в МДНФ в замкнутые области следует объединять клетки, заполненные единицами, а также произвольными и неопределенными значениями логической функции.

По картам Карно запишем следующие выражения для функций возбуждения входов J и K всех триггеров счетчика в МДНФ

(4)

Логическая схема счетчика, построенная по логическим функциям (4), представлена на рисунке 6.

Рисунок 6 – Логическая схема счетчика на JK-триггерах с коэффициентом пересчета Kпер = 12

Работа счетчика (рисунок 6) поясняется временными диаграммами, приведенными на рисунке 7 (число входных импульсов N определяется по формуле N = Kпер + 1).

Рисунок 7 – Временные диаграммы работы счетчика с коэффициентом пересчета Kпер = 12

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