Release Notes
4.0.0
Released on December 17th, 2024.
Release Notes
Reset domain crossings (RDC) detection
Fully rewritten Verilog/SystemVerilog plugin:
Parses all standards
Runs much faster
Adds 136 new rules, most of which are included in the free version of Linty HDL Designer
Rules and reports on FSM now also apply to Verilog and mixed-language projects
Built on SonarQube 10.7
New rules
145 new rules:
HDL: 8 new rules on reset domains, RDC, input port registration, etc.
VHDL: 1 new rule on not using reserved words in future VHDL standards as identifiers
Verilog/SystemVerilog: 136 new rules on implicit casts and conversions, overflows and many more
Upgrade notes
The following rules now apply to VHDL, Verilog/SystemVerilog and mixed-language designs:
VHDL1057 => HDL1016 - The number of reset domains per design should be as low as possible
VHDL1058 => HDL1018 - All global resets should be generated within a unique reset management module
VHDL1059 => HDL1020 - Reset management modules should comply with a naming convention
VHDL1060 => HDL1019 - Clock management module and reset management module should be the same module
VHDL1007 => HDL1023 - Track finite state machines (FSM)
VHDL1020 => HDL1024 - FSM should have a minimal number of states
VHDL1019 => HDL1025 - FSM should not have too many states
VHDL1021 => HDL1026 - FSM should not have too many output signals
VHDL1022 => HDL1027 - FSM should not have too many input signals
VHDL1003 => HDL1028 - FSM state signal names should comply with a naming convention
VHDL1023 => HDL1029 - FSM should not have states that can target too many other states
Activate corresponding HDL rules if some of these VHDL rules were activated in your VHDL quality profiles.
3.1.0
Released on May 18th, 2024.
Release Notes
This release focuses on architecture with new rules and design hierarchy graph in Linty HDL Designer. It also provides the ability to generate documentation as HTML.
Built on SonarQube 10.5.1.
New rules
VHDL317 - A function or procedure should not have too many parameters
VHDL1073 - All assertions failing as note should be reviewed
VHDL1074 - All assertions failing as warning should be reviewed
VHDL1075 - All assertions failing as error should be reviewed
HDL1012 - A module should not depend on too many other modules
HDL1015 - Clock management module should be instantiated in top module
Rules that now apply to VHDL, Verilog/SystemVerilog and mixed-language designs
Upgrade Notes
Activate HDL1013 and HDL1014 to replace removed VHDL1055 and VHDL1056 rules.
3.0.0
Released on February 8th, 2024.
Release Notes
Linty detects all clock domain crossings (CDC). You can now easily browse, investigate, accept or fix any clock domain crossing.
Built on SonarQube 10.3.0.
New rules
Rules that now apply to VHDL, Verilog/SystemVerilog and mixed-language designs
A new language has been created: HDL. HDL rules apply to VHDL, Verilog/SystemVerilog and mixed-language designs.
The following rules have been extended to apply to VHDL and Verilog/SystemVerilog and mixed-language designs. You should activate those rules in replacement of the related (and removed) VHDL/Verilog rules:
VHDL1054 => HDL1002 - The number of clock domains per design should be as low as possible
VHDL1048 => HDL1003 - Combinatorial loops should be removed
VHDL1000 => HDL1005 - All input ports should be connected
VHDL1001 => HDL1006 - All output ports should be connected
VHDL1002 => HDL1007 - All inout ports should be connected
VHDL1004 => HDL1008 - All output signals of top-level module should be registered
VHDL1016 => HDL1009 - All output signals of low-level modules should be registered
VHDL1017 => HDL1010 - Output signals should not be constant
VHDL1018 => HDL1011 -Ports should not be directly connected
VHDL177 and VERILOG007 => HDL001 - Files should contain an empty new line at the end
VHDL179 and VERILOG006 => HDL002 - End-line characters should be consistent
VHDL178 and VERILOG010 => HDL003 - Lines should not end with trailing whitespaces
VHDL034 and VERILOG011 => HDL004 - Tabulation characters should not be used
VHDL017 and VERILOG009 => HDL005 - Lines should not be too long
Linty Scanner adds compatibility to Windows and Mac
Linty analyses can now be run from Linux, Windows and Mac machines built on AMD, Intel or ARM processors.
Upgrade Notes
Please, ask for a new license key before upgrading to this latest version.
2.1.0
Released on November 25th, 2023.
Release Notes
You can now check more than 200 rules on your VHDL code.
Built on the latest SonarQube 10.3.0.
VHDL
12 new rules have been added:
VHDL1066 - Objects of different lengths should not be compared
VHDL1069 - Signals and variables should be assigned a value before being used
VHDL1070 - Clock names should not contain frequency information
VHDL306 - Only one single architecture per entity should be defined
VHDL187 has been split into three rules to allow different naming conventions for for
, if
and case
generate
statements:
VHDL187 - “for” generate statement labels should comply with a naming convention
VHDL309 - “if” generate statement labels should comply with a naming convention
VHDL310 - “case” generate statement labels should comply with a naming convention
Browse all new rules.
Upgrade Notes
VHDL168 rule has been removed. Activate its replacement that is able to deal with ranges: VHDL1065 - Choices should not overlap
2.0.0
Released on September 19th, 2023.
Release Notes
Linty now fully supports multi-language (VHDL and Verilog/SystemVerilog) projects.
Built on the latest SonarQube 10.2.0 version with support of Clean Code attributes.
VHDL
10 new rules have been added, most of them around clock and reset domains:
VHDL1054 - The number of clock domains per design should be as low as possible
VHDL1055 - All clocks should be generated within a unique clock management module
VHDL1061 - Clock names should be preserved across the design
Browse all new rules.
Upgrade Notes
Request a new licence key before upgrading
Update the following property keys if you set them for some of your projects:
sonar.vhdl.topLevelEntity
=>sonar.hdl.topModule
sonar.vhdl.file.simulationPaths
=>sonar.hdl.file.simulationPaths
sonar.vhdl.yosys.hierarchyScriptPath
=>sonar.bugfinder.hierarchyScriptPath
sonar.vhdl.yosys.readScriptPath
=>sonar.bugfinder.readScriptPath
sonar.vhdl.yosys.workdir
=>sonar.bugfinder.workdir
1.2.0
Released on July 4th, 2023.
Release Notes
Built on the latest SonarQube 10.1.0 version.
It is now possible to add custom plugins to the Linty platform.
VHDL
Linty VHDL now highlights, in gray, pieces of code that are not synthesized, adds four new rules:
and improves existing rules with knowledge of unused code.
Verilog
This version integrates BugFinder for Verilog with its first rule: VERILOG1000 - Unused modules should be removed and adds design graph of each module.
Upgrade Notes
Split your build.ys
file into read.ys
and hierarchy.ys
. Replace read -vhdl <my_file>
with verific -vhdl <my_file>
. See Scan Your Code for further details.
Two distributions of the linty-server Docker image are now available:
1.1.0
Released on April 26th, 2023.
Release Notes
Built on the latest SonarQube 10.0.0 version.
VHDL
This version adds two new rules:
And generates graphical representations of the design. It is nice, for instance, to easily spot combinatorial loops.
Upgrade Notes
Follow uprade guide.
1.0.0
Released on March 9th, 2023.
Release Notes
First official release of the Linty Server as Docker image.
VHDL
This version includes BugFinder, a new powerful engine to detect bugs based on synthesized code
analysis. BugFinder rules are tagged as bug-finder
).
There are 47 of them in this first version. Here are some of them:
Browse all of them on our demo instance.
Lots of rules have been added or improved. Some rules also changed ID because they were re-implemented with BugFinder. Thus, we highly recommend you to review your quality profile(s) to (re)activate and configure new rules.