Unit Linting: An easy way to prevent code review issues

Sunil Sahoo, Corporate Applications Engineer
Like(0)  Comments  (0)

Code reviews, aren’t they a pain? Every time you have to go through one, you find yourself thinking: “Why oh why I didn’t fix this thing in the beginning? It’ just a small formatting issue, but there are 100 files that have the same issue. I forgot to add comments to the state machines and I did not label my processes”. These very small issues may, in no way, affect the functionality of your design, but they are, say, required by your design guidelines. Don’t you wish you had done this right from the beginning?

 

Verification takes up to 70% of your design/verification process. And out of that 70%, how much do you think is just going back and fixing simple things that don’t really matter to design, but are required by company policy or design requirements? Wouldn’t it be nice to have a mechanism that will help with this? A quick way to run some checks while you are creating these files, so it will tell you what you are missing?

 

The good news: there is such a thing and it’s called Unit Linting, present in the recent 10.5 version release of Active-HDL 10.5; specifically in the tool’s HDL editor. If you own the Expert Edition license, you already have the ALINT-PRO license with the ALDEC basic ruleset included in that license. And if you didn’t know that, you are missing out on a great tool that will help you with linting checks on your design.

 

 

Before, you had to open your design in ALINT and run the linting process as a separate flow from your Active-HDL Workspace. Now, in Active-HDL 10.5, some linting features are included as part of the Active-HDL design, with the main one being the unit linting feature.

 

In the Active-HDL toolbar there is now a new button that will run unit linting on the open file and display the violations (right there, in Active-HDL console). Talk about convenience. You don’t have to launch another tool and/or load a new workspace, as you had to in the past. All you need to do is press one button in Active-HDL to expose all the unit lint violations. This integration lets you work on your design and simulations plus run linting from the same interface. Also, you have the added benefit of cross-probing directly to the line of the code that has caused the violation from the messages displayed in the console.

 

These unit level checks are only module level; i.e. it gives you the violations associated with that file alone. But when you are done with all your files, you can launch ALINT-PRO from within Active-HDL, just with a few clicks, and the tool will create a new workspace and design in ALINT-PRO and will add all the files needed, so you can run a full design level linting.

 

 

If you are a Riviera-PRO user don’t worry, we did not forget you. The next version of Riviera-PRO, the 2018.02, will have the same feature as listed above.

Sunil Sahoo provides support for customers exploring simulation tools as an Aldec Applications Engineer. His practical engineering experience includes areas in, Digital Designing, Functional Verification and Wireless Communications. He has worked in wide range of engineering positions that include Digital Design Engineer Verification Engineer and  Applications Engineer. He received his B.S. in Electronics and Communications Engineering from VIT University, India in 2008 and M.S in Computer Engineering from Villanova University, PA in 2010.

Comments

Ask Us a Question
x
Ask Us a Question
x
Captcha ImageReload Captcha
Incorrect data entered.
Thank you! Your question has been submitted. Please allow 1-3 business days for someone to respond to your question.
Internal error occurred. Your question was not submitted. Please contact us using Feedback form.
We use cookies to ensure we give you the best user experience and to provide you with content we believe will be of relevance to you. If you continue to use our site, you consent to our use of cookies. A detailed overview on the use of cookies and other website information is located in our Privacy Policy.