как реализовать функцию параметризованного таймера - PullRequest
0 голосов
/ 24 июня 2019

Таймер может рассчитывать два разных временных интервала на основе входов триггера. Вы можете рассчитывать на более короткий интервал времени и более длительный интервал времени. Эти временные интервалы параметризованы.

lk (1 bit)

reset(1 bit)

trS (1 bit) - trigger signal to start counting for svalue cycles

trL (1 bit) - trigger signal to start counting for lvalue cycles

tL (1 bit) - signal indicating expiration of a time interval of lvalue cycles

tS (1 bit) - signal indicating expiration of a time interval of svalue cycles
  1. "svalue" и "lvalue" - входные параметры; Они определяют более короткие и длинные временные интервалы соответственно.

  2. Входные сигналы "trS" и "trL" не могут быть одновременно высокими.

  3. Выходные сигналы "tS" и "tL" не могут быть активными одновременно.

Время срабатывания таймера:

  1. trL = 1, trS = 0: сделать tL = 1 после lvalue циклов.

  2. trL = 0, trS = 1: сделать tS = 1 после циклов значений.

  3. trL = 0, trS = 0: без изменений.

Синхронизация таймера для значений svalue = 2 цикла и lvalue = 5 циклов

Я знаю, как спроектировать базовый таймер, но не уверен, как это сделать?

module timer(clk,reset, trL, trS, tL, tS);
input clk, reset, trL, trS;
output tL, tS;

parameter svalue = 2;
parameter lvalue = 5;
...