Process Rules¶
process_001¶
This rule checks the indent of the process declaration.
Violation
architecture RTL of FIFO is
begin
PROC_A : process (rd_en, wr_en, data_in, data_out,
Fix
architecture RTL of FIFO is
begin
PROC_A : process (rd_en, wr_en, data_in, data_out,
process_002¶
This rule checks for a single space after the process keyword.
Violation
PROC_A : process(rd_en, wr_en, data_in, data_out,
PROC_A : process (rd_en, wr_en, data_in, data_out,
Fix
PROC_A : process (rd_en, wr_en, data_in, data_out,
PROC_A : process (rd_en, wr_en, data_in, data_out,
process_003¶
This rule checks the indent of the begin keyword.
Violation
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
Fix
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
process_004¶
This rule checks the begin keyword has proper case.
Note
The default is lowercase.
Violation
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
BEGIN
Fix
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
process_005¶
This rule checks the process keyword has proper case.
Note
The default is lowercase.
Violation
PROC_A : PROCESS (rd_en, wr_en, data_in, data_out,
Fix
PROC_A : process (rd_en, wr_en, data_in, data_out,
process_006¶
This rule checks the indent of the end process keywords.
Violation
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
end process PROC_A;
Fix
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
end process PROC_A;
process_007¶
This rule checks for a single space after the end keyword.
Violation
end process PROC_A;
Fix
end process PROC_A;
process_008¶
This rule checks the end keyword has proper case.
Note
The default is lowercase.
Refer to the section Configuring Uppercase and Lowercase Rules for information on changing the default case.
Violation
END process PROC_A;
Fix
end process PROC_A;
process_009¶
This rule checks the process keyword has proper case in the end process line.
Note
The default is lowercase.
Violation
end PROCESS PROC_A;
Fix
end process PROC_A;
process_010¶
This rule checks the begin keyword is on it’s own line.
Violation
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is begin
Fix
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
process_011¶
This rule checks for a blank line after the end process keyword.
Violation
end process PROC_A;
WR_EN <= wr_en;
Fix
end process PROC_A;
WR_EN <= wr_en;
process_012¶
This rule checks for the existence of the is keyword on the same line as the closing parenthesis of the sensitivity list.
Violation
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
)
begin
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
)
is begin
Fix
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
process_013¶
This rule checks the is keyword has proper case.
Note
The default is lowercase.
Violation
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) IS
begin
Fix
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
process_014¶
This rule checks for a single space before the is keyword.
Violation
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
Fix
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
process_015¶
This rule checks for a blank line or comment above the process declaration.
Violation
-- This process performs FIFO operations.
PROC_A : process (rd_en, wr_en, data_in, data_out,
WR_EN <= wr_en;
PROC_A : process (rd_en, wr_en, data_in, data_out,
Fix
-- This process performs FIFO operations.
PROC_A : process (rd_en, wr_en, data_in, data_out,
WR_EN <= wr_en;
PROC_A : process (rd_en, wr_en, data_in, data_out,
process_016¶
This rule checks the process has a label.
Violation
process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
Fix
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
process_017¶
This rule checks the process label has proper case.
Note
The default is uppercase.
Violation
proc_a : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
Fix
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
process_018¶
This rule checks the end process line has a label. The closing label will be added if the opening process label exists.
Violation
end process;
Fix
end process PROC_A;
process_019¶
This rule checks the end process label is uppercase.
Violation
end process proc_a;
Fix
end process PROC_A;
process_020¶
This rule checks the indentation of multiline sensitivity lists.
Violation
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full,
overflow, underflow
) is begin
Fix
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full,
overflow, underflow
) is
begin
process_021¶
This rule checks for blank lines between the end of the sensitivity list and before the begin keyword.
Violation
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
Fix
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
process_022¶
This rule checks for a blank line below the begin keyword.
Violation
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
rd_en <= '0';
Fix
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
rd_en <= '0';
process_023¶
This rule checks for a blank line above the end process keyword.
Violation
wr_en <= '1';
end process PROC_A;
Fix
wr_en <= '1';
end process PROC_A;
process_024¶
This rule checks for a single space after the process label.
Violation
PROC_A: process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
Fix
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
process_025¶
This rule checks for a single space after the : and before the process keyword.
Violation
PROC_A :process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is begin
Fix
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
begin
process_026¶
This rule checks for blank lines between the end of the sensitivity list and process declarative lines.
Violation
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
-- Keep track of the number of words in the FIFO
variable word_count : integer;
begin
Fix
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
-- Keep track of the number of words in the FIFO
variable word_count : integer;
begin
process_027¶
This rule checks for blank lines between process declarative lines and the begin keyword.
Violation
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
-- Keep track of the number of words in the FIFO
variable word_count : integer;
begin
Fix
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
) is
-- Keep track of the number of words in the FIFO
variable word_count : integer;
begin
process_028¶
This rule checks the alignment of the closing parenthesis of a sensitivity list. Parenthesis on multiple lines should be in the same column.
Violation
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
)
Fix
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
)
process_029¶
This rule checks for rising_edge and falling_edge in processes.
Violation
if (rising_edge(CLK)) then
if (falling_edge(CLK)) then
Fix
if (CLK'event and CLK = '1') then
if (CLK'event and CLK = '0') then
process_030¶
This rule checks for a single signal per line in a sensitivity list that is not the last one. The sensitivity list is required by the compiler, but provides no useful information to the reader. Therefore, the vertical spacing of the sensitivity list should be minimized. This will help with code readability.
Note
This rule is left to the user to fix.
Violation
PROC_A : process (rd_en,
wr_en,
data_in,
data_out,
rd_full,
wr_full
)
Fix
PROC_A : process (rd_en, wr_en, data_in, data_out,
rd_full, wr_full
)
process_031¶
This rule checks for alignment of identifiers and colons of constant, variable, and file.
Violation
PROC_1 : process(A) is
variable var1 : boolean;
constant cons1 : integer;
file file1 : load_file_file open read_mode is load_file_name;
begin
end process PROC_1;
Fix
PROC_1 : process(A) is
variable var1 : boolean;
constant cons1 : integer;
file file1 : load_file_file open read_mode is load_file_name;
begin
end process PROC_1;
process_032¶
This rule checks the process label is on the same line as the process keyword.
Violation
PROC_1 :
process(A) is
Fix
PROC_1 : process(A) is