Verilog linting 工具?

发布于 2024-10-15 00:09:30 字数 1539 浏览 10 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

颜漓半夏 2024-10-22 00:09:30

我从未使用过免费的 linting 工具,例如您提到的(verilator)。

我唯一的经验是使用(昂贵的)商业 linting 工具。到目前为止,我使用的每一个规则都要求我花时间定制规则集,以过滤掉我认为不重要的检查。例如,默认情况下,每个工具都会生成许多与信号命名约定相关的警告。由于这些绝不会影响 RTL 合成门的方式或导致仿真问题,因此我选择禁用它们。

Spyglass 工具 (Atrenta) 似乎具有最广泛的功能,但也需要相当多的设置。我喜欢 Hal 工具(Cadence),因为它很容易立即开始使用(但是,它也需要一些设置)。

I have never used a free linting tool, such as the one you mentioned (verilator).

My only experience has been with (expensive) commercial linting tools. Thus far, every one I have used has required me to spend time to customize the rule-set to filter out checks which I consider unimportant. For example, by default, every tool generates many warnings related to signal naming conventions. Since these in no way affect how RTL is synthesized to gates or lead to simulation issues, I choose to disable them.

The Spyglass tool (Atrenta) seems to have the widest range of capabilities, but also requires quite a bit of set-up. I like the Hal tool (Cadence) because it is very easy to start using right away (but, it too requires some set-up).

野侃 2024-10-22 00:09:30

根据我的经验,这通常不值得。我尝试过的任何事情都需要大量的初始设置,因为开箱即用的他们会尝试检查所有内容。但每个商店都有自己的编码标准 - 因此您需要花费大量时间来调味 linter 来品尝。然后,一旦您尝试集成公司其他部门的 IP 或代码(这些部门通常对好的代码有不同的想法),linter 就会进入心理状态,因此您最终会说,wire im_happy = Verdi_happy &模拟器_快乐合成快乐;

In my experience, it's generally not worth it. Anything I've tried needs loads of initial setup because out-of-the-box they try to check everything. But each shop has it's own coding standards - so you spend loads of time seasoning the linter to taste. Then once you try to integrate IP or code from another section of the company (which generally have a different idea of nice code), the linter goes mental, so you end up saying, wire im_happy = Verdi_happy & simulator_happy & synth_happy;

梦里人 2024-10-22 00:09:30

我还使用过 Spyglass,并且像 toolic 所指出的那样,它需要设置一个运行脚本来检查甚至一个文件,并且默认检查会抱怨无用的事情,例如数组数据类型上的卸载位。 Conformal 还将为其 RTL 警告输出相当多的详细信息,并且如果形式验证是流程的一部分,则无论如何您都必须排除某些模块。与望远镜一样,它需要一些设置。

尽管可以使用这些工具,但我只是在最后才使用它们。在编码和验证过程中,我使用打开 lint 检查的 VCS,并修复 Verdi 抱怨的任何问题。这捕获了很多并且不需要使用任何配置/脚本文件。两者都不是免费的(或便宜的)。

I also have used Spyglass and, like toolic indicated, it requires setting up a run script just to check even one file and the default checks complain about useless things like unloaded bits on array data types. Conformal will also output quite a bit of detail for its RTL warnings and you would have to have certain modules excluded anyway, if Formal Verification is part of your flow. Like Spyglass it requires a bit of setup.

Despite having access to these tools I only use them at the very end. During coding and validation I use VCS with lint checks turned on, and fix anything Verdi complains about. This catches quite a bit and does not require any configuration/script files to use. Neither are free(or cheap).

蓝咒 2024-10-22 00:09:30

Real Intent 的 Ascent Lint 相当不错。它运行速度快并且易于设置。

Ascent Lint from Real Intent is pretty good. It runs fast and is easy to set up.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文