Concurrent Rules
concurrent_001
This rule checks the indent of concurrent assignments.
Violation
architecture RTL of FIFO is
begin
wr_en <= '0';
rd_en <= '1';
Fix
architecture RTL of FIFO is
begin
wr_en <= '0';
rd_en <= '1';
concurrent_002
This rule checks for a single space after the <= operator.
Refer to Configuring Whitespace Rules for options on changing the number of whitespaces..
Violation
wr_en <= '0';
rd_en <= '1';
Fix
wr_en <= '0';
rd_en <= '1';
concurrent_003
This rule checks alignment of multiline concurrent simple signal assignments. Successive lines should align to the space after the assignment operator. However, there is a special case if there are parenthesis in the assignment. If the parenthesis are not closed on the same line, then the next line will be aligned to the parenthesis. Aligning to the parenthesis improves readability.
Refer to Configuring Multiline Indent Rules for more information.
Violation
O_FOO <= (1 => q_foo(63 downto 32),
0 => q_foo(31 downto 0));
n_foo <= resize(unsigned(I_FOO) +
unsigned(I_BAR), q_foo'length);
Fix
O_FOO <= (1 => q_foo(63 downto 32),
0 => q_foo(31 downto 0));
n_foo <= resize(unsigned(I_FOO) +
unsigned(I_BAR), q_foo'length);
concurrent_004
This rule checks for at least a single space before the <= operator.
Refer to Configuring Whitespace Rules for options on changing the number of whitespaces..
Violation
wr_en<= '0';
Fix
wr_en <= '0';
concurrent_005
This rule checks for labels on concurrent assignments. Labels on concurrents are optional and do not provide additional information.
Violation
WR_EN_OUTPUT : WR_EN <= q_wr_en;
RD_EN_OUTPUT : RD_EN <= q_rd_en;
Fix
WR_EN <= q_wr_en;
RD_EN <= q_rd_en;
concurrent_006
This rule checks the alignment of the <= operator over multiple consecutive lines. Refer to Configuring Keyword Alignment Rules for information on changing the configurations.
Violation
wr_en <= '0';
rd_en <= '1';
data <= (others => '0');
Fix
wr_en <= '0';
rd_en <= '1';
data <= (others => '0');
concurrent_007
This rule has been renamed to conditional_waveforms_001.
concurrent_008
This rule checks the alignment of inline comments in consecutive concurrent statements. Refer to Configuring Keyword Alignment Rules for information on changing the configurations.
Violation
wr_en <= '0'; -- Write enable
rd_en <= '1'; -- Read enable
data <= (others => '0'); -- Write data
Fix
wr_en <= '0'; -- Write enable
rd_en <= '1'; -- Read enable
data <= (others => '0'); -- Write data
concurrent_009
This rule checks alignment of multiline concurrent conditional signal statements.
Refer to Configuring Conditional Multiline Indent Rules for more information.
Violation
wr_en <= '0' when q_wr_en = '1' else
'1';
w_foo <= I_FOO when ((I_BAR = '1') and
(I_CRUFT = '1')) else
'0';
Fix
wr_en <= '0' when q_wr_en = '1' else
'1';
w_foo <= I_FOO when ((I_BAR = '1') and
(I_CRUFT = '1')) else
'0';
concurrent_010
This rule removes blank lines within concurrent signal assignments.
Violation
wr_en <= '0' when q_wr_en = '1' else
'1';
w_foo <= I_FOO when ((I_BAR = '1') and
(I_CRUFT = '1')) else
'0';
Fix
wr_en <= '0' when q_wr_en = '1' else
'1';
w_foo <= I_FOO when ((I_BAR = '1') and
(I_CRUFT = '1')) else
'0';
concurrent_011
This rule checks the structure of simple and conditional concurrent statements.
Refer to Configuring Simple Multiline Structure Rules for more information.
Violation
wr_en <=
'0' when q_wr_en = '1' else
'1';
w_foo <=
I_FOO when ((I_BAR = '1') and
(I_CRUFT = '1')) else
'0';
Fix
wr_en <= '0' when q_wr_en = '1' else
'1';
w_foo <= I_FOO when ((I_BAR = '1') and
(I_CRUFT = '1')) else
'0';
concurrent_012
This rule checks the structure of multiline concurrent simple signal assignments that contain arrays.
Refer to Configuring Array Multiline Structure Rules for more information.
Violation
wr_data <= (0, 65535, 32768);
Fix
wr_data <=
(
0,
65535,
32768
);
concurrent_400
This rule checks the alignment the => operator in record aggregates.
Refer to Configuring Keyword Alignment Rules for information on changing the configurations.
Violation
interface <= (
write_words => 12,
read_words => 32
address => 57
);
Fix
interface <= (
write_words => 12,
read_words => 32
address => 57
);
concurrent_401
This rule checks the alignment of multiline concurrent simple signal assignments that contain arrays.
Refer to Configuring Multiline Indent Rules for more information.
Violation
wr_data <=
(
0,
65535,
32768
);
Fix
wr_data <=
(
0,
65535,
32768
);