Why is this an issue?

All reset signals not used as (synchronous or asynchronous) reset of a flip-flop should be carefully reviewed.

How to fix it

Code examples

Noncompliant code example

process(clk, rst) is
begin
  if rst = '1' then
    rst <= '0'; -- Noncompliant: 'rst' reset signal is reused in a non-reset way
  elsif rising_edge(clk) then
    s <= '0';
  end if;
end process;

Compliant solution

process(clk, rst) is
begin
  if rst = '1' then
    s <= '1';
  elsif rising_edge(clk) then
    s <= '0';
  end if;
end process;