vhdl-style-guide

Contents:

  • Overview
    • Why VSG?
    • Key Benefits
    • Key Features
    • Known Limitations
  • Gallery
    • Entities
    • Architectures
    • Component Declarations
    • Component Instantiations
    • Concurrent Signal Assignments
  • Installation
    • PIP
    • GitHub
  • 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
      • Example: style set to require_blank_line_unless_pragma
      • Rules Enforcing Blank Lines
    • Configuring Block Comments
      • Block Comment Structure
      • Examples
      • Rules Enforcing Block Comments
    • Configuring Comment Keywords
      • Rules Enforcing Comment Keywords
    • 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
      • Example: include_type_is_keyword set to yes
      • Example: include_type_is_keyword set to no
      • Example: aggregate_parens_ends_group set to yes
      • Example: aggregate_parens_ends_group set to no
      • Example: aggregate_parens_ends_group set to yes and ignore_single_line_aggregates set to yes
      • Example: align_to set to current_indent
      • Example: align_to set to keyword
      • Rules Enforcing Keyword Alignment
    • Configuring Length Rules
      • Overriding Line Length
      • Overriding File Line Length
      • Overriding 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 Map New Line
      • Example: after_port_clause set to remove_new_line
      • Example: after_port_clause set to add_new_line
      • Example: after_instantiated_unit set to remove_new_line
      • Example: after_instantiated_unit set to add_new_line
      • Example: after_generic_map_aspect set to remove_new_line
      • Example: after_generic_map_aspect set to add_new_line
      • Rules Enforcing This Configuration
    • Configuring Port Mode Alignment
      • Example: Align modes to the left (default)
      • Example: Align modes based on type
      • Rules Enforcing Alignment
    • Configuring Pragmas
      • Rules Using Pragmas
    • Configuring Prefix and Suffix Rules
      • Overriding Default Prefix Enforcement
      • Overriding Default Suffix Enforcement
      • Exceptions to Prefix and 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 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 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 Subprogram Specification Statement Rules
      • Example: first_open_paren set to add_new_line
      • Example: last_close_paren set to remove_new_line
      • Example: interface_element set to remove_new_line
      • Rules Enforcing Subprogram Specification Structure
    • 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_or_lower
      • 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: case set to regex and regex set to [A-Z][A-Za-zd]*
      • 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 Use Clause Indenting
    • Configuring User Error Messages
      • Example without user_error_message defined
      • Example with user_error_message defined
    • 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
      • Example: allow at most 4 spaces before colon
      • Rules Enforcing Whitespace
    • Configuring Whitespace After Comment Rules
      • Example
      • Rules Enforcing Whitespace After Comment
    • Configuring VHDL Reserved Words
      • Example: standard set to 1987
      • Example: standard set to 1993
      • Example: standard set to 2008
      • Rules Enforcing Optional Items
  • 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
      • after_500
    • Aggregate Rules
      • aggregate_500
    • Alias Declaration Rules
      • alias_declaration_001
      • alias_declaration_100
      • alias_declaration_101
      • alias_declaration_102
      • alias_declaration_103
      • 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
    • Array Constraint Rules
      • array_constraint_500
    • Assert Rules
      • assert_001
      • assert_002
      • assert_003
      • assert_004
      • assert_005
      • assert_100
      • assert_101
      • assert_102
      • assert_400
      • assert_500
      • assert_501
      • assert_502
    • 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
    • Bit String Literal Rules
      • bit_string_literal_500
      • bit_string_literal_501
    • 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_300
      • case_500
    • Case Generate Alternative Rules
      • case_generate_alternative_100
      • case_generate_alternative_101
      • case_generate_alternative_300
      • case_generate_alternative_500
      • case_generate_alternative_501
    • Case Generate Statement Rules
      • case_generate_statement_100
      • case_generate_statement_101
      • case_generate_statement_400
      • case_generate_statement_500
      • case_generate_statement_501
    • Choice Rules
      • choice_500
    • 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
      • component_022
    • 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_001
      • 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_101
      • constant_200
      • constant_400
      • constant_600
    • Constrained Array Definition Rules
      • constrained_array_definition_500
      • constrained_array_definition_501
    • 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
    • Delay Mechanism Rules
      • delay_mechanism_500
      • delay_mechanism_501
      • delay_mechanism_502
    • 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
      • exit_statement_301
      • exit_statement_500
      • exit_statement_501
    • Exponent Rules
      • exponent_500
    • External Constant Name Rules
      • external_constant_name_100
      • external_constant_name_101
      • external_constant_name_102
      • external_constant_name_103
      • external_constant_name_104
      • external_constant_name_500
    • External Signal Name Rules
      • external_signal_name_100
      • external_signal_name_101
      • external_signal_name_102
      • external_signal_name_103
      • external_signal_name_104
      • external_signal_name_500
    • External Variable Name Rules
      • external_variable_name_100
      • external_variable_name_101
      • external_variable_name_102
      • external_variable_name_103
      • external_variable_name_104
      • external_variable_name_500
    • File Rules
      • file_001
      • file_002
      • file_003
      • file_100
      • file_500
    • File Open Information Rules
      • file_open_information_500
      • file_open_information_501
      • file_open_information_502
    • File Type Definition Rules
      • file_type_definition_500
      • file_type_definition_501
    • 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
      • for_generate_statement_502
    • 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_019
      • function_020
      • function_100
      • function_101
      • function_201
      • function_202
      • function_203
      • function_204
      • function_300
      • function_501
      • function_502
      • function_506
      • function_507
      • function_508
      • function_509
      • function_510
      • function_511
      • function_512
      • 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_020
      • generate_021
      • generate_400
      • generate_401
      • generate_402
      • generate_403
      • generate_404
      • generate_405
      • generate_500
      • generate_501
      • generate_600
      • generate_601
      • generate_602
    • 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_009
      • generic_map_100
      • generic_map_101
      • generic_map_300
      • generic_map_301
      • generic_map_302
      • 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
    • Index Subtype Definition Rules
      • index_subtype_definition_500
    • 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_300
      • instantiation_500
      • instantiation_600
      • instantiation_601
    • Interface Incomplete Type Declaration Rules
      • interface_incomplete_type_declaration_500
      • interface_incomplete_type_declaration_501
      • interface_incomplete_type_declaration_600
      • interface_incomplete_type_declaration_601
    • Iteration Scheme Rules
      • iteration_scheme_100
      • iteration_scheme_101
      • iteration_scheme_300
      • iteration_scheme_301
      • iteration_scheme_500
      • iteration_scheme_501
      • iteration_scheme_502
    • 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
      • loop_statement_602
      • loop_statement_603
    • Next Statement Rules
      • next_statement_300
      • next_statement_301
      • next_statement_500
      • next_statement_501
    • Null Statement Rules
      • null_statement_300
      • null_statement_301
      • null_statement_500
    • 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
    • Package Instantiation Rules
      • package_instantiation_001
      • package_instantiation_002
      • package_instantiation_003
      • package_instantiation_004
      • package_instantiation_100
      • package_instantiation_101
      • package_instantiation_102
      • package_instantiation_103
      • package_instantiation_200
      • package_instantiation_201
      • package_instantiation_300
      • package_instantiation_500
      • package_instantiation_501
      • package_instantiation_502
      • package_instantiation_503
      • package_instantiation_504
      • package_instantiation_600
      • package_instantiation_601
    • Parameter Specification Rules
      • parameter_specification_500
      • parameter_specification_501
    • 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_100
      • port_101
      • 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_006
      • port_map_007
      • port_map_008
      • port_map_009
      • port_map_010
      • port_map_011
      • port_map_100
      • port_map_101
      • port_map_200
      • port_map_300
      • port_map_301
      • port_map_302
    • Pragma Rules
      • pragma_300
      • pragma_400
      • pragma_401
      • pragma_402
      • pragma_403
    • 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_013
      • procedure_014
      • 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_508
      • procedure_509
      • procedure_510
      • procedure_511
    • 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
      • procedure_call_502
    • 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
    • Protected Type Rules
      • protected_type_300
      • protected_type_500
      • protected_type_501
      • protected_type_502
    • Protected Type Body Rules
      • protected_type_body_300
      • protected_type_body_400
      • protected_type_body_401
      • protected_type_body_402
      • protected_type_body_500
      • protected_type_body_501
      • protected_type_body_502
      • protected_type_body_503
      • protected_type_body_504
    • Range Constraint Rules
      • range_constraint_500
    • 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
    • Reserved Rules
      • reserved_001
    • Return Statement Rules
      • return_statement_300
      • return_statement_301
      • 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_100
      • signal_101
      • signal_102
      • signal_200
      • signal_400
      • signal_600
    • Shift Operator Rules
      • shift_operator_500
    • 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
    • Subprogram Instantiation Rules
      • subprogram_instantiation_001
      • subprogram_instantiation_002
      • subprogram_instantiation_003
      • subprogram_instantiation_004
      • subprogram_instantiation_005
      • subprogram_instantiation_100
      • subprogram_instantiation_101
      • subprogram_instantiation_102
      • subprogram_instantiation_103
      • subprogram_instantiation_104
      • subprogram_instantiation_500
      • subprogram_instantiation_501
      • subprogram_instantiation_502
      • subprogram_instantiation_503
    • Subprogram Kind Rules
      • subprogram_kind_500
      • subprogram_kind_501
    • Subtype Rules
      • subtype_001
      • subtype_002
      • subtype_003
      • subtype_004
      • subtype_005
      • subtype_006
      • subtype_100
      • subtype_101
      • subtype_102
      • subtype_200
      • subtype_201
      • subtype_202
      • 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_100
      • type_200
      • type_400
      • type_500
      • type_501
      • type_600
    • Type Mark Rules
      • type_mark_500
    • Unfixable Rules
      • Comments
      • Configuration
      • Default Assignments
      • Formatting Options
      • Identifier Restrictions
      • Lengths
      • Missing Labels
      • Positional Assignments
      • Prefix and Suffix
    • Unbounded Array Definition Rules
      • unbounded_array_definition_500
      • unbounded_array_definition_501
    • 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_100
      • variable_101
      • variable_102
      • variable_103
      • 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
      • wait_300
      • wait_500
      • wait_501
      • wait_502
      • wait_503
    • 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_100
      • whitespace_101
      • whitespace_200
    • With Rules
      • with_001
  • Contributing
    • Bug Reports
    • Code Base Improvements
    • Feature Requests
    • Pull Requests
    • Quality Control
  • Theory of Operation
    • Tokenizing
    • Tokens
    • Classifying
      • detect
      • classify
      • classify_until
      • Example
    • Internal Data Structure
      • Example
    • Rule Selection
      • Goals
      • Guidelines
      • Example
    • Rule Directory Structure
  • Processes
    • Project Board
      • Issue flow chart
      • Issue Triage
      • Development
      • Bugs
      • Next Release
      • Releases
      • Deferred
      • Version 4.0
    • Branch Creation
    • Release Process
  • Developing
    • Development Environment
      • Clone the repo
      • Setup alias
      • Install prerequisites
    • Helpful Tools
      • vsg_parser
    • Adding a rule
      • Create Documentation
      • Create Test
      • Create Rule
    • Prepare for pull request
  • Release Notes
vhdl-style-guide
  • Rule Groups
  • Case::Name Rule Group
  • View page source

Case::Name Rule Group

Rules Enforcing Case::Name Rule Group

  • alias_declaration_502

  • architecture_011

  • architecture_013

  • architecture_014

  • attribute_declaration_501

  • attribute_declaration_502

  • attribute_specification_501

  • component_008

  • component_012

  • constant_004

  • context_012

  • context_016

  • context_ref_500

  • context_ref_501

  • entity_008

  • entity_012

  • entity_specification_503

  • file_500

  • function_017

  • function_506

  • function_507

  • function_508

  • generic_007

  • generic_map_002

  • instantiation_009

  • instantiation_028

  • instantiation_500

  • interface_incomplete_type_declaration_501

  • library_500

  • package_008

  • package_010

  • package_body_502

  • package_body_507

  • package_instantiation_501

  • package_instantiation_504

  • parameter_specification_500

  • port_010

  • port_map_002

  • procedure_501

  • procedure_506

  • procedure_508

  • procedure_509

  • procedure_call_502

  • signal_004

  • subprogram_instantiation_500

  • subprogram_instantiation_503

  • subtype_501

  • type_004

  • type_500

  • type_mark_500

  • use_clause_500

  • use_clause_501

  • use_clause_502

  • variable_004

Previous Next

© Copyright 2017-2020, Jeremiah C Leary.

Built with Sphinx using a theme provided by Read the Docs.