Formal Verification
Formal Verification is a Linty scan engine that provides additional rules based on formal verification. These advanced rules help you detect bugs and vulnerabilities, improving the reliability and security of your IPs.
BugFinder is available as part of Linty Ultra.
Workflow
Generate and run formal checks directly in VS Code with the Linty Formal Verification extension.
Save these formal checks in your project repository (default location:
.linty/formal; this can be updated via thesonar.hdl.formal.pathsproperty).Integrate these formal checks into your continuous integration workflow. First, activate the formal verification rules tagged as formal in your quality profiles. Then, run a Linty scan.
Custom Formal Checks
You can embed your own formal checks based on SymbiYosys into Linty. To do so, for each check:
Create a rule from the Linty formal check template and activate it in your quality profiles.
Get the ID of the rule you just created.
Add the following line at the top of your formal check
.sbyfile:# Linty check ID: my_rule. Replacemy_rulewith the ID of the rule you just created (everything afterhdlformal).Store the
.sbyfile in your project repository (default location:.linty/formal; this can be updated via thesonar.hdl.formal.pathsproperty).