-
aus
-
Автор темы
-
Не в сети
-
Новый участник
-
-
Сообщений: 9
-
Спасибо получено: 0
-
-
|
Здравствуйте, подскажите как реализовать задержку?
module Delay123 (
input logic clk,
input logic in,
input logic set,
output logic out
);
logic [9:0] cnt;
always @(posedge clk) begin
if (set) begin
if (cnt == 640) out <= in;
else begin
out <= 0;
cnt <= cnt + 1;
end
end
else cnt <= 0;
end
endmodule
До прихода входного сигнала выход находится в "0", как пришел сигнал "set" отсчитывается 20 мкс и входной сигнал идет на выход. Как сделать так, чтобы счетчик считал 20 мкс по переднему фронту импульса "set" в независимости от его длительности? То есть сброс и начало отсчета только по переднему фронту. Писал "set" в чувствительность блока, но на выходе нули.
п.с. прошу прощения не там создал тему
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Последнее редактирование: от aus.
|
-
nckm
-
-
Не в сети
-
Администрация форума
-
-
Сообщений: 112
-
Спасибо получено: 34
-
-
-
-
-
|
строго говоря так как вы хотите и сделать то нельзя.
внутри плис можно иметь свой генератор, но он асинхронный к приходящему сигналу set.
поэтому от фронта сигнала можно отсчитать некоторый интервал с помощью счетчика, но начало счета будет плавать по фазе относительно асинхронно приходящего сигнала set.
|
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
|
Время создания страницы: 0.106 секунд