You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi there, another day of bug reporting. 😬
I'm getting the following warning from VHDL LS regarding an incomplete sensitivity list when using a generic function (e.g., rising_edge or falling_edge) in the entity’s generic declaration:
The signal 'internal_signal' is not read in the sensitivity list vhdl ls(missing_in_sensitivity_list)
This occurs when the clock edge detection function is passed as a generic, based on user configuration. While I understand why this is flagged - the analyser likely searches for a direct call to rising_edge() or falling_edge() as a pattern (similar to what synthesis tools do) - this is technically correct VHDL.
Note
Attempting to suppress the warning using the -- vhdl_ls off pragma on the line causes other errors to be reported, so it isn't a viable workaround.
Thanks yaa!
Minimal reproducible example (MRE):
library ieee;
use ieee.std_logic_1164.all;
entitygeneric_clk_edge_function_warningisgeneric (
-- Function in the generic, which triggers the warningfunction active_edge(signal s: std_ulogic) returnboolean
);
port (
clk: instd_ulogic; -- Dummy input clock
data_out: outstd_ulogic-- Dummy output
);
endentity;
architecturebehaviouralofgeneric_clk_edge_function_warningissignal internal_signal: std_ulogic:='0';
beginprocess (clk)
-- ^ Warning reported here: missing_in_sensitivity_listbeginif active_edge(clk) then-- Trigger: function call via generic
internal_signal <=not internal_signal;
endif;
endprocess;
data_out <= internal_signal;
endarchitecture;
The text was updated successfully, but these errors were encountered:
nselvara
changed the title
[BUG] False warning for generic function used in clock edge detection
[BUG] False warning regarding sensitivity list for generic function used in clock edge detection
Apr 25, 2025
nselvara
changed the title
[BUG] False warning regarding sensitivity list for generic function used in clock edge detection
[BUG] False warning regarding sensitivity list when using generic function for clock edge detection
Apr 25, 2025
Bug description:
Hi there, another day of bug reporting. 😬
I'm getting the following warning from VHDL LS regarding an incomplete sensitivity list when using a generic function (e.g.,
rising_edge
orfalling_edge
) in the entity’s generic declaration:The signal 'internal_signal' is not read in the sensitivity list
vhdl ls(missing_in_sensitivity_list)
This occurs when the clock edge detection function is passed as a generic, based on user configuration. While I understand why this is flagged - the analyser likely searches for a direct call to
rising_edge()
orfalling_edge()
as a pattern (similar to what synthesis tools do) - this is technically correct VHDL.Note
Attempting to suppress the warning using the
-- vhdl_ls off
pragma on the line causes other errors to be reported, so it isn't a viable workaround.Thanks yaa!
Minimal reproducible example (MRE):
The text was updated successfully, but these errors were encountered: