See this page for the Verilog equivalent
Sigasi can check that header comments match specified patterns. A header comment is a comment associated with a declaration or file. A file header comment starts at the first character of the file (no leading whitespace). Documentation generation details how comments are associated with declarations. Sigasi supports checking header comments on files, architectures, concurrent blocks, configurations, contexts, entities, functions, package bodies, packages, package instantiations, procedures, and processes.
More information on header comment checking and naming conventions is available on the general Linting page.
Note that the entire comment is checked, including comment characters (-- or /* */).
Your patterns must also handle these characters.
Since Sigasi Studio 4.4, the raw string of the header comment is checked to allow for maximum compliance checking.
This means that when a new line is matched, users should use \r?\n to ensure the naming conventions work on all platforms.
Each pattern field accepts two regular expressions: a valid pattern (the comment must match) and an invalid pattern (the comment must not match). For Modular Projects, these are specified as an object { "valid": "...", "invalid": "..." }; either field may be omitted to drop that side of the check. For Classic Projects, the two patterns are joined by a single tab character (omit the tab to specify only a valid pattern, or prefix with a backslash-escaped tab to specify only an invalid pattern).
Rule configuration
These rules can be disabled for your project, or their severity and parameters can be modified in the project linting settings. Alternatively, they can be manually configured using one of the following templates, depending on the type of project you use.
For Modular Projects, add these entries to your project's
.sigasi/settings.jsonsettings file. To scope the settings to a specific folder or file instead of the whole project, place them inside an@overrideblock; to scope them to a specific target, place them inside a@targetsblock.JSONC{ "vhdl.rules.188.severity": "{ERROR|WARNING|INFO|IGNORE}", "vhdl.rules.188.parameters.architecture_header_comment": { "valid": "${regex}", "invalid": "${regex}" }, "vhdl.rules.188.parameters.comment_header": { "valid": "${regex}", "invalid": "${regex}" }, "vhdl.rules.188.parameters.configuration_header_comment": { "valid": "${regex}", "invalid": "${regex}" }, "vhdl.rules.188.parameters.context_header_comment": { "valid": "${regex}", "invalid": "${regex}" }, "vhdl.rules.188.parameters.entity_header_comment": { "valid": "${regex}", "invalid": "${regex}" }, "vhdl.rules.188.parameters.function_header_comment": { "valid": "${regex}", "invalid": "${regex}" }, "vhdl.rules.188.parameters.package_body_header_comment": { "valid": "${regex}", "invalid": "${regex}" }, "vhdl.rules.188.parameters.package_header_comment": { "valid": "${regex}", "invalid": "${regex}" }, "vhdl.rules.188.parameters.package_instantiation_header_comment": { "valid": "${regex}", "invalid": "${regex}" }, "vhdl.rules.188.parameters.procedure_header_comment": { "valid": "${regex}", "invalid": "${regex}" }, "vhdl.rules.188.parameters.process_header_comment": { "valid": "${regex}", "invalid": "${regex}" }, "vhdl.rules.188.parameters.concurrent_block_header_comment": { "valid": "${regex}", "invalid": "${regex}" } }For Classic Projects, add the VHDL lines to
.settings/com.sigasi.hdt.vhdl.linting.prefsand the Verilog/SystemVerilog lines to.settings/com.sigasi.hdt.verilog.linting.prefs:PREFS188/severity/${path}={error|warning|info|ignore} 188/params/architecture_header_comment/${path}=${regex} ${regex} 188/params/comment_header/${path}=${regex} ${regex} 188/params/configuration_header_comment/${path}=${regex} ${regex} 188/params/context_header_comment/${path}=${regex} ${regex} 188/params/entity_header_comment/${path}=${regex} ${regex} 188/params/function_header_comment/${path}=${regex} ${regex} 188/params/package_body_header_comment/${path}=${regex} ${regex} 188/params/package_header_comment/${path}=${regex} ${regex} 188/params/package_instantiation_header_comment/${path}=${regex} ${regex} 188/params/procedure_header_comment/${path}=${regex} ${regex} 188/params/process_header_comment/${path}=${regex} ${regex} 188/params/concurrent_block_header_comment/${path}=${regex} ${regex}