vol.116 Euclide:デザインとテストベンチに対するオンザフライでのチェック機能を備えたIDE

Euclide:デザインとテストベンチに対するオンザフライでのチェック機能を備えたIDE

設計および検証のための統合開発環境(IDE)

概要

シノプシスEuclideは設計および検証エンジニアのための統合開発環境(IDE)ソリューションで、プロジェクトの期間短縮、リスピンの回避、コード品質の向上、チップ面積および消費電力の削減に貢献します。

はじめに

シノプシスEuclideは、オンザフライでのインクリメンタルなコンパイル、エラボレーション、擬似シンセシス、およびルールチェックの機能をエディタに完全統合し、数秒でフィードバックを提示する業界唯一のソリューションです。Euclideのツールセットをご活用いただくことで、デザインおよびテストベンチのインプリメンテーションにおけるバグを早い段階でなるべく多く取り除くことができます。これによりコードの品質が向上し、プロジェクト収束までの期間が大幅に短縮します。

 

Euclideは、シンプルかつ直感的な設計により、画期的なユーザー体験を実現します。設計および検証環境を短時間で簡単に立ち上げることができるほか、初心者は短期間で言語を習得できる利点もあります。

図1: シノプシスのSystemVerilog用統合開発環境Euclide

図1:シノプシスのSystemVerilog用統合開発環境Euclide

高速なデザイン・ルール・チェックと画期的なテストベンチ・リント・チェック

Euclideはコード入力中にオンザフライで包括的なルールチェックを実行し、通常は数秒でフィードバックを提示します。これによりインプリメンテーションのバグをいち早く取り除き、不要なシミュレーションや長時間のデバッグ・セッションを大幅にカットできます。また、Euclideでテストベンチのバグを特定することにより、そのバグによって隠蔽されていたRTLのエラーを製造前に見つけることができるため、リスピンの回避にもつながります。

 

  • コード入力中にオンザフライで動作。通常、数秒でフィードバックを提示
  • エラーとワーニングをコードの該当部分に直接マーキング
  • ルールと重大度をプロジェクトごと、ファイルセットごと、ユーザーごとに簡単に構成可能
  • 柔軟で効率的なブラックボックスおよびWaiverメカニズム
  • デザインとテストベンチに対して、以下のものを含む数百のチェックを実行
    • 合成可能性と合成結果(組み合わせループ、ラッチ、クロック/リセット関連の問題など)
    • ドライバー/ロード違反
    • 時刻0の手続き型コード分析:到達不能な手続き型コード、‘null’クラス・インスタンスへのアクセス、動的キャスト違反、配列の範囲外アクセス、無限ループ/無限再帰などを検出
    • 代入、ポート接続、関数呼び出しなどにおける幅の不一致やその他データ型の不一致
    • SVAチェック
    • VCS®、ZeBu®、Design Compiler® NXTに対するコンプライアンス・ルール
    • VCSでのシミュレーションおよびZeBuでのエミュレーションに対するパフォーマンス・ルール
    • 非準拠、不適切、非推奨、またはそれらが疑われるコードに対するUVMルール
    • 制約チェック
    • メソッドのオーバーライドと実装の不具合および不規則性
    • 強力なカスタム・メソドロジ・ルール

コーディング加速

包括的なツールセットにより、コーディング時間が短縮し、コード品質が改善します。

 

  • コンテキストに応じたオートコンプリートおよびコンテントアシスト
    • 信号、パラメータ、構造体/クラス・メンバーを参照
    • モジュールとインターフェイスをインスタンス化する際に、すべてのパラメータとポートを自動補完
    • 関数とタスクを呼び出す際に、すべての引数を自動補完
    • オーバーライドを追加し、クラス・メソッドに対する実装を提供
    • 外部VIPおよびUVM/OVM/VMMライブラリのAPIを呼び出し

 

  • 設定可能なコード・テンプレート
  • コード・フォーマット(オート・インデント、垂直揃えなど)
  • プロジェクト全体でのコード・リファクタリング
    • 検出した問題に対するQuick Fix(不足しているポートをインスタンシエーションに追加、暗黙的ワイヤに対する宣言を追加、など)

コード・レビューとナビゲーション

かつてないユーザー体験、およびコード検査とナビゲーションに関する幅広いツールにより、コードを詳細に検討できます。

 

  • デザイン階層ツリー・ビュー
  • UVM環境階層ツリー・ビュー
  • 識別子の宣言部分へのジャンプ、識別子へのすべての参照の検索、デザイン全体での信号ドライバーとロードのトレース
  • 階層に依存するデータ型およびパラメータの値を表示
  • セマンティクスのカラーリング
  • 高度なセマンティクス検索
  • ファイル・アウトライン(目次など)

統合開発環境(IDE)

バージョン管理、バグトラッキング、タスク管理、EDAツールなどとの統合により、シームレスな互換性を実現します。

 

  • Eclipseベースの環境
  • バージョン管理ツールとの自動統合
    • 自動リポジトリ検出
    • 手動によるファイル競合解決や、同一ファイルのバージョン間比較など、バージョン管理機能の操作中にルールチェックおよびその他の機能を利用可能
       
  • Cプロジェクトの統合
    • Verilog+Cのファイル・リストを使用して、統合されプロジェクトを自動的にセットアップ
    • DPIメソッドの宣言と実装のハイパーリンク
       
  • タスク管理機能を統合
  • バグトラッキング・ツールとの統合

 

シノプシスEuclideは、シノプシスVerification Continuumプラットフォームを構成する各ツールと互換性があり、これらとの統合が可能です。

  • 他のツールのセットアップから即時にEuclideを立ち上げ
    • シミュレーション・セットアップからEuclideをロード
       
  • 各種ツールとの互換性およびツール・パフォーマンス向上のためのルールチェック
    • VCSとのコンプライアンスおよびパフォーマンス
    • ZeBuとのコンプライアンスおよびパフォーマンス
    • Design Compiler NXTとのコンプライアンス
       
  • Euclideから他のツール、他のツールからEuclideを実行可能
    • VCSおよびVerdi®を実行
    • Verdiでデバッグしたのと同じ場所と階層に対してEuclideを実行

 

シノプシスの製品、サポート・サービス、トレーニングの詳細は、www.synopsys.comをご参照いただくか、営業担当までお問い合わせください。