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

КЛЕВО_FPGA

.pdf
Скачиваний:
35
Добавлен:
14.04.2015
Размер:
8.21 Mб
Скачать

Глава 11. Сдвиговые

регистры

цифра 3. С ними устанавливается рабочее состояние «параллельная загрузка». Последовательно снабжены этой цифрой и входы Л, 5 , С, D, Через входы ESL (при сдвиге влево) и ESR (при сдвиге вправо) можно ввести сигнал последовательно. На изображении логическо­ го символа сдвиг влево обозначается цифрой 2, поэтому цифра 2 указана у входа ESL- В качестве последовательного выхода могут быть применены QA И QB-, В зависимости от выбора сдвига влево либо сдвига вправо.

ESR

D ESL

So-\\b

>1Ь

S^-^\p

 

&

8c & &

& & &

&

& &

 

&

Ч1Р

ЧГР

W

Ч1Р

 

>l

>1

 

 

>1

 

U^.l t>

 

 

 

 

 

 

CLK-A I Ь

 

 

 

 

 

 

Clear-\ 1 Ь

 

 

 

 

 

 

 

ID

ID

ID

 

ID

И

 

t>Cl

1>C1 .

{>C1

P -

1>С1

t>

 

 

 

M R

R

 

 

 

Si?

Qc

 

QD

Рис. 11.5. Структурная схема 4-битового двунаправленного параллельно загружаемого сдвигового регистра 74194.

I 1.2. Сдвиговый регистр с обратной связью

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

g - + i = / ( Q - Q r , Q r )

(11.4)

QT'

= QT

(11-5

QT^

= QT

(11.6

11.2.Сдвиговый регистр с обратной связью

Единственная степень свободы заключается в выборе функции f{QT^Q2^^QT)- Поэтому для каждого состояния возможно появле­ ние только двух различных последовательных состояний.

Втабл. 11.4 приведена таблица истинности сдвигового регистра

собратной связью и тремя блоками ЗУ, представленного на рис. 11.6.

Влевом столбце представлено содержание D-триггеров в момент времени т. В момент времени т + 1 в первом D-триггере находится значение функции, генерированное логической схемой. Значения Q^^ и Q2^ сдвигаются в оба следующих D-триггера 2 и 3.

m^Qi^.Qn

CLK

Р и с . 11.6. Принципиальная схема сдвигового регистра с обратной связью.

Таблица 11.2. Таблица истинности сдвигового регистра с обратной свя­ зью показанного на рис. 11.6.

\QT

Q^

QT

QT^'

Q-+^

QT"-'

 

0

0

0

/(0,0,0)

0

0

 

0

0

1

/(0,0,1)

0

0

 

0

1

0

/(0,1,0)

0

1

 

0

1

1

/(0,1,1)

0

1

1

1

0

0

/(1,0,0)

1

0

 

1

0

1

/(1,0,1)

1

0

 

1

1

0

/(1,1,0)

1

1

 

1

1

1

/(1,1,1)

1

1

Пусть, например, должна генерироваться следующая последо­ вательность содержаний регистра: 000, 100, 101, 001, 000 и т.д. С последовательного выхода As можно снять последовательность 000100010001. Следовательно, схема может быть применена как де­ литель частоты на 4. Альтернативно, различные сочетания содер-

Глава 11. Сдвиговые регистры

жания регистра можно также интерпретировать как счетные со­ стояния счетчика, который, разумеется, считает с использованием специального кода. На основе этого можно было бы разработать счетчик по модулю 4.

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

Таблица 11.3. Таблица истинности при генерации последовательности: 000, 100, 010, 001, 000.

QT

Q"^

Qr

Qr^'

Q?^'

Q7^'

 

0

0

0

1

0

0

 

1

0

0

0

1

0

 

0

1

0

0

0

1

 

0

0

1

0

0

0

 

и без применения /iTF-диаграммы из этой таблицы можно счи­

тать функцию /(Qf,

Qf,

Qf).

 

 

 

 

M+l

fiQT,QT,Q?)

= -^QT-Qf^Q:

(11.7)

Qt

I 1.2.1. Счетчик Мебиуса, счетчик Джонсона

Одной из часто применяемых форм сдвигового регистра являет­ ся счетчик Мебиуса (счетчик Джонсона). В этом счетчике выход через инвертор соединяется с входом. На рис. 11.7 приведен счет­ чик Джонсона с четырьмя JK-триггерами. Содержание запоминаю­ щих ячеек ЗУ задается таблицей истинности, из которой видно, что генерируются числовые последовательности с восемью различными содержаниями счетчика.

CLK

Рис. 11.7. Счетчик Джонсона, состоящий из четырех JK-триггеров.

11.2. Сдвиговый регистр с обратной

связью

Логическая схема счетчика Джонсона задается следующей фор­ мулой:

л = Ki = f{QT,QT,QT,QT) = ^Q?

(11.8)

При Ji = Ki = О запомненное в триггере значение удерживает­ ся, при Ji =^ Ki = 1 оно инвертируется. Теперь можно составить та­ блицу истинности счетчика Джонсона. Констатируем, что имеются два независимых цикла, в зависимости от того, с какого начального состояния стартует счетчик при включении. Но длина обоих циклов одинакова. При желании запустить определенный цикл необходимо предварительно задать соответствующее исходное состояние.

Таблица 11.4. Таблица истинности счетчика Джонсона, показанного на рис. 11.7.

QT Q? Qf QT QT^' QT^' QT"-' QT'^'l \QT Q?

Qf Qr QT^^ (5^+1 Q3-+1 Qr^'

0

0

0

 

0

1

0

0

0

0

0

 

1

0

1

0

0

1

1

0

0

 

0

1

1

0

0

1

0

 

0

1

0

1

0

0

1

1

0

 

0

1

1

1

0

0

 

1

0

0

1

0

1

0

1

1

1

0

 

1

1

1

1

1

0

 

1

0

1

1

0

1

1

1

1

1

 

0

1

1

1

1

1

0

 

1

0

1

1

0

0

 

1 1 1

0

0

1

1

o i l

 

0

1

0

1

1

0

0

 

1

1

0

0

0

1

1

0

 

1

1

0

1

0

1

0

0

0

 

1

0

0

0

0

0

 

1

0

1

0

0

1

0

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

Рис. 11.8. Диаграмма состояний счетчика

Джонсона, показанного на

рис. 11.7. В кружках стоят QT, Q?,

Qf, Qf.

Глава 11. Сдвиговые

регистры

I 1.2.2. Псевдослучайные последовательности

С помощью сдвигового регистра на последовательном выходе могут генерироваться двоичные числовые последовательности, имеющие такое распределение нулей и единиц, которое почти полностью со­ ответствует случайной двоичной числовой последовательности. Эти числовые последовательности называют псевдослучайными. Псев­ дослучайные последовательности имеют период и поэтому являются детерминированными. Псевдослучайные последовательности гене­ рируются с помощью обратного подсоединения последовательных выходов цепочки сдвигового регистра через дизъюнктивный вен­ тиль (вентиль с функцией «исключающие ИЛИ», exclusive NOR). На рис. 11.9 приведен пример ^\ля п = 7.

=1

 

 

Q2

 

ev

Qy"

 

 

 

 

ID

ID

ID

ID

ID

ID —L_ ID

1>С1

h>Cl

г4>С1

 

Ь>С1

J > C 1

CLK

Рис . 11.9. Сдвиговой регистр для генерации псевдослучайной числовой по­ следовательности.

В зависимости от позиций контура обратной связи на последо­ вательном выходе As появляются последовательности с различной длиной. Особенно интересны варианты соединений обратной свя­ зи, при которых формируются числовые последовательности мак­ симально длинными периодами. Эти числовые последовательности с максимально длинными периодами называют М-последовательно- стями. Только они имеют псевдослучайные свойства. Период Р мак­ симально длинной случайной последовательности, которую можно получить из сдвигового регистра с длиной п-бит, составляет:

Р = 2^ - 1

(11.9)

В процессе генерации псевдослучайных последовательностей це­ почка сдвигового регистра содержит все возможные двоичные чи­ сла, за исключением 0. Состояние О стабильно, но вследствие этого данное состояние не может выступать в качестве начального со-

11.2. Сдвиговый регистр с обратной

связью

стояния. Поэтому этого псевдослучайные последовательности обла­ дают свойством, которое заключается в том, что за период 1 по­ является более часто, чем 0. Нули и единицы распределены нерав­ номерно. Что является отклонением от идеальной случайной после­ довательности. Несмотря на это псевдослучайные последовательно­ сти хорошо подходят для тестирования информационных каналов. В табл. 11.5 приведены варианты наборов с различным числом кон­ туров обратной связи для количества каскадов п = 8. Максимально длинная псевдослучайная последовательность содержит все двоич­ ные числа, соответствующие длине п, за исключением числа 0. Чи­ сло О не должно появляться, так как оно при любом выборе положе­ ния контура обратной связи приводит в то же самое состояние.

Таблица 11.5. Количество контуров обратной связи при формировании псевдослучайных последовательностей («-» — нет обрат­ ной связи, X — обратная связь).

 

 

 

Обратная связь

 

 

 

п

1

2

3

4

5

6

7

8

периоды

2

X

X

 

 

 

 

 

 

3

3

-

X

X

 

 

 

 

 

7

4

-

-

X

X

 

 

 

 

15

5

-

-

X

~

X

 

 

 

31

6

-

-

-

-

X

X

 

 

63

7

-

-

-

X

-

-

X

 

127

8

-

-

-

X

X

X

-

X

255

На рис. 11.10 приведен пример генерации псевдослучайной по­ следовательности при п = 3. Сформированная последовательность может быть получена из таблицы последовательности состояний.

=1

 

0"

0"

A.

ID

ID

ID

 

Н>С1

t>Cl

t>Cl

 

CLK

Рис. 11.10. Сдвиговой регистр для генерации максимально длинной псев­ дослучайной последовательности при п = 3.

Глава 11. Сдвиговые регистры

На последовательном выходе Ag сдвигового регистра, получаем последовательность: 1 1 1 0 0 10. Предварительное условие заключа­ ется в том, чтобы начальное содержимое сдвигового регистра со­ ставляло 1 1 1 .

I 1.3. Упражнения

Задача 11.1. Сконструируйте цепочку сдвигового регистра из D- триггеров, которая выдает на последовательном выходе последова­ тельность:

0 10 0 1 1 и т.д.

Сколько D-триггеров вам понадобится?

Задача 11.2. Укажите псевдослучайную последовательность, вы­ даваемую сдвиговым регистром с четырьмя триггерами. Контуры обратной связи должны быть проложены таким образом, чтобы по­ следовательность была максимально длинной.

Задача 11.3. Проанализируйте показанный ниже сдвиговый ре­ гистр с обратной связью, содержащий JK-триггер и 2 D-триггера.

а) составьте запускающую функцию Es = f{QT^Q^->Q^) Д-^^ первого триггера.

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

в) начертите диаграмму состояний.

CLK

ГЛАВА 12

АРИФМЕТИЧЕСКИЕ УСТРОЙСТВА

12.1.Полный сумматор

вглаве 3 уже было приведено определение операции сложения двух двоичных чисел с учетом переноса. Логическая схема, которая про­ изводит это сложение, называется полным сумматором. Перенос из предыдущего разряда и оба слагаемых суммируются, после чего вы­ даются сумма и перенос к следующему разряду. Полный сумматор выполняет переключательные функции д^ля суммирующего выхода Fi и перенос (carty) к следующей ступени Сг+ь

Fi = -^ Сг-^ Xiyi V -^ CiXi-^ Уг V С-п ^i"^ yi V CiXiyi = Xi Ф yi iW Ci

(12.1)

Ci+1 = ХгУг V Ci {Xi V yi)

(12.2)

Полному сумматору для выполнения сложения необходимо вре­ мя, равное утроенному времени задержки вентиля tp^ t^^ = 3tp. Для переноса берутся в расчет два времени задержки: t^ 2tp.

с,

 

S

CI

СО

Xi

Р

 

у. __

Q

i; • F.

Рис . 12.1. Логический символ полного сумматора, действующего в соот­ ветствии с уравнениями (12.1) и (12.2).

12.2. Последовательный сумматор

Если должны быть просуммированы двоичные, например, четы­ рех разрядные числа, то в этом случае слагаемые могут быть под­ ведены к полному сумматору (full adder) с помощью двух сдвиговых регистров. Перенос промежуточно запоминается в ЗУ. После этого результат находится в сдвиговом регистре, соответствующем чи­ слу X. Суммирование проводится при каждом тактовом импульсе С.

Время, требуемое для сложения двух т-позиционных двоичных чисел составляет ттг-кратную величину по отношению ко времени, которое требуется для сложения чисел полному сумматору t^ = тШр.

2 7 0 Глава 12. Арифметические

устройства

Р и с . 12.2. Последовательный сумматор для m разрядов. Осуществляется г-тый шаг.

12.3.Сумматор с последовательным переносом (ripple-carry-adder)

Из т сумматоров можно сконструировать суммирующее устрой­ ство для двух т-разрядных двоичных чисел, подсоединив выход пе­ реноса к входу переноса следующего полного сумматора (рис. 12.3).

Со Хо Уо

сх xi у1

сг Х2 уг

сз хз Уз

Рис . 12.3. Сумматор с последовательным переносом для 4 бит

Как велико время выполнения суммирования двух т-разрядных чисел? На перенос Ci требуется только две задержки, поскольку для расчета переноса не нужен инвертор. Итак, суммарное время переноса Cm составляет:

бтг ZiJlhL'p (12.3)

{tu -^ и bergang = перенос)

Последний бит, вычисляемый суммы, который устанавливается, называется самый значимый бит (most significant bit (MSB)). Кон­ статируем, что для операции суммирования требуется умноженное

12.4- Сумматор с параллельным переносом

на ( т — 1) время д^ля подсчета переноса плюс время для подсчета самого значимого бита Fm-i- MSB суммы Fm-i справедливо для времени задержки:

ts = (2 (m - 1) + 3) tp = (2m + 1) tp

(12.4)

Это очень большое время выполнения суммирования. Если вы­ брать для реализации двухкаскадный драйвер (с инверторами), по­ лучим оптимальное время суммирования 3tp. Но следует учитывать, что таблица истинности при сложении двух 8-позиционных двоичных чи­ сел имеет длину 2^"^ = 131072 строк (8бит + 8бит + 1бит(Со) = 17). Реализация подобной логической схемы привела бы к чрезмерным схемным затратам.

12.4. Сумматор с параллельным переносом

Компромисс между схемотехническими затратами и временем за­ держки представляет сумматор с опережением переноса (carry-look- ahead adder). Он образован схемой, состоящей из упрощенных одно­ разрядных сумматоров, которые не содержат схемы ^ля формирова­ ния перехода. Разумеется, перенос для отдельных полных суммато­ ров осуществляется с помощью дополнительной логической схемы. На основе многократного применения уравнения (12.2) для отдель­ ных переносов получаем:

С1 = хоуо у Со {хо V уо) == ^0 V соро

 

(12.5)

^0

РО

 

 

 

С2 = xiyi Vci {xi V yi)

= giW cipi = gi\/

gopi V copopi

(12.6)

91

Pi

 

 

 

C3 = Х2У2 VC2 {X2 V У2) =

^2 V C2P2 =

 

 

=92 V giP2 V gopiP2 V copopiP2

 

(12.7)

C4 = Хзуз

VC3 (X3 V Уз) = ^3 V СзРз

=

 

93

 

рз

 

 

= дз V д2Рз V giP2P3 V доР1Р2РзУ coPoPiP2P3^

(12.8)

р