Why is this an issue?

A flip-flop doesn't always need a reset, but including one is often recommended.

How to fix it

Code examples

Noncompliant code examples

entity top is
  port (
    clk : in std_logic;
    d   : in std_logic;
    q   : out std_logic
  );
end top;

architecture rtl of top is
begin
  process (clk)
  begin
    if rising_edge(clk) then -- Noncompliant: No reset
      q <= d;
    end if;
  end process;
end rtl;

Compliant solution

entity top is
  port (
    clk   : in std_logic;
    reset : in std_logic;
    d     : in std_logic;
    q     : out std_logic
  );
end top;

architecture rtl of top is
begin
  process (clk, reset)
  begin
    if reset = '1' then -- Compliant
      q <= '0';
    elsif rising_edge(clk) then
      q <= d;
    end if;
  end process;
end rtl;