Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
register_counters.doc
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
994 Кб
Скачать
☆

Описание счетчика на Verilog

Load – инверсный вход синхронной загрузки, reset –инверсный вход асинхронного сброса счетчика.

module counter (q, data, load, reset, clock);

parameter n= 8;

input load, reset, clock;

input [n -1:0]data;

output [n -1:0] q;

reg [n -1:0] q;

always @(negedge clock or negedge reset)

if(!reset) q=8’b0;

else if (!load)

q <= data;

else q<=q+1;

endmodule

Описание 8-битного реверсивного счетчика на Verilog

Вход direction – направление счета.

Direction=0 – прямой счет, direction=1 – обратный счет.

Инверсный вход Load –вход синхронной загрузки.

Инверсный вход Reset –вход асинхронного сброса.

Восьмибитный вход data – вход данных.

module up_down_counter (q, data, load, reset, clock,direction);

input load, reset, clock, direction;

input [7 : 0] data;

output [7 :0] q;

reg [7 : 0] q;

always @(negedge clock or negedge reset)

if(!reset) q=8’b0;

else if (!load)

q <= data;

else if (direction) q<=q+1;

else q=q-1;

endmodule

Декодирование состояний двоичного счетчика (слайды)

Построение счетчика с заданным модулем счета

Счетчик с модулем 5

Число триггеров, требующихся для построения схемы счетчика равно log2 5=3.

Таблица состояний счетчика имеет следующий вид (Таб.7)

Taб.7

q2 q1 q0

q0, q1, q2,– выходы триггеров

t0, t1, t2 - входы триггеров

После состояния 100 следует состояние 000

t0, t1 и t2 определены по картам Карно.

t2 t1 t0

0 0 0

0 0 1

0 0 1

0 1 1

0 1 0

0 0 1

0 1 1

1 1 1

1 0 0

1 0 0

q1

q1

q1q0

q1q0

00

01

11

10

q2

00

01

11

10

q2

t2

t1

0

1

0

1

1

1

q2

1

-

-

-

1

q2

-

-

-

q0

q0

t0

Рис.21

t 1 = q2 + q0q1; t2 = q0; t0 = q0q2 = q0 + q2

Схема счетчика приведена на рис.22

q2

Рис. 22

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

0,1,2,3,4,0,1,…

После появления на выходе состояния 100 в счетчик загружается 0.

Схема такого счетчика приведена на рис. 23.

Reset

Рис.23

Временная диаграмма работы счетчика с модулем счета 5 с синхронной загрузкой.

Рис.24

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

Схема приведена на рис. 25.

Рис.25

Временная диаграмма работы счетчика с модулем счета 5 с асинхронной загрузкой или асинхронным сбросом.

CLK

q0

q1

q2

11

12

0

1

2

3

4

5

6

7

8

9

10

Рис.25

Как видно из временной диаграммы, после того, как счетчик попет в состояние 100, на вход Reset счетика поступает сигнал низкого уровня. Этот сигнал является кратковременным, так при переходе счетчика в состояние 0 на выходе NAND появляется сигнал “1’.

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

Схема с использованием синхронной загрузки (или сброса), имеет очевидное преимущество перед схемой с асинхронной загрузкой (сбросом).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]