vhdl-style-guide
stable

Contents:

  • Overview
    • Why VSG?
    • Key Benefits
    • Key Features
    • Known Limitations
  • Gallery
    • Entities
    • Architectures
    • Component Declarations
    • Component Instantiations
    • Concurrent Signal Assignments
  • Installation
    • PIP
    • Git Hub
  • Usage
    • Use Cases
      • Checking a single file
      • Checking a single file over standard input
      • Checking multiple files using globbing
      • Checking multiple files in different directories
      • Checking all files in a project
      • Integration with CI server
      • Fixing a single file
      • Fixing multiple files using globbing
      • Fixing all files in a project
    • Error Codes
  • Formatting Terminal Output
    • VSG
    • Syntastic
    • Summary
  • Styles
    • Style Descriptions
      • indent_only
      • jcl
    • Adjusting built in styles
      • Example
  • Configuring
    • Overview
      • file_list
      • file_rules
      • linesep
      • local_rules
      • rule
      • Reporting Single Rule Configuration
      • Reporting Configuration for All Rules
      • Rule Configuration Priorities
      • Example: Disabling a rule
      • Example: Setting the indent increment size for a single rule
      • Example: Setting the indent increment size for all rules
      • Example: Enabling only indent rules
    • Multiple configurations
      • Block level configurations
      • Multilevel rule configurations
    • Configuring Array Multiline Structure Rules
      • Example: first_paren_new_line set to yes
      • Example: first_paren_new_line set to no
      • Example: last_paren_new_line set to yes
      • Example: last_paren_new_line set to no
      • Example: open_paren_new_line set to yes
      • Example: open_paren_new_line set to no
      • Example: close_paren_new_line set to yes
      • Example: close_paren_new_line set to no
      • Example: new_line_after_comma set to yes
      • Example: new_line_after_comma set to no
      • Example: assign_on_single_line set to yes
      • Example: Keep all assignments on single line
      • Example: Fully expand expression
      • Rules Enforcing Array Multiline Structure Rules
    • Configuring Blank Lines
      • Example: style set to require_blank_line
      • Example: style set to no_blank_line
      • Rules Enforcing Blank Lines
    • Configuring Block Comments
      • Block Comment Structure
      • Examples
      • Rules Enforcing Block Comments
    • Configuring Comment Keywords
      • Rules Enforcing Comment Keywords
    • Configuring Concurrent Procedure Call Statement Rules
      • Example: first_open_paren set to add_new_line
      • Example: last_close_paren set to remove_new_line
      • Example: association_element set to remove_new_line
      • Rules Enforcing Procedure Call Structure
    • Configuring Conditional Multiline Indent Rules
      • Example: align_left set to yes
      • Example: align_paren set to yes
      • Example: align_when_keywords set to yes
      • Example: wrap_at_when set to yes
      • Example: align_else_keywords set to yes
      • Example: Default configuration
      • Example: Setting all options to yes except align_left set to no
      • Rules Enforcing Conditional Expression Alignment
    • Configuring Consecutive Blank Line Rules
      • Example: blank_lines_allowed set to 1
      • Example: blank_lines_allowed set to 2
      • Rules Enforcing Consecutive Blank Lines
    • Configuring Disabled Rules
      • Rules Disabled by Default
    • Configuring Identifier Alignment Rules
      • Example: compact_alignment set to yes
      • Example: blank_line_ends_group set to yes others set to no
      • Example: comment_line_ends_group set to yes others set to no
      • Rules Enforcing Identifier Alignment
    • Configuring Indentation
      • Understanding the Indent Configuration Data Structure
      • Example 1
      • The Challenge With Adjusting Indent Values
      • Example 2
    • Configuring Indent Rules
      • Example: indent_style set to spaces
      • Example: indent_style set to smart_tabs
    • Configuring Keyword Alignment Rules
      • Example: compact_alignment set to yes
      • Example: compact_alignment set to no
      • Example: blank_line_ends_group set to yes
      • Example: blank_line_ends_group set to no
      • Example: comment_line_ends_group set to yes
      • Example: comment_line_ends_group set to no
      • Example: separate_generic_port_alignment set to yes
      • Example: separate_generic_port_alignment set to no
      • Example: if_control_statements_ends_group set to yes
      • Example: if_control_statements_ends_group set to no
      • Example: case_control_statements_ends_group set to yes
      • Example: case_control_statements_ends_group set to no
      • Example: case_control_statements_ends_group set to break_on_case_or_end_case
      • Example: generate_statements_ends_group set to yes
      • Example: generate_statements_ends_group set to no
      • Example: loop_control_generic_port_alignment set to yes
      • Example: loop_control_generic_port_alignment set to no
      • Rules Enforcing Keyword Alignment
    • Configuring Length Rules
      • Overriding Line Length
      • Overridding File Line Length
      • Overridding Process Line Length
      • Rules Enforcing Lengths
    • Configuring Move Token Rules
      • Example: action set to new_line
      • Example: action set to move_left
      • Rules Enforcing Move Token
    • Configuring Multiline Assert Rule
      • Example: alignment set to :code:’report`
      • Example: alignment set to :code:’left`
      • Rules Enforcing Alignment
    • Configuring Multiline Constraint Rules
      • Example: record_constraint_open_paren set to remove_new_line
      • Example: record_constraint_close_paren set to remove_new_line
      • Example: record_constraint_element set to remove_new_line
      • Example: array_constraint set to one_line_per_dimension
      • Exceptions
      • Rules Enforcing Multiline Constraint Rules
    • Configuring Multiline Indent Rules
      • Example: align_left set to yes and align_paren set to no
      • Example: align_left set to no and align_paren set to no
      • Example: align_left set to yes and align_paren set to yes
      • Example: align_left set to no and align_paren set to yes
      • Rules Enforcing Multiline Indent Rules
    • Configuring Number of Signals in Signal Declaration
      • Overriding Number of Signals
      • Rules Enforcing Number of Signals
    • Configuring Optional Items
      • Example: action set to add
      • Example: action set to remove
      • Rules Enforcing Optional Items
    • Configuring Port Mode Alignment
      • Example: Align modes to the left (default)
      • Example: Align modes based on type
      • Rules Enforcing Aligment
    • Configuring Prefix and Suffix Rules
      • Overriding Default Prefix Enforcement
      • Overriding Default Suffix Enforcement
      • Rules Enforcing Prefixes and Suffixes
    • Configuring Previous Line Rules
      • Example: style set to no_blank_line
      • Example: style set to require_blank_line
      • Example: style set to no_code
      • Example: style set to allow_comment
      • Example: style set to require_comment
      • Example: style set to no_blank_line_unless_different_library
      • Rules Enforcing Previous Lines
    • Configuring Rule Groups
    • Configuring Simple Multiline Structure Rules
      • Example: new_line_after_assign set to yes
      • Example: new_line_after_assign set to no
      • Rules Enforcing Multiline Structure Rules
    • Configuring Type of Instantiations
      • Example: method set to component
      • Example: method set to entity
      • Rules Enforcing Type of Instantiations
    • Configuring Uppercase and Lowercase Rules
      • Example: case set to lower
      • Example: case set to upper
      • Example: case set to upper and prefix_exceptions set to c_
      • Example: case set to upper and suffix_exceptions set to _c
      • Example: case set to upper and case_exceptions set to addr_WIDTH_c
      • Example: Changing Multiple Case Rules
      • Rules Enforcing Case
    • Configuring Use Clause Indenting
      • Example: token_if_no_matching_library_clause set to current
      • Example: token_if_no_matching_library_clause set to '+1'
      • Example: token_after_library_clause set to current
      • Example: token_after_library_clause set to '+1'
      • Rules Enforcing Keyword Alignment
    • Configuring Whitespace Rules
      • Example: enforce one whitespace between end and architecture
      • Example: enforce two whitespaces between end and architecture
      • Example: allow at least 1 space before a colon
      • Rules Enforcing Whitespace
    • Configuring Whitespace After Comment Rules
      • Example
      • Rules Enforcing Whitespace After Comment
  • Code Tags
    • Full rule exclusion
    • Individual Rule Exclusions
    • Next Line Rule Exclusions
    • Comments in code tags
  • Continuous Integration Servers
    • JUnit Report
    • Code Quality Report
  • Editor Integration
    • VIM
      • Basic Native Formatting
      • Linting/Diagnostics with ALE
    • NeoVim
      • Builtin LSP Client
    • VSCode
      • Configuring
      • Executing Task
      • Keybindings
  • Tool Integration
    • Generic Tool Integration
      • –all-phases
      • –json
      • –fix_only
    • pre-commit Integration
  • Pragmas
  • Localizing
    • Example: Create rule to check for entity and architectures in the same file.
      • Prepare local rules directory
      • Create new rule file
      • Use new rule to analyze
    • Understanding the Rule class
      • Creating Class
      • Adding __init__
      • Analyzing Considerations
      • Adding _pre_analyze method
      • Adding _analyze method
      • Fixing considerations
      • Adding the _fix_violations method
    • Violation dictionary
      • Single line violations
      • Single line violations with additional information
      • Multiple line violations
      • utils functions
    • Rule creation guidelines
  • Phases
    • Phase - Structural
    • Phase - Whitespace
    • Phase - Vertical Spacing
    • Phase - Indentation
    • Phase - Alignment
    • Phase - Capitalization
    • Phase - Naming conventions
    • Subphases
      • Subphase 1
      • Subphase 2
  • Rule Severity
    • Configuring Severity Levels
    • Defining Severity Levels
      • Rules Which are Warnings by Default
  • Rule Groups
    • Overview
      • Subgroups
      • Configuring Groups
    • Alignment Rule Group
      • Rules Enforcing Alignment Rule Group
    • Blank Line Rule Group
      • Rules Enforcing Blank Line Rule Group
    • Case Rule Group
      • Rules Enforcing Case Rule Group
    • Case::Keyword Rule Group
      • Rules Enforcing Case::Keyword Rule Group
    • Case::Label Rule Group
      • Rules Enforcing Case::Label Rule Group
    • Case::Name Rule Group
      • Rules Enforcing Case::Name Rule Group
    • Length Rule Group
      • Rules Enforcing Length Rule Group
    • Indent Rule Group
      • Rules Enforcing Indent Rule Group
    • Naming Rule Group
      • Rules Enforcing Naming Rule Group
    • Structure Rule Group
      • Rules Enforcing Structure Rule Group
    • Structure::Optional Rule Group
      • Rules Enforcing Structure::Optional Rule Group
    • Whitespace Rule Group
      • Rules Enforcing Whitespace Rule Group
  • Rules
    • After Rules
      • after_001
      • after_002
      • after_003
    • Alias Declaration Rules
      • alias_declaration_001
      • alias_declaration_100
      • alias_declaration_101
      • alias_declaration_102
      • alias_declaration_300
      • alias_declaration_500
      • alias_declaration_501
      • alias_declaration_502
      • alias_declaration_503
      • alias_declaration_600
      • alias_declaration_601
    • Architecture Rules
      • architecture_001
      • architecture_002
      • architecture_003
      • architecture_004
      • architecture_005
      • architecture_006
      • architecture_007
      • architecture_008
      • architecture_009
      • architecture_010
      • architecture_011
      • architecture_012
      • architecture_013
      • architecture_014
      • architecture_015
      • architecture_016
      • architecture_017
      • architecture_018
      • architecture_019
      • architecture_020
      • architecture_021
      • architecture_022
      • architecture_024
      • architecture_025
      • architecture_026
      • architecture_027
      • architecture_028
      • architecture_029
      • architecture_030
      • architecture_031
      • architecture_032
      • architecture_033
      • architecture_200
      • architecture_400
      • architecture_600
      • architecture_601
    • Assert Rules
      • assert_001
      • assert_002
      • assert_003
      • assert_004
      • assert_005
      • assert_400
    • Attribute Rules
      • attribute_001
      • attribute_002
      • attribute_500
    • Attribute Declaration Rules
      • attribute_declaration_100
      • attribute_declaration_101
      • attribute_declaration_300
      • attribute_declaration_500
      • attribute_declaration_501
      • attribute_declaration_502
    • Attribute Specification Rules
      • attribute_specification_100
      • attribute_specification_101
      • attribute_specification_300
      • attribute_specification_500
      • attribute_specification_501
      • attribute_specification_502
      • attribute_specification_503
    • Block Rules
      • block_001
      • block_002
      • block_003
      • block_004
      • block_005
      • block_006
      • block_007
      • block_100
      • block_101
      • block_200
      • block_201
      • block_202
      • block_203
      • block_204
      • block_205
      • block_300
      • block_301
      • block_302
      • block_400
      • block_401
      • block_402
      • block_500
      • block_501
      • block_502
      • block_503
      • block_504
      • block_505
      • block_506
      • block_600
      • block_601
    • Block Comment Rules
      • block_comment_001
      • block_comment_002
      • block_comment_003
    • Case Rules
      • case_001
      • case_002
      • case_003
      • case_004
      • case_005
      • case_006
      • case_007
      • case_008
      • case_009
      • case_010
      • case_011
      • case_012
      • case_013
      • case_014
      • case_015
      • case_016
      • case_017
      • case_018
      • case_019
      • case_020
      • case_021
      • case_200
      • case_201
    • Case Generate Alternative Rules
      • case_generate_alternative_300
      • case_generate_alternative_500
      • case_generate_alternative_501
    • Case Generate Statement Rules
      • case_generate_statement_400
      • case_generate_statement_500
      • case_generate_statement_501
    • Comment Rules
      • comment_004
      • comment_010
      • comment_011
      • comment_012
      • comment_100
    • Component Rules
      • component_001
      • component_002
      • component_003
      • component_004
      • component_005
      • component_006
      • component_007
      • component_008
      • component_009
      • component_010
      • component_011
      • component_012
      • component_013
      • component_014
      • component_015
      • component_016
      • component_017
      • component_018
      • component_019
      • component_020
      • component_021
    • Concurrent Rules
      • concurrent_001
      • concurrent_002
      • concurrent_003
      • concurrent_004
      • concurrent_005
      • concurrent_006
      • concurrent_007
      • concurrent_008
      • concurrent_009
      • concurrent_010
      • concurrent_011
      • concurrent_012
      • concurrent_400
      • concurrent_401
    • Conditional Expressions Rules
      • conditional_expressions_100
      • conditional_expressions_101
      • conditional_expressions_102
      • conditional_expressions_103
      • conditional_expressions_500
      • conditional_expressions_501
    • Conditional Waveforms Rules
      • conditional_waveforms_100
      • conditional_waveforms_101
      • conditional_waveforms_102
      • conditional_waveforms_103
      • conditional_waveforms_500
      • conditional_waveforms_501
    • Constant Rules
      • constant_001
      • constant_002
      • constant_003
      • constant_004
      • constant_005
      • constant_006
      • constant_007
      • constant_010
      • constant_011
      • constant_012
      • constant_013
      • constant_014
      • constant_015
      • constant_016
      • constant_017
      • constant_100
      • constant_600
    • Context Rules
      • context_001
      • context_002
      • context_003
      • context_004
      • context_005
      • context_006
      • context_007
      • context_008
      • context_009
      • context_010
      • context_011
      • context_012
      • context_013
      • context_014
      • context_015
      • context_016
      • context_017
      • context_018
      • context_019
      • context_020
      • context_021
      • context_022
      • context_023
      • context_024
      • context_025
      • context_026
      • context_027
      • context_028
    • Context Reference Rules
      • context_ref_001
      • context_ref_002
      • context_ref_003
      • context_ref_004
      • context_ref_005
      • context_ref_006
      • context_ref_007
      • context_ref_008
      • context_ref_009
      • context_ref_500
      • context_ref_501
    • Declarative Part Rules
      • declarative_part_400
    • Element Association Rules
      • element_association_100
      • element_association_101
    • Entity Rules
      • entity_001
      • entity_002
      • entity_003
      • entity_004
      • entity_005
      • entity_006
      • entity_007
      • entity_008
      • entity_009
      • entity_010
      • entity_011
      • entity_012
      • entity_013
      • entity_014
      • entity_015
      • entity_016
      • entity_017
      • entity_018
      • entity_019
      • entity_020
      • entity_021
      • entity_022
      • entity_023
      • entity_024
      • entity_025
      • entity_026
      • entity_027
      • entity_028
      • entity_029
      • entity_200
      • entity_201
      • entity_202
      • entity_203
      • entity_300
      • entity_500
      • entity_600
    • Entity Specification Rules
      • entity_specification_100
      • entity_specification_101
      • entity_specification_500
      • entity_specification_501
      • entity_specification_502
      • entity_specification_503
    • Exit Rules
      • exit_statement_300
    • Exponent Rules
      • exponent_500
    • File Rules
      • file_001
      • file_002
      • file_003
    • For Loop Rules
      • for_loop_001
      • for_loop_002
      • for_loop_003
      • for_loop_004
      • for_loop_005
    • For Generate Statement Rules
      • for_generate_statement_500
      • for_generate_statement_501
    • Function Rules
      • function_001
      • function_002
      • function_003
      • function_004
      • function_005
      • function_006
      • function_007
      • function_008
      • function_009
      • function_010
      • function_012
      • function_013
      • function_014
      • function_015
      • function_016
      • function_017
      • function_018
      • function_100
      • function_101
      • function_201
      • function_202
      • function_203
      • function_204
      • function_300
      • function_501
      • function_502
      • function_506
      • function_600
      • function_601
    • Generate Rules
      • generate_001
      • generate_002
      • generate_003
      • generate_004
      • generate_005
      • generate_006
      • generate_007
      • generate_008
      • generate_009
      • generate_010
      • generate_011
      • generate_012
      • generate_013
      • generate_014
      • generate_015
      • generate_016
      • generate_017
      • generate_018
      • generate_019
      • generate_400
      • generate_401
      • generate_402
      • generate_403
      • generate_404
      • generate_405
      • generate_500
      • generate_501
      • generate_600
    • Generic Rules
      • generic_001
      • generic_002
      • generic_003
      • generic_004
      • generic_005
      • generic_006
      • generic_007
      • generic_008
      • generic_009
      • generic_010
      • generic_013
      • generic_014
      • generic_016
      • generic_017
      • generic_018
      • generic_019
      • generic_020
      • generic_021
      • generic_600
    • Generic Map Rules
      • generic_map_001
      • generic_map_002
      • generic_map_003
      • generic_map_004
      • generic_map_005
      • generic_map_006
      • generic_map_007
      • generic_map_008
      • generic_map_600
      • generic_map_601
    • IEEE Rules
      • IEEE_500
    • If Rules
      • if_001
      • if_002
      • if_003
      • if_004
      • if_005
      • if_006
      • if_007
      • if_008
      • if_009
      • if_010
      • if_011
      • if_012
      • if_013
      • if_014
      • if_015
      • if_020
      • if_021
      • if_022
      • if_023
      • if_024
      • if_025
      • if_026
      • if_027
      • if_028
      • if_029
      • if_030
      • if_031
      • if_032
      • if_033
      • if_034
      • if_035
      • if_036
    • If Generate Statement Rules
      • if_generate_statement_300
      • if_generate_statement_301
      • if_generate_statement_500
      • if_generate_statement_501
      • if_generate_statement_502
      • if_generate_statement_503
    • Instantiation Rules
      • instantiation_001
      • instantiation_002
      • instantiation_003
      • instantiation_004
      • instantiation_005
      • instantiation_006
      • instantiation_007
      • instantiation_008
      • instantiation_009
      • instantiation_010
      • instantiation_011
      • instantiation_012
      • instantiation_013
      • instantiation_014
      • instantiation_016
      • instantiation_017
      • instantiation_018
      • instantiation_019
      • instantiation_020
      • instantiation_021
      • instantiation_022
      • instantiation_023
      • instantiation_024
      • instantiation_025
      • instantiation_026
      • instantiation_027
      • instantiation_028
      • instantiation_029
      • instantiation_030
      • instantiation_031
      • instantiation_032
      • instantiation_033
      • instantiation_034
      • instantiation_035
      • instantiation_600
      • instantiation_601
    • Iteration Scheme Rules
      • iteration_scheme_100
      • iteration_scheme_101
      • iteration_scheme_300
      • iteration_scheme_301
      • iteration_scheme_500
      • iteration_scheme_501
    • Length Rules
      • length_001
      • length_002
      • length_003
    • Library Rules
      • library_001
      • library_002
      • library_003
      • library_004
      • library_005
      • library_006
      • library_007
      • library_008
      • library_009
      • library_010
      • library_011
      • library_500
      • library_600
    • Logical Operator Rules
      • logical_operator_500
    • Loop Statement Rules
      • loop_statement_001
      • loop_statement_002
      • loop_statement_003
      • loop_statement_004
      • loop_statement_005
      • loop_statement_006
      • loop_statement_007
      • loop_statement_100
      • loop_statement_101
      • loop_statement_102
      • loop_statement_103
      • loop_statement_104
      • loop_statement_200
      • loop_statement_201
      • loop_statement_202
      • loop_statement_203
      • loop_statement_300
      • loop_statement_301
      • loop_statement_302
      • loop_statement_500
      • loop_statement_501
      • loop_statement_502
      • loop_statement_503
      • loop_statement_504
      • loop_statement_600
      • loop_statement_601
    • Package Rules
      • package_001
      • package_002
      • package_003
      • package_004
      • package_005
      • package_006
      • package_007
      • package_008
      • package_009
      • package_010
      • package_011
      • package_012
      • package_013
      • package_014
      • package_015
      • package_016
      • package_017
      • package_018
      • package_019
      • package_400
      • package_401
      • package_402
    • Package Body Rules
      • package_body_001
      • package_body_002
      • package_body_003
      • package_body_100
      • package_body_101
      • package_body_200
      • package_body_201
      • package_body_202
      • package_body_203
      • package_body_300
      • package_body_301
      • package_body_400
      • package_body_401
      • package_body_402
      • package_body_500
      • package_body_501
      • package_body_502
      • package_body_503
      • package_body_504
      • package_body_505
      • package_body_506
      • package_body_507
      • package_body_600
      • package_body_601
    • Port Rules
      • port_001
      • port_002
      • port_003
      • port_004
      • port_005
      • port_006
      • port_007
      • port_008
      • port_009
      • port_010
      • port_011
      • port_012
      • port_013
      • port_014
      • port_015
      • port_016
      • port_017
      • port_018
      • port_019
      • port_020
      • port_021
      • port_022
      • port_023
      • port_024
      • port_025
      • port_026
      • port_027
      • port_600
      • port_601
      • port_602
      • port_603
      • port_604
      • port_605
      • port_606
      • port_607
      • port_608
      • port_609
    • Port Map Rules
      • port_map_001
      • port_map_002
      • port_map_003
      • port_map_004
      • port_map_005
      • port_map_007
      • port_map_008
      • port_map_009
      • port_map_010
      • port_map_200
    • Procedure Rules
      • procedure_001
      • procedure_002
      • procedure_003
      • procedure_004
      • procedure_005
      • procedure_006
      • procedure_007
      • procedure_008
      • procedure_009
      • procedure_010
      • procedure_011
      • procedure_012
      • procedure_100
      • procedure_101
      • procedure_200
      • procedure_201
      • procedure_202
      • procedure_203
      • procedure_204
      • procedure_205
      • procedure_401
      • procedure_410
      • procedure_411
      • procedure_412
      • procedure_500
      • procedure_501
      • procedure_502
      • procedure_503
      • procedure_504
      • procedure_505
      • procedure_506
      • procedure_507
    • Procedure Call Rules
      • procedure_call_001
      • procedure_call_002
      • procedure_call_003
      • procedure_call_100
      • procedure_call_101
      • procedure_call_300
      • procedure_call_301
      • procedure_call_302
      • procedure_call_400
      • procedure_call_401
      • procedure_call_500
      • procedure_call_501
    • Process Rules
      • process_001
      • process_002
      • process_003
      • process_004
      • process_005
      • process_006
      • process_007
      • process_008
      • process_009
      • process_010
      • process_011
      • process_012
      • process_013
      • process_014
      • process_015
      • process_016
      • process_017
      • process_018
      • process_019
      • process_020
      • process_021
      • process_022
      • process_023
      • process_024
      • process_025
      • process_026
      • process_027
      • process_028
      • process_029
      • process_030
      • process_031
      • process_032
      • process_033
      • process_034
      • process_035
      • process_036
      • process_037
      • process_038
      • process_039
      • process_400
      • process_401
      • process_600
    • Range Rules
      • range_001
      • range_002
    • Record Type Definition Rules
      • record_type_definition_001
      • record_type_definition_002
      • record_type_definition_003
      • record_type_definition_004
      • record_type_definition_005
      • record_type_definition_006
      • record_type_definition_007
      • record_type_definition_100
      • record_type_definition_101
      • record_type_definition_200
      • record_type_definition_201
      • record_type_definition_300
      • record_type_definition_301
      • record_type_definition_500
      • record_type_definition_501
      • record_type_definition_502
    • Report Statement Rules
      • report_statement_001
      • report_statement_002
      • report_statement_100
      • report_statement_101
      • report_statement_300
      • report_statement_400
      • report_statement_500
      • report_statement_501
    • Return Statement Rules
      • return_statement_300
      • return_statement_500
    • Selected Assignment Rules
      • selected_assignment_001
      • selected_assignment_002
      • selected_assignment_003
      • selected_assignment_004
      • selected_assignment_005
      • selected_assignment_006
      • selected_assignment_007
      • selected_assignment_008
      • selected_assignment_009
      • selected_assignment_010
      • selected_assignment_011
      • selected_assignment_012
      • selected_assignment_100
      • selected_assignment_101
      • selected_assignment_102
      • selected_assignment_103
      • selected_assignment_104
      • selected_assignment_105
      • selected_assignment_106
      • selected_assignment_107
      • selected_assignment_300
      • selected_assignment_400
      • selected_assignment_500
      • selected_assignment_501
      • selected_assignment_502
      • selected_assignment_503
    • Sequential Rules
      • sequential_001
      • sequential_002
      • sequential_003
      • sequential_004
      • sequential_005
      • sequential_006
      • sequential_007
      • sequential_008
      • sequential_009
      • sequential_400
      • sequential_401
      • sequential_402
    • Signal Rules
      • signal_001
      • signal_002
      • signal_003
      • signal_004
      • signal_005
      • signal_006
      • signal_007
      • signal_008
      • signal_010
      • signal_011
      • signal_012
      • signal_014
      • signal_015
      • signal_016
      • signal_017
      • signal_400
      • signal_600
    • Source File Rules
      • source_file_001
    • Subprogram Body Rules
      • subprogram_body_201
      • subprogram_body_202
      • subprogram_body_203
      • subprogram_body_204
      • subprogram_body_205
      • subprogram_body_400
      • subprogram_body_401
    • Subtype Rules
      • subtype_001
      • subtype_002
      • subtype_003
      • subtype_004
      • subtype_500
      • subtype_501
      • subtype_502
      • subtype_600
    • Type Rules
      • type_001
      • type_002
      • type_003
      • type_004
      • type_005
      • type_006
      • type_007
      • type_008
      • type_009
      • type_010
      • type_011
      • type_012
      • type_013
      • type_014
      • type_015
      • type_016
      • type_017
      • type_018
      • type_400
      • type_500
      • type_501
      • type_600
    • Use Clause Rules
      • use_clause_500
      • use_clause_501
      • use_clause_502
      • use_clause_503
    • Variable Rules
      • variable_001
      • variable_002
      • variable_003
      • variable_004
      • variable_005
      • variable_006
      • variable_007
      • variable_010
      • variable_011
      • variable_012
      • variable_017
      • variable_400
      • variable_600
    • Variable Assignment Rules
      • variable_assignment_001
      • variable_assignment_002
      • variable_assignment_003
      • variable_assignment_004
      • variable_assignment_005
      • variable_assignment_006
      • variable_assignment_007
      • variable_assignment_008
      • variable_assignment_400
      • variable_assignment_401
    • Wait Rules
      • wait_001
    • When Rules
      • when_001
    • While Loop Rules
      • while_loop_001
      • while_loop_002
    • Whitespace Rules
      • whitespace_001
      • whitespace_002
      • whitespace_003
      • whitespace_004
      • whitespace_005
      • whitespace_006
      • whitespace_007
      • whitespace_008
      • whitespace_010
      • whitespace_011
      • whitespace_012
      • whitespace_013
      • whitespace_200
    • With Rules
      • with_001
  • Contributing
    • Bug Reports
    • Code Base Improvements
    • Feature Requests
    • Pull Requests
    • Quality Control
  • Setting up a Development Environment
    • Dependencies
    • Clone the repo
    • Setup alias
    • Running Unit Tests
  • Release Notes
vhdl-style-guide
  • Rule Groups
  • Structure::Optional Rule Group
  • Edit on GitHub

Structure::Optional Rule Group

Rules Enforcing Structure::Optional Rule Group

  • architecture_010

  • architecture_024

  • block_002

  • block_007

  • component_021

  • context_021

  • context_022

  • entity_015

  • entity_019

  • function_018

  • generate_011

  • instantiation_033

  • loop_statement_007

  • package_007

  • package_014

  • package_body_002

  • package_body_003

  • procedure_012

  • process_012

  • process_018

  • record_type_definition_005

Previous Next

© Copyright 2017-2020, Jeremiah C Leary. Revision 545ab569.

Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: stable
Versions
latest
stable
3.18.0
3.17.0
3.16.0
3.15.0
3.14.0
3.13.1
3.13.0
3.12.2
3.12.1
3.12.0
3.11.0
3.10.0
3.9.0
3.8.0
3.7.0
3.6.0
3.5.0
3.4.0
3.3.3
3.3.2
3.3.1
3.3.0
3.2.2
3.2.1
3.2.0
3.1.0
3.0.0
2.2.0
2.1.0
2.0.0
1.11.1
1.11.0
1.10.0
1.9.0
1.8.1
1.8.0
1.7.0
1.6.1
1.6.0
1.5.0
1.4.0
1.3.0
1.2.0
Downloads
On Read the Docs
Project Home
Builds