Altera_Forum
Honored Contributor
11 years agoAsynchronous Ripple-Counter without compiler warning?
Hi there,
I needed an asynchronous counter to count the frequencies of ring oscillators. So I built a ripple-counter by concatenating T-type (toggle) flip-flops. Everytime the input "clock" of such a flip-flop changes, the flip-flop changes its output value:entity t_ff is
port (
-- Input ports
q_in : in std_logic;
rst : in std_logic;
-- InOut ports
q_out : inout std_logic
);
end entity t_ff;
architecture logic of t_ff is
begin
process(q_in, rst)
begin
if rst = '1' then
q_out <= '0';
elsif falling_edge(q_in) then
q_out <= q_out xnor q_in;
end if;
end process;
end architecture logic; To build the ripple-counter, I connected the q-out of one T-flip-flop to the q_in of the next flip-flop. It works as expected, but during compilation with Quartus I get several warnings of the form: Warning (332060): Node: ripple_counter:my_counter|t_ff:\create_other_ff:1:create|q_out~reg0 was determined to be a clock but was found without an associated clock assignment. Is there a way of telling Quartus that it should not be concerned about this? Thanks!