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

00 Проектирование цифровых устройств

.pdf
Скачиваний:
311
Добавлен:
12.04.2015
Размер:
1 Мб
Скачать
☆

41

На рисунке 1.26 показана схема, которая реализует принцип наращивания разрядности умножителя, выполненная на четырехразрядных сумматорах.

a0b0

a1b0 a2b0 a3b0 a4b0

a0b1 a1b1 a2b1 a3b1

a5b0 a6b0 a7b0

0

a4b1 a5b1 a6b1 a7b1

D1

A0 SM

A1

A2

A3

B0

B1

B2

B3

C0

D2

A0 SM

A1

A2

A3

B0

B1

B2

B3

C0

S0

S1

S2

S3

C4

S0

S1

S2

S3

C4

D3

a0b2 a1b2 a2b2 a3b2

D4

a4b2 a5b2 a6b2 a7b2

A0 SM

S0

A1

S1

A2

S2

A3

S3

B0

 

B1

 

B2

 

B3

 

C0

C4

A0 SM

S0

A1

S1

A2

S2

A3

S3

B0

 

B1

 

B2

 

B3

 

C0

C4

D5

a0b3 a1b3 a2b3 a3b3

D6

a4b3 a5b3 a6b3 a7b3

A0 SM

S0

A1

S1

A2

S2

A3

S3

B0

 

B1

 

B2

 

B3

 

C0

C4

A0 SM

S0

A1

S1

A2

S2

A3

S3

B0

 

B1

 

B2

 

B3

 

C0

C4

M0

M1

M2

M3

M4

M5

M6

M7 M8 M9

M10

M11

Рис. 1.26. Схема умножителя 8 × 4 на четырехразрядных сумматорах

2. ПРОЕКТИРОВАНИЕ ДИСКРЕТНЫХ УСТРОЙСТВ С ПАМЯТЬЮ

2.1. Понятие последовательностного автомата

Кроме комбинационных устройств, существует класс цифровых устройств, в которых при одинаковых воздействиях на входе на выходе автомата могут возникать различные выходные состояния. Состояние выхода такого устройства зависит не только от того, какие сигналы присутствуют на его входах в данный момент времени, но и от того, какие последовательности сигналов поступали на входы устройства в предшествующие моменты времени, т. е. автомат «помнит» свою предысторию и хранит ее в памяти. Поэтому такие устройства называют последовательностными автоматами, или дискретными автоматами с памятью (АП).

Для описания АП, помимо состояний входов X(t) и выходов Y(t), необходимо также знать состояние памяти автомата, т. е. его внутреннее состояние S(t).

В общем виде, последовательностный автомат рассматривается состоящим из двух частей: комбинационной цепи (КЦ) и памяти, состоящей из элементов памяти (ЭП) (рис. 2.1).

x1

… …

Комбинационная … …

y1

xm

yn

 

… …

цепь (КЦ)

… …

 

 

 

 

z1

zq

 

zq

z1

 

 

Элемент памяти (ЭП)

 

 

… …

Элемент памяти (ЭП)

Рис. 2.1. Структурная схема последовательнностного автомата

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

43

Функционирование (т. е. изменение состояния устройства) последовательностного автомата происходит в дискретные моменты времени, ход которого обозначается натуральными числами t = 1, 2, 3 и т. д. В каждый момент дискретного времени t автомат находится в определенном состоянии S(t), воспринимает через входы соответствующую данному моменту комбинацию входных переменных X(t), выдает на выходах некоторую функцию выхода Y(t), определяемую как

Y(t) = F{S(t), X(t)},

и переключается в новое состояние S(t+1), которое определяется функцией переходов как

S(t+1)= Ф{S(t), X(t)}.

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

2.2.Методика проектирования устройств, содержащих триггеры

Рассмотрим особенности проектирования автоматов с памятью (АП). В тактируемых автоматах элементами памяти служат синхронные триггеры, причем любой автомат можно построить на любом типе триггера (D, JK, RS и др.). Функции возбуждения триггеров, обеспечивающие переходы АП из одного состояния в другое, реализуются его комбинационной частью (КЦ). Они минимизируются и переводятсявбазисвыбранныхсредствреализацииавтомата.

44

x0

0

Тг 1

 

 

Q0

 

xm–1

0

 

z0

 

 

 

p0

1

Тг 2 Q1

 

 

 

КЦ 1

1

 

КЦ 2

y0

 

 

 

yp–1

n–1

Тг n Qn–1

zl-1

 

n–1

 

 

C

Рис. 2.2. Схема автомата с памятью на триггерах

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

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

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

45

Триггеры, управляемые фронтом, называют также триггерами с динамическим управлением.

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

Триггеры JK-типа. Примером может служить показанная на рисунке 2.3 микросхема ТВ9, имеющая в одном корпусе два JK- триггера с асинхронными входами сброса и установки R и S.

 

555TВ9

 

 

555TМ2

 

4

S

TT

5

4

S

T

5

3

2

J

 

 

D

 

 

1

 

 

 

 

C

 

 

3

 

 

 

2

 

 

C

 

 

K

 

6

1

 

6

15

 

 

 

R

 

 

R

 

 

10

S

TT

9

10

S

T

9

11

J

 

 

12

D

 

 

13

C

 

 

11

 

 

 

 

 

 

 

12

K

 

7

C

 

8

14

R

 

 

13

R

 

 

Рис.2.3. Условное графическое изображение интегральных схем триггеров

Состояние триггера может быть изменено сигналами на двух информационных входах J и К. Переключение триггера в новое состояние происходит по переходу из единицы в нуль синхросигнала С в зависимости от комбмнации сигналов J и К. При единице на входе J и нуле на входе К прямой выход устанавливается в единицу (обратный – в нуль). При нуле на входе J и единице на входе К прямой выход устанавливается в нуль (обратный – в единицу). При единичных уровнях на обоих входах J и К по сигналу С триггер меняет (инвертирует) состояние своих выходов на противоположные (это называется счетным режимом).

Входы R и S работают в асинхромном режиме: отрицательный импульс на входе R устанавливает прямой выход в нуль, а

46

инверсный – в единицу, а отрицательный импульс на входе S устанавливает прямой выход в единицу, а инверсный – в нуль.

Таблица 2.1. Таблица истинности JK-триггера ТВ9

 

 

Входы

 

 

 

Выходы

R

S

J

К

С

Q

 

Q

1

0

Х

Х

Х

1

 

0

0

1

Х

Х

Х

0

 

1

0

0

Х

Х

Х

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

1

1

1

0

 

1

 

0

1

1

0

1

 

0

 

1

1

1

0

0

 

Не изменяется

1

1

1

1

 

Меняется на

 

противоположное

 

 

 

 

 

1

1

Х

Х

0

Не изменяется

1

1

Х

Х

1

Не изменяется

1

1

Х

Х

 

Не изменяется

Триггеры D-типа – самые распространенные триггеры. Примером может служить показанная на рисунке 2.1 микросхема ТМ2, содержащая в одном корпусе два D-триггера с прямыми и инверсными выходами. D-триггер имеет один информационный вход D (вход данных) и один тактовый вход C, а также входы асинхронной установки нуля и единицы. Большинство интегральных D-триггеров срабатывают по фронту тактового сигнала. В частности, микросхема ТМ2 переключается по положительному фронту тактового сигнала С, при этом на выходе триггера устанавливается тот уровень, который был в этот момент на входе D, и сохраняется таковым до прихода следующего положительного фронта сигнала С.

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

Таблица 2.2. Словари функций возбуждения триггеров

47

RS-триггер

 

JK-триггер

 

D-триггер

 

 

 

 

 

 

 

 

 

 

Переход

R

S

Переход

J

K

Переход

 

D

0→0

×

0

0→0

0

×

0→0

 

0

0→1

0

1

0→1

1

×

0→1

 

1

1→0

1

0

1→0

×

1

1→0

 

0

1→1

0

×

1→1

×

0

1→1

 

1

При поиске функций φk, ψk возбуждения триггеров вначале составляется таблица, содержащая следующие данные:

 

Входные

 

Состояния триггеров

Необходимые

сигналы в

Qt (старое)

Qt+1 (новое)

сигналы для

 

момент t

 

 

 

 

 

 

 

 

 

триггеров

x1

x2

…

xm

Q1

Q2

…

Qn

Q1

Q2

…

Qn

φ1

ψ1

…

φn

ψn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Столбцы φ1, ψ1, …, φn, ψn определяют функции возбуждения триггеров. Многовариантность реализаций автомата связана с выбором типа триггеров и комбинационной части. Относительно наиболее распространенных типов триггеров JK и D можно отметить следующее. Триггер типа JK обладает более развитыми логическими функциями, поэтому для него функции возбуждения в среднем более просты, нo число их вдвое больше, чем для триггера D.

Время предустановки и время выдержки. С синхронизацией

(тактированием) триггера связаны два важных параметра – время предустановки tsu (Set-Up Time) и время выдержки th (Hold Time). Важность этих параметров обусловливается еще и тем, что они свойственны не только триггерам, но и другим устройствам. Время tsu

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

48

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

C

Момент изменения значения тактового сигнала

t

tsu th

Рис. 2.4. К пояснению параметров предустановки и выдержки для синхронных триггеров

Рассмотрим примеры реализации комбинационной части автомата на логических элементax малой интеграции для различных операций.

Пример 2.1. Арифметический вычитатель четырехразрядных чисел. Операция вычитания двухоперандная. Один операнд – уменьшаемое Q3Q2Q1Q0, – хранится в памяти (в четырех синхронных JK-триггерах), второй операнд – вычитаемое x3x2x1x0, – поступает на вход извне. Результат вычитания записывается в память. Операндами в каждом разряде являются Qi, xi и перенос (заем) из соседнего младшего разряда pi. Комбинационная цепь должна выработать сигналы Ji, Ki и перенос в старший разряд pi+1. Построим диаграммы Вейча для искомых функций: на рисунке 2.4 – для функций Ji и Ki, на рисунке 2.5 – для сигнала переноса pi+1.

49

pi

xi

Qt

Qt+1

Ji

Ki

pi+1

J

 

pi

 

 

 

 

i

i

 

 

 

i

 

 

 

0

0

0

0

0

×

0

0

1

0

1

 

 

 

 

 

 

 

 

 

0

0

1

1

×

0

0

×

×

×

×

Qi

 

 

 

 

 

 

 

0

1

0

1

1

×

1

 

 

 

xi

 

 

 

 

 

 

 

 

 

 

 

 

0

1

1

0

×

1

0

Ki

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

pi

 

 

1

0

0

1

1

×

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

×

×

×

×

 

1

0

1

0

×

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

0

1

Qi

1

1

0

0

0

×

1

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

1

×

0

1

 

 

 

xi

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.5. Таблицы истинности сигналов КЦ для операции вычитания и диаграммы Вейча для функций возбуждения JK- триггера

Выражения для функций возбуждения Ji и Ki совпадают:

Ji Ki pi xi pi xi pi xi .

pi+1

 

pi

 

 

0

1

1

1

 

0

0

1

0

Qi

 

 

 

xi

 

Рис. 2.6. Диаграмма Вейча сигнала переноса в старший разряд

Формула сигнала переноса имеет вид

pi 1 pi xi Qi xi Qi pi .

Представим функцию переноса в базисе И-НЕ:

50

pi 1 pi xi &Qi xi & Qi pi .

На рисунке 2.6 представлен фрагмент КЦ для одного, i-го разряда. Элементом памяти служит двухступенчатый JK-триггер со статическим управлением записью. При высоком уровне синхросигнала данные на информационных входах J и K записываются в первую ступень, а вторая ступень остается в режиме хранения. При перепаде синхросигнала на низкий уровень входы первой ступени блокируются, а ее состояние переписывается во вторую ступень.

pi

xi

&

 

 

 

 

 

 

 

&

&

pi+1

 

 

 

 

 

&

 

 

 

 

=1

J TT

Qi

 

 

 

 

 

 

 

 

 

 

C

 

 

 

 

K

 

C

 

 

 

 

Рис. 2.7. Схема одного разряда вычитающего устройства

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

Пример 2.2. Преобразователь n-разрядного двоичного кода в дополнительный код на триггерах JK-типа или D-триггерах.