Configuring Multiline Indent Rules

There are rules which will check indent of multiline expressions and conditions.

There are several options to these rules:

Option Values Default Description
align_left yes, no yes
  • yes = Lines will be aligned left
  • no = Lines will be aligned to assignment operator
align_paren yes, no no
  • yes = Align to unbalanced open parenthesis
  • no = Each unbalanced open parenthesis will add an indent.

This is an example of how to configure the option.

rule :
  constant_012:
     align_left : "no"
     align_paren : "yes"

All examples use the following code snippet:

wr_en <= resize(unsigned(I_FOO) +
            unsigned(I_BAR), q_foo'length);

wr_en <=
    resize(unsigned(I_FOO) +
                    unsigned(I_BAR), q_foo'length);

Example: align_left set to yes and align_paren set to no

wr_en <= resize(unsigned(I_FOO) +
    unsigned(I_BAR), q_foo'length);

wr_en <=
  resize(unsigned(I_FOO) +
    unsigned(I_BAR), q_foo'length);

Example: align_left set to no and align_paren set to no

wr_en <= resize(unsigned(I_FOO) +
                unsigned(I_BAR), q_foo'length);

wr_en <=
         resize(unsigned(I_FOO) +
                unsigned(I_BAR), q_foo'length);

Example: align_left set to yes and align_paren set to yes

wr_en <= resize(unsigned(I_FOO) +
    unsigned(I_BAR), q_foo'length);

wr_en <=
  resize(unsigned(I_FOO) +
  unsigned(I_BAR), q_foo'length);

Example: align_left set to no and align_paren set to yes

wr_en <= resize(unsigned(I_FOO) +
                unsigned(I_BAR), q_foo'length);

wr_en <=
         resize(unsigned(I_FOO) +
                 unsigned(I_BAR), q_foo'length);