デザインチェックによるエラーの早期検出

デザインチェックとは

設計者が効果的・効率的なRTLコードを作成するためのチェックです。一般的にリントチェックとも呼ばれています。RTLコードの潜在的な設計上の問題を見つけ、潜在的に危険なコーディングスタイルを避けることが可能です。歴史的にはASICに適用されてきましたが、近年は急速にFPGAの設計での使用が増加しています。

利点

何千、何万行ものコードを人手によってチェックするには膨大な時間がかかり、また簡単な違反であっても見逃すケースが多々あります。人手では発見しにくい問題はもちろんのこと、簡単な違反であっても、それらは実機検証や製造時まで検出されない場合もあり、後々のデバッグに負担を増やしコストも増大することになります。デザインチェックすることでルール違反箇所を自動、かつ即座に発見することでRTL設計者の負担を軽減し、デザインの品質を向上させることが可能です。
また、デザインチェックはテストベンチ不要で使用することができ、操作もワンクリックで実行可能です。そのため定期的に実行することができ、コードチェックを促進することができます。コードチェックが促進されることによりコードの品質が高まり再利用性も向上します。


検証方法とバグ検出率のイメージ図

HDL Designer/Visual Eliteのデザインチェッカーの特長

HDL Designer、Visual Eliteは共にデザインチェッカーを内蔵しており、以下の特長を持ちます。

  • いつでも容易にデザインチェックが可能
  • 高速な実行(約225,000ライン/時)
  • VHDL/Verilog/SystemVerilog またはそれらの混在に対応
  • エラーやワーニングをグラフィカルデータ、ソースコードで確認可能
  • 7種のルールセットを所持
  • 適用するルールセットの選択やルールのカスタマイズが可能

これにより、

  • 早期にデザイン品質を向上
  • 設計手戻り工数の削減
  • 設計品質の高い設計資産の保存
  • 設計資産の再利用の促進

を実現しています。

ルールセット

HDL Designer、Visual Eliteは以下のルールセットを複数選択してデザインチェックすることが可能です。またこれらのルールセットはパラメータ化されており、カスタマイズが可能です。

  • Checklistルールセット
    0-inで使用されていたルール
  • Essentialsルールセット
    下流工程でエラーとなる重要なコードチェックのためのコアルール
  • RMMルールセット
    メンター・グラフィックス社とシノプシス社で共同開発された再利用性を重視したスタイルガイド(Reuse Methodology Manual )に準拠したルール
  • Safety-Criticalルールセット
    事故や安全に関わる重大な事項に関するルール
  • DO-254 Ruleset
    航空機のハードウェアの安全性を確保するために、FAA&EASAによって強制される標準ルール
  • Alteraルールセット
    コアルール+Altera専用のルール
  • Xilinxルールセット
    コアルール+Xilinx専用のルール

Checklistルールセットの主な検証項目

既存のルールセットであるChecklistには、主に以下のエラーを検出するためのルールが用意されています。

一般的な RTL コーディング・エラー
未使用ロジックや未接続ポート、ラッチの推定など人手による記述ミスなどで発生するエラーに対するルール。

ベリフィケーション・ウォリー・ケース
バスの衝突やメモリの領域外アクセスなど、シミュレーションを十分に実行しなくては検出できないエラーに対するルール。フォーマル検証やカバレッジ測定に適した検証項目。

シミュレーションで問題となるエラー
組合せ回路によるループやブロッキング/ノンブロッキングの混在など、シミュレーション時の波形確認だけでは原因解析が困難なエラーを検出するためのルール。

シミュレーションと論理合成後のミスマッチ
センシティビティリストが不完全であったり、ケース項目の重複など、RTLシミュレーションと論理合成以降の検証で不一致を起こす可能性のあるエラーを検出するためのルール。

ポリシー/ルールセットの設定

デザインチェックで適用するルールセット群(ポリシー)を設定することができます。以下はHDL Designer上での設定例になります。

実行フロー

以下はHDL Designer上でデザインチェックした場合の例になります。対象のデザインを選択し、アイコンを押すだけで実行可能です。

レポート

デザインチェックを実行すると、対象のエラー、ワーニングががすべて表示されます。エラーやワーニングはすべてソースコードにリンクされており、ダブルクリックで該当箇所を確認できます。またグラフィカルデータにクロスプローブすることも可能です。
右の欄には集計結果が表示されており、どのエラーが何回検出されたかなどのサマリーが確認できます。
またすべての結果はCSV、HTMLなどのフォーマットに出力可能です。

まとめ

デザインチェックは、テストベンチや制約条件などの作成が不要のため、設計者に負担をかけることなく初期段階でのエラー検出が可能です。そのため下流工程でのデバッグよりもコストを軽減し、品質と再利用性を向上させることが可能です。
使用していただく上での工数が発生しないため、多くのユーザーに高頻度で使用していただいております。

HDL Designer & Visual Elite

 


お問い合わせ

資料請求・お問い合わせ