PoC.arith.counter_free

Implements a free-running counter that generates a strobe signal every DIVIDER-th cycle the increment input was asserted. There is deliberately no output or specification of the counter value so as to allow an implementation to optimize as much as possible.

The implementation guarantees a strobe output directly from a register. It is asserted exactly for one clock after DIVIDER cycles of an asserted increment input have been observed.

Entity Declaration:

 1use      work.utils.all;
 2
 3entity arith_counter_free is
 4  generic (
 5    DIVIDER : positive
 6  );
 7  port (
 8    -- Global Control
 9    clk : in  std_logic;
10    rst : in  std_logic;
11
12    inc : in  std_logic;