There are two types of resets for a synchronous design, synchronous resets and asynchronous resets. It can be good practice to consistently use only one of these throughout a project. This rule can be configured to prefer either a synchronous or asynchronous reset style and will mark all reset branches that do not follow the selected style.
For example, if the validation is configured to prefer a synchronous reset style:
async_p : process (clk, rst) is begin if rst = '1' then ... elsif rising_edge(clk) then ... end if; end process async_p;
sync_p : process (clk) is begin if rising_edge(clk) then if rst = '1' then ... else ... end if; end if; end process sync_p;
This rule can be disabled for your project, or its severity and parameters can be modified in the project linting settings. Alternatively, it can be manually configured with the following template: