デザインとテストベンチの徹底的なチェックを行う強力なリント・ツール
Verissimo SystemVerilog Linterは、コーディング・ガイドラインと検証メソドロジのコンプライアンス・チェッカです。
![]() | ![]() |
SystemVerilogは強力なコンストラクトと高度なプログラミングの柔軟性を提供します。
その機能は今日の複雑な設計と検証の要求を満たすものですが、同時にコード開発に新たな課題をもたらします。例えば、同じ機能を複数の方法で実装できるため、シミュレーション性能に影響を与え、予期せぬ動作につながる可能性があります。
SystemVerilogコンパイラは、ソースコードがIEEE 1800標準のルールに従っているかどうかをチェックし、言語固有の構文エラーとセマンティック・エラーにのみフラグを付けます。しかし、コンパイル・エラーがないからといって、コードの信頼性やメンテナンス性を知ることはできません。また、ベスト・コーディング・プラクティスが実施され、UVMのような推奨メソドロジに準拠していることを示すものではありません。
Verissimoは、このギャップを埋めるリント・ツールであり、エンジニアに特定のグループや企業のコーディング・ガイドラインを推奨し、コーディングの一貫性とベスト・プラクティスを確保できるようにします。
特長
・汎用SystemVerilogおよびUniversal Verification Methodology(UVM)ビルトイン・チェックの包括的なライブラリ
・非標準的な構文、問題のあるデルタ・サイクルの使用、禁止されているシステム・コールなど、疑わしい言語使用を検出
・例えば、オーバーライドされた非仮想メソッドなど、SystemVerilogコンパイラでは検出されないセマンティックな問題を検出
・無駄なコピーを避けるための参照渡しのようなパフォーマンス上の問題を検出
・デッドコード、つまり、読み書きをしない変数や呼び出されない関数など、未使用のコード要素を検出
・コピー&ペーストによるコードの重複を検出
・宣言順や命名規則が混乱しているなど、不適切なスタイルを検出
・不適切なオブジェクトの作成、呼び出し漏れ、避けるべき構成要素など、検証手法の違反を検出
・カスタマイズ可能なチェック・パラメータ
・新しいカスタム・チェックを作成するためのAPI
・利用可能な組み込まれているチェックを選択して、カスタム・ルール・セットを作成し、実行する機能
・チェックごとに重用度を指定する機能
・例外や無関係な失敗をフィルタリングするためのウェイバ設定
・高度な検索およびフィルタリング機能、ブックマーク、モニタリング機能を備えたHTMLレポート
・バッチまたはGUIモード実行のサポート
・DVT IDEとの統合(EclipseまたはVS CodeのGUIモード)
・違反を自動的に修正する機能
メリット
- デザインおよび検証コードの品質と信頼性の向上
- 誤った機能やパフォーマンスの問題を防ぐ
- ベスト・コーディング・プラクティスの実施
- ソースコードのメンテナンス・コストの削減
- チームまたは企業レベルでのコーディングの一貫性を確保
- グループまたは企業固有のルールを作成、カスタマイズ、実装
- 再利用可能で高品質なテストベンチの生成