Sharing some naming conventions is a key point to make it possible for a team to efficiently collaborate. This rule checks that process labels match a provided regular expression.
Different naming conventions can be defined depending on the type of file (synthesis or simulation) and type of process (combinational or clocked).
On synthesis file, with the default naming convention: ^[a-z]|[a-z]+[a-z0-9_]*[a-z0-9]+$
MyLabel : process (s) is -- Noncompliant: Label not matching naming convention begin end process;
On synthesis file, with the following custom naming conventions:
^C_[a-zA-Z0-9]+$^S_[a-zA-Z0-9]+$
MyLabel: process (s) is -- Noncompliant: Label not matching combinational process naming convention
begin
temp_s <= s;
end process;
MyLabel : process (clk) is -- Noncompliant: Label not matching clocked process naming convention
begin
if (rising_edge(clk)) then
temp_clk <= clk;
end if;
end process;
On synthesis file, with the default naming convention: ^[a-z]|[a-z]+[a-z0-9_]*[a-z0-9]+$
my_label : process (s) is -- Compliant: Label matching naming convention begin end process;
On synthesis file, with the following custom naming conventions:
^C_[a-zA-Z0-9]+$^S_[a-zA-Z0-9]+$
C_mylabel: process (s) is -- Compliant: Label matching combinational process naming convention
begin
temp_s <= s;
end process;
S_mylabel : process (clk) is -- Compliant: Label matching clocked process naming convention
begin
if (rising_edge(clk)) then
temp_clk <= clk;
end if;
end process;
To be aware of the process type (combinational or clocked), the process must be synthesized. If the process is not
synthesized, naming convention will be checked against both clockedSynthesisFormat and
combinationalSynthesisFormat formats. If, at least, one format matches, no issue is raised. If no
format matches, an issue is raised.