2420 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			2420 lines
		
	
	
		
			29 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| version "4.2"
 | |
| EngineDLLVersion "2.1"
 | |
| TopRuleSet (RuleSet
 | |
| name "Essentials"
 | |
| build "DesignChecker 2007.1a (Build 13) 
 | |
| Built on Mon Feb 25 2008 at 12:14"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| SeverityClassDefinition (SeverityClass
 | |
| SeverityClassName "Default SeveritySet"
 | |
| SeverityLevels [
 | |
| (SeverityLevel
 | |
| LevelName "Error"
 | |
| isDefaultLevel 1
 | |
| Red 255
 | |
| Green 0
 | |
| Blue 0
 | |
| Score 5
 | |
| Weight 2
 | |
| )
 | |
| (SeverityLevel
 | |
| LevelName "Warning"
 | |
| isDefaultLevel 0
 | |
| Red 0
 | |
| Green 0
 | |
| Blue 255
 | |
| Score 2
 | |
| Weight 1
 | |
| )
 | |
| (SeverityLevel
 | |
| LevelName "Note"
 | |
| isDefaultLevel 0
 | |
| Red 0
 | |
| Green 255
 | |
| Blue 0
 | |
| Score 1
 | |
| Weight 1
 | |
| )
 | |
| ]
 | |
| )
 | |
| RuleSets [
 | |
| (RuleSet
 | |
| name "Coding Practices"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| SeverityClassDefinition (SeverityClass
 | |
| SeverityClassName "Default SeveritySet"
 | |
| SeverityLevels [
 | |
| (SeverityLevel
 | |
| LevelName "Error"
 | |
| isDefaultLevel 1
 | |
| Red 255
 | |
| Green 0
 | |
| Blue 0
 | |
| Score 5
 | |
| Weight 2
 | |
| )
 | |
| (SeverityLevel
 | |
| LevelName "Warning"
 | |
| isDefaultLevel 0
 | |
| Red 0
 | |
| Green 0
 | |
| Blue 255
 | |
| Score 2
 | |
| Weight 1
 | |
| )
 | |
| (SeverityLevel
 | |
| LevelName "Note"
 | |
| isDefaultLevel 0
 | |
| Red 0
 | |
| Green 255
 | |
| Blue 0
 | |
| Score 1
 | |
| Weight 1
 | |
| )
 | |
| ]
 | |
| )
 | |
| RuleSets [
 | |
| ]
 | |
| Rules [
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Unknown Objects"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Unknown Objects"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Error"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "5"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Objects must be declared before being used."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks for objects which are used, but have not been declared."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "unknown"
 | |
| "objects"
 | |
| "identifiers"
 | |
| "dependencies"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Detect"
 | |
| ParamValues [
 | |
| "<all>"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Unused Declarations"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Unused Declarations"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Warning"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "1"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "The object has been declared but not used (read from or assigned to)."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks for objects which have been declared, but are never used."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "unused"
 | |
| "declarations"
 | |
| "unread"
 | |
| "unwritten"
 | |
| "uncalled"
 | |
| "identifiers"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Detect"
 | |
| ParamValues [
 | |
| "Identifiers: Read but not Written"
 | |
| "Identifiers: Written but not Read"
 | |
| "Identifiers: Neither Read nor Written"
 | |
| "Generics: Not Used"
 | |
| "Functions: Not Called"
 | |
| "Procedures: Not Called"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Unassigned Objects"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Unassigned Objects"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Warning"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "1"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Objects should be assigned values before they are used."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks objects are assigned values before they are used."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "unassigned"
 | |
| "objects"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Unconnected Ports"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Unconnected Ports"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Warning"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "1"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "All output ports should be connected. All input ports should be driven by another signal or constant '0 or '1' value."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks that input and/or output ports are connected."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "unconnected"
 | |
| "ports"
 | |
| "input"
 | |
| "output"
 | |
| "bi-directional"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Detect"
 | |
| ParamValues [
 | |
| "All Unconnected Ports"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Gated Clocks"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Gated Clocks"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Warning"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "1"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Avoid gated clocks."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks for the use of gated clocks."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "clocks"
 | |
| "gated"
 | |
| "gating"
 | |
| "synchronous"
 | |
| "enable"
 | |
| "load"
 | |
| "register"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Action"
 | |
| ParamValues [
 | |
| "Allow if Using Synchronous Load Registers"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Internally Generated Clocks"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Internally Generated Clocks"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Warning"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "1"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Internally generated clocks should be isolated at the top-level."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks any internally generated clocks are isolated at the top-level."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "clocks"
 | |
| "generated"
 | |
| "internally"
 | |
| "isolation"
 | |
| "isolated"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Action"
 | |
| ParamValues [
 | |
| "Allow if isolated at Top-Level"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Internally Generated Resets"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Internally Generated Resets"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Warning"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "1"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Internally generated resets should be isolated at the top-level."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks any internally generated resets are isolated at the top-level."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "asynchronous"
 | |
| "generated"
 | |
| "internally"
 | |
| "isolation"
 | |
| "isolated"
 | |
| "resets"
 | |
| "synchronous"
 | |
| "style"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Action"
 | |
| ParamValues [
 | |
| "Allow if isolated at Top-Level"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Reset Style"
 | |
| ParamValues [
 | |
| "<don't care>"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Mixed Clocks Resets"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Mixed Clocks Resets"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Error"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "5"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Do not use the same signal as a clock and reset."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks for signals being used as both clock and reset."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "clocks"
 | |
| "mixed"
 | |
| "resets"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Consistent Resets"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Consistent Resets"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Error"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "5"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Do not use the same reset signal with mixed styles or polarities within the same process/block."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks the reset signal is used consistently."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "asynchronous"
 | |
| "consistent"
 | |
| "mixed"
 | |
| "polarity"
 | |
| "resets"
 | |
| "synchronous"
 | |
| "Verilog"
 | |
| "VHDL"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Disallow"
 | |
| ParamValues [
 | |
| "Mixed Synchronous/Asynchronous Styles"
 | |
| "Mixed Polarities"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hierarchy Level"
 | |
| ParamValues [
 | |
| "Process"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Multiple Drivers"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Multiple Drivers"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Warning"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "1"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Do not assign to the same signal/variable in more than one sequential block."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks for multiple drivers."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "drivers"
 | |
| "multiple"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Matching Range"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Matching Range"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Error"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "5"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Ensure bit widths on both sides of an assignment/comparison match. Ensure Port & Net declarations match."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks for compatible bit widths."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "assignments"
 | |
| "associations"
 | |
| "comparisons"
 | |
| "declarations"
 | |
| "explicit"
 | |
| "port"
 | |
| "net"
 | |
| "widths"
 | |
| "out-of-boud"
 | |
| "index"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Match"
 | |
| ParamValues [
 | |
| "Explicit Widths in Assignments"
 | |
| "Explicit Widths in Comparisons"
 | |
| "Explicit Widths in Associations"
 | |
| "Port & Net Declarations"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "FSM Transitions"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "FSM Transitions"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Error"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "5"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Ensure unused states transition directly to the initialization state."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks that unused states can transition to a recovery state and that all states transition to a known state."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "FSM"
 | |
| "states"
 | |
| "transitions"
 | |
| "Verilog"
 | |
| "VHDL"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Detect Transitions"
 | |
| ParamValues [
 | |
| "<all>"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "State Variables"
 | |
| ParamValues [
 | |
| "<don't care>"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Logical and Bitwise Operators"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Logical and Bitwise Operators"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Warning"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "1"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Use logical and bit-wise operators correctly."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks for the correct usage of Verilog logical and bit-wise operators."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "bitwise"
 | |
| "logical"
 | |
| "operators"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Sub-Program Body"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Sub-Program Body"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Warning"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "1"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Ensure the sub-program has only one exit point and is not recursive."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks if the sub-program has a single exit point and is not recursive."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "subprogram"
 | |
| "functions"
 | |
| "procedures"
 | |
| "local"
 | |
| "variables"
 | |
| "non-local"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Sub-Program"
 | |
| ParamValues [
 | |
| "Functions"
 | |
| "Procedures"
 | |
| "Tasks"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Allow Assign To"
 | |
| ParamValues [
 | |
| "<don't care>"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Disallow"
 | |
| ParamValues [
 | |
| "Multiple exit points/return statements"
 | |
| "Missing exit point/return statement"
 | |
| "Recursion"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Unique Names"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Unique Names"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Warning"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "1"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Use unique FSM states names throughout the design."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks that FSM states names are unique throughout the design."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "names"
 | |
| "unique"
 | |
| "FSM"
 | |
| "instance"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Unique"
 | |
| ParamValues [
 | |
| "FSM state names"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (RuleSet
 | |
| name "Downstream Checks"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| SeverityClassDefinition (SeverityClass
 | |
| SeverityClassName "Default SeveritySet"
 | |
| SeverityLevels [
 | |
| (SeverityLevel
 | |
| LevelName "Error"
 | |
| isDefaultLevel 1
 | |
| Red 255
 | |
| Green 0
 | |
| Blue 0
 | |
| Score 5
 | |
| Weight 2
 | |
| )
 | |
| (SeverityLevel
 | |
| LevelName "Warning"
 | |
| isDefaultLevel 0
 | |
| Red 0
 | |
| Green 0
 | |
| Blue 255
 | |
| Score 2
 | |
| Weight 1
 | |
| )
 | |
| (SeverityLevel
 | |
| LevelName "Note"
 | |
| isDefaultLevel 0
 | |
| Red 0
 | |
| Green 255
 | |
| Blue 0
 | |
| Score 1
 | |
| Weight 1
 | |
| )
 | |
| ]
 | |
| )
 | |
| RuleSets [
 | |
| ]
 | |
| Rules [
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Sensitivity List"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Sensitivity List"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Error"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "5"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Sensitivity list should contain only the signals needed by the process/block."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks that sensitivity lists are complete and do not include unnecessary signals."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "missing"
 | |
| "sensitivity"
 | |
| "sliced"
 | |
| "unneeded"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Check For"
 | |
| ParamValues [
 | |
| "Missing Signals"
 | |
| "Unneeded Signals"
 | |
| "Sliced Signals"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Unsynthesizable Event Controls"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Unsynthesizable Event Controls"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Error"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "5"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Avoid the use of non-synthesizable Event Controls."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks for unsynthesizable event controls in sensitivity lists."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "synthesizable"
 | |
| "event"
 | |
| "controls"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Clock Used As Data"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Clock Used As Data"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Error"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "5"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Avoid using clock signals as data."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks for clock signals being used as data."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "clock"
 | |
| "condition"
 | |
| "data"
 | |
| "race"
 | |
| "Verilog"
 | |
| "VHDL"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Latch Inference"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Latch Inference"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Error"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "5"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Avoid latch inference."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks for the possible inference of latches."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "latch"
 | |
| "inference"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Applies To"
 | |
| ParamValues [
 | |
| "All Block Types"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Register IO"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Register IO"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Warning"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "1"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "All outputs of each process/block of a hierarchical design should be registered."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks that process/block and FSM output ports are registered."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "register"
 | |
| "input"
 | |
| "output"
 | |
| "IO"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Applies To"
 | |
| ParamValues [
 | |
| "Block Outputs"
 | |
| "FSM Outputs"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Check Non-Clocked Blocks"
 | |
| ParamValues [
 | |
| "No"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Eliminate Glue Logic"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Eliminate Glue Logic"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Warning"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "1"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Ensure Verilog built-in primitives are isolated into separate modules."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks any instances of Verilog built-in primitives and UDPs are isolated into separate modules."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "glue-logic"
 | |
| "eliminate"
 | |
| "UDPs"
 | |
| "Primitives"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Logic Type"
 | |
| ParamValues [
 | |
| "Primitives"
 | |
| "UDPs"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hierarchy Level"
 | |
| ParamValues [
 | |
| "Top-Level"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Isolation"
 | |
| ParamValues [
 | |
| "Isolate Gates in Separate Modules"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Initialization Assignments"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Initialization Assignments"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Warning"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "1"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Avoid using default initialization."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks for the use of initialization assignments rather than explicit resets."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "assignments"
 | |
| "initializations"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Allowed Constructs"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Non Synthesizable Constructs"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Error"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "5"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Avoid constructs which make the code  non-synthesizable."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks for the use of non-synthesizable language constructs (except delays)"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "allowed"
 | |
| "constructs"
 | |
| "non-portable"
 | |
| "non-synthesizable"
 | |
| "portable"
 | |
| "synthesizable"
 | |
| "Verilog"
 | |
| "VHDL"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Disallowed Constructs"
 | |
| ParamValues [
 | |
| "Functions Returning Type Real"
 | |
| "while Loops"
 | |
| "Multiple Wait Statements on Same Clock"
 | |
| "Real Types"
 | |
| "Zero Delayed Assignments"
 | |
| "Incomplete Types"
 | |
| "Infinite Loops"
 | |
| "Global Signals"
 | |
| "ALIAS"
 | |
| "BUFFER"
 | |
| "Enumeration Type as Array Index"
 | |
| "FILE"
 | |
| "INERTIAL Delay"
 | |
| "POSTPONED"
 | |
| "PURE FUNCTION"
 | |
| "TRANSPORT Delay"
 | |
| "VARIABLE"
 | |
| "WAIT"
 | |
| "WAIT with Timeout"
 | |
| "`timescale"
 | |
| "Array of Integers"
 | |
| "casex"
 | |
| "casez"
 | |
| "deassign"
 | |
| "defparam"
 | |
| "event"
 | |
| "force"
 | |
| "fork join"
 | |
| "Hierarchical Names"
 | |
| "initial Blocks"
 | |
| "Net Strengths"
 | |
| "Procedural Continuous assign"
 | |
| "forever Loops"
 | |
| "repeat Loops"
 | |
| "release"
 | |
| "specify"
 | |
| "String Literals"
 | |
| "System Functions"
 | |
| "System Tasks"
 | |
| "$finish"
 | |
| "$stop"
 | |
| "time"
 | |
| "User Defined Primitives"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Untested Edge Trigger"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Untested Edge Trigger"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Error"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "5"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Synthesis requires a single, untested edge trigger in order to identify the clock."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks for a single untested edge trigger in Verilog event control logic."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "edge"
 | |
| "triggers"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Constrained Ranges & Bounds"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Constrained Ranges & Bounds"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Warning"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "1"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "VHDL Integer, and Real number types must have ranges. Vector types must have bounds"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks that all VHDL numbers have specified ranges and all vectors have specified bounds."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "bounds"
 | |
| "constrained"
 | |
| "ranges"
 | |
| "vector"
 | |
| "Verilog"
 | |
| "VHDL"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Applies To"
 | |
| ParamValues [
 | |
| "<all>"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Range / Bound"
 | |
| ParamValues [
 | |
| "<all>"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Range Type"
 | |
| ParamValues [
 | |
| "<don't care>"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Asynchronous Block"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Asynchronous Block"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Error"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "5"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Asynchronous always block contains more than one sequential statement, this may be not synthesizable"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks the synthesizability of asynchronous Verilog always blocks."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "asynchronous"
 | |
| "block"
 | |
| "Verilog"
 | |
| "VHDL"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Detect"
 | |
| ParamValues [
 | |
| "<all>"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Allowed Operators"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Non Synthesizable Operators"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Error"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "5"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Do not use disallowed operators."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks for disallowed operators usage."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "Operators"
 | |
| "Verilog"
 | |
| "VHDL"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Scope"
 | |
| ParamValues [
 | |
| "<Design Units>"
 | |
| "<Subprograms>"
 | |
| "<Blocks>"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Disallowed Operators"
 | |
| ParamValues [
 | |
| "Case Equality ( === )"
 | |
| "Case Inequality ( !== )"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (RuleSet
 | |
| name "Code Reuse"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| SeverityClassDefinition (SeverityClass
 | |
| SeverityClassName "Default SeveritySet"
 | |
| SeverityLevels [
 | |
| (SeverityLevel
 | |
| LevelName "Error"
 | |
| isDefaultLevel 1
 | |
| Red 255
 | |
| Green 0
 | |
| Blue 0
 | |
| Score 5
 | |
| Weight 2
 | |
| )
 | |
| (SeverityLevel
 | |
| LevelName "Warning"
 | |
| isDefaultLevel 0
 | |
| Red 0
 | |
| Green 0
 | |
| Blue 255
 | |
| Score 2
 | |
| Weight 1
 | |
| )
 | |
| (SeverityLevel
 | |
| LevelName "Note"
 | |
| isDefaultLevel 0
 | |
| Red 0
 | |
| Green 255
 | |
| Blue 0
 | |
| Score 1
 | |
| Weight 1
 | |
| )
 | |
| ]
 | |
| )
 | |
| RuleSets [
 | |
| ]
 | |
| Rules [
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Allowed Constructs"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Non-Portable Constructs"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Warning"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "1"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Avoid constructs which make the code non-portable."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks for the use of non-portable language constructs."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "allowed"
 | |
| "constructs"
 | |
| "non-portable"
 | |
| "non-synthesizable"
 | |
| "portable"
 | |
| "synthesizable"
 | |
| "Verilog"
 | |
| "VHDL"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Disallowed Constructs"
 | |
| ParamValues [
 | |
| "<all non portable constructs>"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Allowed Pragmas"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Allowed Pragmas"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Warning"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "1"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Avoid embedded, tool-specific pragmas/commands."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks for the use of pragmas other than translate_on/off, synthesis_on/off"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "pragmas"
 | |
| "synthesis"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Disallowed Pragmas"
 | |
| ParamValues [
 | |
| "Other Specific Pragmas"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Vector Order"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Vector Order"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Warning"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "1"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Ensure all vector dimensions are ordered high to low and the low index bound is 0."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks all vector dimensions are ordered high to low and the low index bound is 0."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "order"
 | |
| "vector"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Style"
 | |
| ParamValues [
 | |
| "Descending"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Applies To"
 | |
| ParamValues [
 | |
| "Vector Bounds"
 | |
| "Integer Range Constraints"
 | |
| "Real Range Constraints"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Low Index Bound"
 | |
| ParamValues [
 | |
| "0"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "VITAL Port Types"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "VITAL Port Types"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Error"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "5"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Top level ports must use STD_LOGIC_1164 types only."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks that top-level ports use types from Std_Logic_1164 only."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "VITAL"
 | |
| "port"
 | |
| "type"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Scalar Ports Types"
 | |
| ParamValues [
 | |
| "std_logic"
 | |
| "std_ulogic"
 | |
| "Any subtype of std_ulogic"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Array Ports Types"
 | |
| ParamValues [
 | |
| "std_logic_vector"
 | |
| "std_ulogic_vector"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Allowed Constructs"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Reserved Words"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Error"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "5"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| "Verilog Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Avoid the use of VHDL reserved words in Verilog designs and vice-versa"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks for the use of VHDL reserved words in Verilog and vice-versa"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "allowed"
 | |
| "constructs"
 | |
| "non-portable"
 | |
| "non-synthesizable"
 | |
| "portable"
 | |
| "synthesizable"
 | |
| "Verilog"
 | |
| "VHDL"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Disallowed Constructs"
 | |
| ParamValues [
 | |
| "<Verilog reserved words in VHDL designs>"
 | |
| "<VHDL reserved words in Verilog designs>"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| (ConfiguredRule
 | |
| BaseRuleName "Allowed Types"
 | |
| UserDefinedSeverity "Default SeveritySet"
 | |
| Params [
 | |
| (Params
 | |
| ParamName "Name"
 | |
| ParamValues [
 | |
| "Use IEEE types only"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Severity"
 | |
| ParamValues [
 | |
| "Error"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Score"
 | |
| ParamValues [
 | |
| "5"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Weight"
 | |
| ParamValues [
 | |
| "2"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Language"
 | |
| ParamValues [
 | |
| "VHDL Any"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Hint"
 | |
| ParamValues [
 | |
| "Use IEEE types only. Subtypes must be based on IEEE standard types."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Short Description"
 | |
| ParamValues [
 | |
| "Checks all types are IEEE types or subtypes based on IEEE standard types."
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Keywords"
 | |
| ParamValues [
 | |
| "allowed"
 | |
| "enumeration"
 | |
| "IEEE"
 | |
| "types"
 | |
| "Verilog"
 | |
| "VHDL"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Applies To"
 | |
| ParamValues [
 | |
| "<all>"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Action"
 | |
| ParamValues [
 | |
| "Allow"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Packages"
 | |
| ParamValues [
 | |
| "ieee.*"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Types"
 | |
| ParamValues [
 | |
| "<IEEE Types>"
 | |
| ]
 | |
| )
 | |
| (Params
 | |
| ParamName "Excluded Types"
 | |
| ParamValues [
 | |
| "FSM State Variables Enum Type"
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| ]
 | |
| )
 | |
| ]
 | |
| Rules [
 | |
| ]
 | |
| )
 |