- •1.Регистры
- •2. Счетчики
- •2.1 Классификация счетчиков
- •Двоичные счетчики
- •Последовательные (асинхронные счетчики)
- •2.3. Параллельные счетчики
- •2.4.Синтез двоичного реверсивного счетчика
- •2.5. Счетчик с асинхронной загрузкой параллельного кода
- •Описание 8-битного реверсивного счетчика на Verilog
- •Построение счетчика с заданным модулем счета
- •Описание счетчика на Verilog
- •Описание счетчика с модулем счета 5 на Verilog
- •3. Сдвигающие регистры
- •3.4.Сдвигающие регистры, реализованные в виде ис средней степени интеграции
- •Режимы работы сдвигающего регистра определяются комбинацией значений на управляющих входах микросхемы s1, s0. (Таб. 11 )
- •3.5.Устройство быстрого сдвига
- •4. Счетчики на сдвигающих регистраx
- •4.1 Кольцевые счетчики (Ring Counters)
- •4.2. Счетчик Джонсона
- •Полиномиальные счетчики
- •4.3.1. Некоторые определения и понятия из высшей алгебры
- •4.4. Генератор элементов поля Галуа (Galois lfsr)
- •4.8. Сравнение lfsr
- •1.Описание lfsr Галуа на Verilog
- •2. Описание lfsr Fibonacci на Verilog
- •4.9. Загрузка начального состояния в lfsr
2.4.Синтез двоичного реверсивного счетчика
Построение счетчика с модулем счета 8 методом синтеза конечных автоматов.
Счетчик имеет управляющий вход x. При x=1 счетчик считает в прямом направлении, при x=0 – в обратном направлении. Иначе говоря , вход x – UP/DOWN вход.
Счетчик строится на основе T триггеров.
1
.
Построение графа автомата.
Рис.16
2. Построение структурной таблицы переходов
Таб.6
Present State |
Input |
Next State |
Excitation functions |
q2 q1 q0 |
x |
q2 q1 q0 |
t2 t1 t0 |
0 0 0 |
0 1 |
1 1 1 0 0 1 |
1 1 1 0 0 1 |
0 0 1 |
0 1 |
0 0 0 0 1 0 |
0 0 1 0 1 1 |
0 1 0 |
0 1 |
0 0 1 0 1 1 |
0 1 1 0 0 1 |
0 1 1 |
0 1 |
0 1 0 1 0 0 |
0 0 1 1 1 1 |
1 0 0 |
0 1 |
0 1 1 1 0 1 |
1 1 1 0 0 1 |
1 0 1 |
0 1 |
1 0 0 1 1 0 |
0 0 1 0 1 1 |
1 1 0 |
0 1 |
1 0 1 1 1 1 |
0 1 1 0 0 1 |
1 1 1 |
0 1 |
1 1 0 0 0 0 |
0 0 1 1 1 1 |
М
инимизация
функций возбуждения
Рис.17
t
0
=1;
t1
= q0
x
+ q0x;
t2
= q0q1x
+ q0q1x
= (q0
+ q1)x
+ (q0
+ q1
)x ;
4. Построение схемы счетчика на логических элементах и мультиплексорах
Рис.18
2.5. Счетчик с асинхронной загрузкой параллельного кода
Многие счетчики являются предустанавливяаемыми, то есть имеют возможность для параллельного ввода (параллельной загрузки) входного кода.
Схема счетчика с параллельной асинхронной установкой приведена на рис. 19.
Рис.19
Входы асинхронной установки (S) и сброса (R) доминируют над информационными входами J, K. Влияние входа CLK будет блокировано, пока на входе Load низкий уровень. Как только на входе Load установится высокий уровень, триггеры смогут реагировать на сигналы на входах J и K.
Описание данного счетчика на Verilog
Load – инверсный вход асинхронной установки
module counter (q, data, load, clock);
parameter n= 8;
input load, clock;
input [n -1:0]data;
output [n -1:0] q;
reg [n -1:0] q;
always @(negedge clock or negedge load)
if (!load)
q <= data;
else q<=q+1;
endmodule
2.5. Счетчик с синхронной загрузкой параллельного кода
В некоторых случаях удобнее использовать синхронную загрузку входного кода.
Схема счетчика с синхронной загрузкой и асинхронным сбросом представлена на рис.20
Рис.20
