Altera_Forum
Honored Contributor
11 years agoUnexpected latch replacement
Hello,
many forum posts are about unwanted latch inference and related synthesis warnings. Now I that Quartus converts a latch description automatically to a DFF. I would expect a warning about incomplete sensitivity list, instead Quartus (checked both in V9.0 and V13.1, target is Cyclone III) infers a synchronous register, without a warning or information message. I must confess, I never noticed this behaviour before. I don't see any related comments in the software handbook, or a synthesis attribute controlling the automatic latch conversion. It doesn't seem to comply with the VHDL LRM at first sight. Best regards, Franklibrary IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity lat is
port(
enable: in std_logic;
Output: out std_logic;
Input: in std_logic);
end;
architecture behavioral of lat is
begin
-- input is missing in the sensitivity list, unexpectedly infers a synchronous register
process (enable) is
begin
if enable = '1' then
output <= input;
end if;
end process;
end;