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

КЛЕВО_FPGA

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

Глава 10. Цифровые

счетчики

повременно. В каждый тактовый период запомненные в регистрах состояния воспроизводятся из старых состояний в логической схеме.

Конструирование синхронного счетчика может быть произведе­ но описанными в главе 8 методами. В дальнейшем будут предста­ влены два примера.

10.2.1. 4-битовый двоичный счетчик

Постановка задачи.

Должен быть сконструирован 4-битовый двоичный счетчик, со­ держащий четыре JK-триггера. Он должен выдавать сигнал перено­ са С^ при переключении из положения 1111 в положение 0000. Снача­ ла сформируем таблицу последовательности состояний (табл. 10.1).

Таблица 10.1. Таблица последовательностей состояний 4-битового двоич­ ного счетчика.

\/^т

глт глт

глт

Q-+1 Q^+1

дГ"^' Qo^'.

L^m глт

глт

/^т дж+1 gm+ 1

QT'^' Qo^^'

V3

42

41

40

\Ч!з

42

41

 

40

 

 

! 0

0

 

0

0

0

0

0

1

1 1

0

0

 

0

1

0

0

1

0

0

 

0

1

0

0

1

0

1

0

0

 

1

1

0

1

0

0

0

 

1

0

0

0

1

1

1 1

0

1

 

0

1

0

1

1

0

0

 

1

1

0

1

0

0

1

0

 

1

1

1

1

0

0

0

1

0

 

0

0

1

0

1

1

1

0

 

0

1

1

0

1

0

1

0

 

1

0

1

1

0

1

1

0

 

1

1

1

1

0

0

 

1

1

0

0

1

1

1

1

1

1

0

 

1

1

1

1

0

 

1

1

1

1

0

0

0

1

1

1

1

 

0

0

0

0

Затем на основе таблицы последовательности состояний должны быть разработаны уравнения запуска для четырех JK-триггеров. Для этого вновь используем табл. 8.4, в которой зафиксированы урав­ нения запуска для обеспечения перехода от одного состояния к сле­ дующему состоянию. Получим четыре KB-диаграммы (рис. 10.9), в которые внесем пары значений функций JiKi.

Можно сформулировать следующие уравнения запуска JK-триг­ геров:

 

(10.2)

Ji — Ki — Q^

(10.3)

 

(10.4)

Jz = K^ = Qlo^QTQT

(10.5)

10.2. Синхронные счетчики 253

Уз^з

 

е."

 

J2K2

 

 

 

 

 

 

 

 

 

Qi"

 

 

 

 

 

 

 

 

 

 

 

fod'

Od

dO

dO

 

rbd •

dO

do

Od

 

Od

Od

dO

dO

 

Od

dO

dO

Od

 

Od

Id

dl

dO

\Qo'

Id

dl

dl

Id

[Qo"

 

 

ег Od Od dO dO

Qr I Od dO dO Od

Qi"

02"

JiKi

JQ^O

 

Qi"

or

 

rod

Od

Od

Od

 

rTd~

Id

Id

Id

 

Id

Id

Id

Id

 

dl

dl

dl

Id j

Qr \

dl

dl

dl

dl

Qr I

dl

dl

dl

Id 1 \QO^

do

dO

dO

do

Id

Id

Id

Id

 

 

 

 

62"

 

 

 

 

Qi"

 

 

Р и с . 10.9. KB-диаграмма для функций запуска JK-триггеров

 

Для того, чтобы выявить систематику, уравнения были выведе­ ны с помощью KB-диаграммы. Но эти уравнения можно также запи­ сать напрямую, если выявить из таблицы истинности, что триггер изменяет состояние, когда на выходах всех предшествующих триг­ геров находится 1.

В таблице перенос С4 не приведен. Он рассчитывается аналогич­ но на основе указанного выше рассуждения по формуле:

С4 = QfQ^QTQ'i

(10.6)

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

Глава 10. Цифровые счетчики

Qi

Q^

&l

ни

 

u

&

и

&

HlJ

 

 

 

•<j>Cl

 

<i>ci

 

 

 

-<|>C1

JlK

P-

IK

 

IK

 

JlK

 

 

|R

 

|R

 

-JR

RST^

CLK^

Рис. 10.10. Структурная схема синхронного 4-битового двоичного счетчика

10.2.2.Счетчик по модулю 6 с использованием кода Грея

Вкачестве примера рассмотрим конструирование счетчика по мо­ дулю 6 с использованием кода Грея. Необходимо сосчитать 6 чисел, передаваемых с помощью кода Грея, и при самом высоком результа­ те счета произвести перенос. Используем в счетчике три D-тригге- ра. Начнем с формирования таблицы последовательности состояний (табл. 10.2). Для этого сформируем циклический код Грея с 6 состо­ яниями. При самом высоком результате счета, равном 100, сигнал переноса СЦ будет равен 1.

На основе таблицы последовательности состояний можно соста­ вить KB-диаграммы для трех D-триггеров:

Таблица 10.2. Таблица последовательности состояний счетчика по модулю 6 с использованием кода Грея.

QT

QT

Q^

Q-+1

Qr+'

Q^S"^'

Сц

0

0

0

0

0

1

0

0

0

1

0

1

1

0

0

1

0

0

1

0

0

0

1

1

1

1

0

0

1

0

0

1

0

0

0

1

0

1

0

0

0

1

1

1

0

d

d

d

0

1

1

1

d

d

d

0

 

 

 

 

 

10.2. Синхронные счетчики 255

Из этого получим функции запуска D-триггеров:

 

 

 

 

 

D2 = Q r ^ = QT-Qo

 

 

 

(10.7)

 

 

 

 

 

 

 

 

 

 

(10.8)

 

 

 

 

 

 

 

 

 

 

(10.9)

Пг^Ог"

 

 

D,=Q'

 

 

 

 

Do=Qo'

 

 

Q2

 

 

 

Ог

 

 

 

 

QT

1

1

 

бо" 1 1

1

 

 

 

1

d

 

Q<r

d

d

1

d

<i

fio"

1

<i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

^

ег

Рис. 10.11.

• ^

.

• - *

 

er

er

KB-диаграммы для запуска D-триггеров счетчика по модулю 6 для сигналов с использованием кода Грея

А^ля функции D\ термы типа don't care всегда интерпретируют­ ся как 1, в то время как все другие термы don't care устанавлива­ ются равным 0. Поэтому при следующем такте счетчик выходит из неиспользуемых состояний в состояние 010. Перенос Сц может быть

задан без KB-диаграммы

 

Си = ^Q'S^^QTQ?

(10.10)

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

 

йо"

 

 

 

дГ

 

62"

Do,

в^^}

 

^1

Di

 

^.

 

ID

 

&

ID

 

ID

 

|-|>С1

-.Q"

 

 

р-п.е"

Н>С1

^Qi"

 

 

 

 

 

 

 

 

 

 

 

 

 

 

& Не*

CLK.

Рис. 10.12. Схема счетчика по модулю б с использованием кода Грея

256 Глава 10. Цифровые счетчики

Рис. 10.13. Диаграмма состояний счет­ чика по модулю 6, использу­ ющего код Грея

10.2.3.Синхронный 4-битовый реверсивный двоичный счетчик 74191

74191

CTRDIV16

 

G1

 

 

 

 

D/^U

M2[Down] 2(CT=0)Z6

 

 

MAX/MIN

 

M3[UP]

3(CT=15)Z6 tr

 

CLK

1,2-/1,3+

 

 

 

 

^LOAD .

C5

^'^'^

 

 

nRCO

 

 

 

xo

5D

[1]

 

 

Qo

^1

 

[2]

I

Qi

 

 

 

 

 

X2

 

[3]

 

 

 

 

 

 

 

 

^3

 

[4]

I

 

23

 

 

 

 

 

Рис. 10.14. Логический символ 4-битового реверсивного двоичного счет­ чика 74191

В ЭТОМ параграфе представлен 4-битовый реверсивный двоичный счетчик (forward-backword counter). Данная схема типична для это­ го типа счетчиков. Логический символ показан на рис. 10.14.

Обозначение CTRDIV16 (counter dividing by 16) показывает, что счетчик считает до 16. С помощью сигнала -^CTEN (counter enable) счетчик активируется. С помощью D/^И направление счета может быть переключено с прямого на обратное.

10.3. Упраэюнения

С появлением каждого нарастающего фронта тактового сигнала CLK счет продолжается. На логическом символе приведены значки 1, 2— и 1, 3-h. Это означает, что тактовый сигнал связан с контактом ^CTEN (на котором стоит GI) функцией И. Имеется переключение режима работы (зависимость от моды М), в соответствии с кото­ рым М2 определено д^ля счета в обратном направлении с входами DI-И. Кроме того, инвертированный тактовый сигнал привязан к контакту -^RCO через функцию И, что отмечено обозначением G4.

Выход MAX/MIN имеет различные функции при прямом счете (цифра 3) и обратном счете (цифра 2). Итак, вновь имеем зави­ симость от М. При обратном счете выход MAX/MIN переходит в состояние 1, если состояние счетчика соответствует О, это обозна­ чается через СТ == 0.

Соответственно при прямом счете максимальное состояние счет­ чика обозначается СТ = 15. Выход MAX/MIN соединен, кроме то­ го, Z-зависимостью (Z6) с выходом MAX/MIN, если одновременно тактовый сигнал CLK = О (из-за G4) и на контакте — CTEN — О (из-за 04). Это установлено последовательностью цифр 6, 1, 4 на контакте -^RCO^ которая определяет зависимость Z и обе зависимо­ сти G. Из этого следует, что -^RCO является синхронным выходом, в то время как выход MAX/MIN работает асинхронно. Счетчик мо­ жет быть загружен параллельно через входы (д:з,^2,^ь^о) = 1000, счетчик будет подсчитывать 7 ступеней до 1111. После этого он выдает сигнал переноса ^ЯСО = 0. Если связать этот выход с ->LOAD^ счетчик будет загружен до состояния 1000 и цикл начнется снова.

Очевидно, что счетчик может быть использован как делитель частоты на 16, так как он выдает при непрерывном счете через каждые 16 тактовых импульсов сигнал переноса -iRCO.

10.3. Упражнения

Задача 10.1. Сконструируйте асинхронный обратный счетчик, кото­ рый пробегает последовательность 000, 111, 110, 101, 100, 011, 000 и т.д.

Задача 10.2. Сконструируйте двоичный счетчик, который при У = 1 в прямом направлении просчитывает последовательность 000, 001, 010, 011, 100, 000. При F = О счетчик должен считывать ту же после­ довательность в обратном направлении. Используйте 3 D-триггера.

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

ГЛАВА 11

СДВИГОВЫЕ

РЕГИСТРЫ

Сдвиговые регистры состоят из цепочки триггеров, в которых пе­ редача информации осуществляется как в «пожарной цепочке» ПЗС (bucket-brigade). Они могут быть построены, например, из D-триг- геров или из JK-триггеров. На рис. 11.1 показан пример регистра с четырьмя JK-триггерами. Для того, чтобы информация передава­ лась одновременно по всей цепочке, применяются триггеры с упра­ влением фронтом.

 

 

 

Qi

 

 

02

 

Q3

 

Q4

Ess

J\

и

Ji

IJ

 

и

JA

IJ

As

 

/^>C1

 

>C1

 

 

>C1

 

>C1

 

 

 

IK

 

 

 

IK

!p -

 

Kx

IK

P Кг

p

Къ

IK

p KA

CLK

(1

 

\

 

(

 

 

 

 

Рис . 11.1. Цепочка сдвигового регистра из четырех JK-триггеров.

Представленный сдвиговый регистр имеет последовательный вход Es и последовательный выход Ag. Параллельные выходы обозначе­ ны как Qi, Функция этого сдвигового регистра со сдвигом вправо описывается следующими уравнениями:

gm+l ^

(11Д)

gm+1 ^

gm ^ прИ О < i < 4

(11.2)

ЛГ-Qr

(11.3)

Сдвиговые регистры находят универсальное применение в цен­ тральных процессорах (CPU) компьютеров при проведении опера­ ций умножения и деления. Они также применяются ^[^ля последова­ тельно-параллельного и параллельно-последовательного преобразо­ ваний кодов. Кроме того, они служат как ЗУ на основе «пожарных цепочек» (first-in first-out, FIFO, обратного магазинного типа).

11.1. Временные характеристики сдвиговых регистров

Сдвиговые регистры могут обладать следующими свойствами:

способностью переключения между сдвигом влево и сдвигом вправо

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

наличием параллельных выходов

наличием последовательных входов и выходов

11.1.Временные характеристики сдвиговых регистров

Втом случае, если применяется триггер с малым расстоянием меж­ ду действующим интервалом и интервалом переброса, проблематич­ ным становится появление тактового фазового сдвига (clock skew). Подобные регистры образуются, в частности, при использовании буферных триггеров. Фазовый тактовый сдвиг может привести к тому, что при одном тактовом импульсе информация передается на многие ступени либо теряется. Это является следствием перекры­ тия действующего интервала и интервала переброса из-за влияния тактового фазового сдвига.

Рассмотрим этот случай на примере регистра, состоящего из двух управляемых одним фронтом буферных D-триггеров (рис. 11.2). Вто­ рой D-триггер будет запускаться с тактовым фазовым сдвигом to.

Es

Dx

IFi

\QxJ>i

As

 

 

IJJ

 

 

 

 

>C1

p-

 

 

 

 

 

("тк

,

tA

 

 

Р и с . 11.2. Сдвиговый

регистр

с D-триггерами

управляемыми передним

фронтом.

 

 

 

На рис. 11.3 а показаны соотношения без тактового сдвига (^о = 0)- Действующие интервалы и интервалы переброса обоих триггеров занимают одни и те же интервалы времени. Как следует из рисунка, информация правильно передается от одного триггера к следующему.

На рис. 11.3 b тактовый сигнал второго триггера задержан от­ носительно первого триггера на ^о- Вследствие этого действующий

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

регистры

интервал второго триггера W2 сдвигается в интервал переброса первого триггера К1 поэтому, то что запоминается во втором триг­ гере, полностью зависит от случая.

CLK

л

"V

г \

г л

 

 

 

 

/?>

У W1

л.

W1

_ш_

 

 

 

 

е.А

| ^ ^ К 2

иш

Рис . 11.3 а. Временная диаграмма сдвигового регистра, показанного на рис. 11.2, без тактового сдвига (fo = 0).

При несколько большем сдвиге to на выходе Q^ второго тригге­ ра появится тот же выходной сигнал, что и на выходе Q\ первого триггера. Теперь бит «переваливается» без запоминания через вто­ рой триггер.

CLK

 

J

"V

•f

"V

f л

 

 

 

 

 

 

D.

/

Щ1

\_

Wl

 

 

 

 

 

шг

X^^Ki

 

QxPi

 

^ ^ ^

W2

 

 

 

— W2

W2

_

\ ^ K 2

 

 

 

 

\ ^ K 2

Qi

 

 

 

...

 

Рис. 11.3 b . Временная диаграмма цепочки сдвигового регистра, показан­ ной на рис. 11.2, при наличии тактового сдвига (^о = 0).

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

11.1. Временные характеристики сдвиговых регистров

НИИ триггеров с двумя фронтами можно иметь тактовый сдвиг до половины тактового периода.

I 1.1.1. Сдвиговый регистр 74194

В качестве примера 4-битового сдвигового регистра на рис. 11.4 представлен сдвиговый регистр 74194. Он представляет собой упра­ вляемый фронтом сдвиговый регистр с многими рабочими состоя­ ниями, которые устанавливаются сигналами S'o и Si (табл. 11.1). Ра­ бочие состояния описываются в логическом символе зависимостью от режима.

74194

SRG4

 

 

О

 

R

3

CLK

 

1>С4

 

ESR

1,4D

QA

А

3,4D

 

В

3,4D

QB

С

3,4D

V-Qc

D

3,4D

-QD

 

2,4D

ESL

 

Рис. 11.4. Логический символ 4-битового двунаправленного параллельно загружаемого сдвигового регистра 74194.

Таблица 11.1. Режимы работы сдвигового регистра 74194.

Режим работы

So

5i

CLK

EsR

EsL

A

В

С

D

QA

QB

Qc

QD

Параллельная

1

1

t

d

d

A В С D A В С D

загрузка

 

 

 

 

 

 

 

 

 

 

 

 

 

Сдвиг вправо

0

1

 

d

1

d

d

d

d

1

QA

QB

QC

 

 

 

t

d

0

d

d

d

d

0

QA

QB

QC

Сдвиг влево

1

0

1

d

d

d

d

d

QB

Qc

QD

1

 

 

 

t

0

d

d d d d QB Qc QD

0

Гашение такта

0

0

d

d

d

d

d

d

d

QA

QB

Qc

QD

Сдвиговый регистр загружается параллельно через входы А, 5 , С, D. Для So = 1 ж Si = 1 в логическом символе использована