-
Seimur
-
Автор темы
-
Не в сети
-
Новый участник
-
-
Сообщений: 4
-
Спасибо получено: 0
-
-
|
Здравствуйте, мне необходимо реализовать счетчик (таймер), который делит сигнал допустим на 20 и тактовая частота 1МГц.
Если использовать LPM_COUNTER и контролировать 4й разряд, то получим импульс длительностью 4мкс и периодом 20мкс.
Как можно сделать, чтоб после 20 мкс выход счетчика поднялся в "1"?
Я полагаю, что можно использовать тот же LPM_COUNTER с коэфф 20 и после падения шины в "0" поднять в "1" выход модуля (с помощью negedge)
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
umarsohod
-
-
Не в сети
-
Администрация форума
-
-
Сообщений: 816
-
Спасибо получено: 168
-
-
|
На выходе что нужно?
Если меандр, то делите сначала на 10, потом на 2.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Seimur
-
Автор темы
-
Не в сети
-
Новый участник
-
-
Сообщений: 4
-
Спасибо получено: 0
-
-
|
На выходе мне нужно вот такую картину получить
Но пока хотя бы любую другую задержку. При делении на 10. получается импульс с длительностью 2мкс и периодом 10 мкс.
Как я понял из работы этого делителя: мы считываем старший бит, когда там появляется "1" - вывод дергаем в "1", но в первые она появляется именно при 8мкс.
Может быть я что-то не так делаю. Этот модуль надо подключать к генератору pll и он нормально будет делить?
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Falcon
-
-
Не в сети
-
Осваиваюсь на форуме
-
-
Сообщений: 31
-
Спасибо получено: 8
-
-
|
Проще всего сделать 5 таймеров которые будут запускаться друг за другом.
Где то так:
begin
if (count_1 != 2'd3) begin count_1 <= count_1 + 1'd1; impuls <= 0; end
else
if (count_2 != 4'd5) begin count_2 <= count_2 + 1'd1; impuls <= 1; end
else
................
else begin count_1 <= 0; count_2 <= 0; ............. end
end
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Seimur
-
Автор темы
-
Не в сети
-
Новый участник
-
-
Сообщений: 4
-
Спасибо получено: 0
-
-
|
Спасибо, я так понимаю счет идет с тактовой частотой?
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Falcon
-
-
Не в сети
-
Осваиваюсь на форуме
-
-
Сообщений: 31
-
Спасибо получено: 8
-
-
|
Да.
Но если сделать так:
begin
if (count_enable = 7'd99) count_enable <= 0;
else count_enable <= count_enable + 1'd1;
end
assign enable = (count_enable = 7'd99);
begin
if (enable) begin
...........
end
end
То будет со скорость clk/100
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
-
Seimur
-
Автор темы
-
Не в сети
-
Новый участник
-
-
Сообщений: 4
-
Спасибо получено: 0
-
-
|
Понял спасибо. Дальше буду разбираться
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
Время создания страницы: 0.133 секунд