КЛЕВО_FPGA
.pdfГлава 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 |
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 тактовый сигнал второго триггера задержан от носительно первого триггера на ^о- Вследствие этого действующий