プロダクト
・DVT IDE:Verilog、VHDL、SV、e言語、PSSなどに対応したコード・エディタ以上の統合開発環境
・Verissimo:デザインとテストベンチの徹底的なチェックを行う強力なリント・ツール
・DVT Debugger:Verilog、VHDL、SystemVerilog、e言語を使用するハードウェア設計および検証エンジニアのための、よりシンプルで高速なデバッガ
・Specador:Verilog、SystemVerilog、VHDL、e言語で書かれたソースコードを使用するハードウェア設計および検証エンジニアのために正確なドキュメントを自動生成
DVT IDE
Verilog、VHDL、SV、e言語、PSSなどに対応するコード・エディタ以上の統合開発環境(IDE)
Design and Verification Tools (DVT) IDEは、Verilog、SystemVerilog、Verilog AMS、VHDL、UPF、CPF、e言語、PSSなどのための統合開発環境であり、設計および検証エンジニアの生産性を大幅に向上します。
通常のテキスト・エディタとは異なり、
DVT IDEはコードをコンパイルし、入力中にエラーを通知し、オートコンプリートやクイック・フィックス提案を使用してコード作成をスピードアップし、探しているものを即座に見つけることができます。
DVT IDEは、手作業で数分または数時間かかっていたことを数秒で見つけることができます。
DVT IDEにより、エンジニアは平文のコード・エディタの限界を克服し、複雑なプロジェクトにより効率的に対応することができます。VHDL、Verilog、SystemVerilogなどの一般的なHDLやHVLを扱う初心者からエキスパートまで、より迅速でスマートなコード開発を可能にし、レガシーコードのメンテナンスを簡素化します。
DVT IDEは、コンパイラ、スマートコードエディタ、直感的なGUI、コード検証、ナビゲーション、デバッグを支援する包括的な機能で構成されています。さらに、DVT IDEには、クラスや構造の表示、シグナルトレース、検証手法のサポートなど、ハードウェア設計や検証領域に特化した機能が豊富に含まれています。
DVT IDEはEclipseプラットフォームのプラグインまたはVisual Studio Codeの拡張機能としてご利用いただけます。DVT IDEは両プラットフォームのベストな機能とプラクティスを継承し、サードパーティの拡張機能の大規模なエコシステムと統合されています。
特長
DVT IDEはIEEE標準準拠のコンパイラ(IEEE 1800 SystemVerilog, IEEE 1647 e Language, IEEE 1076 VHDL, IEEE 1801 Low Power)を使用しています。コードがエラーなくコンパイルされていることを確認するためにシミュレータを起動する必要なく、でインクリメンタル・コンパイルを行うため、入力中にエディタがリアルタイムでエラーをハイライトします。
・オートコンプリート、クイック・フィックス、マクロ展開、インテリジェント・コードフォーマット、リファクタリング、モジュール・インスタンスの接続、コード・テンプレート、タスク追跡のためのインライン・リマインダーなどの高度なコード編集機能
・ハイパーリンク、セマンティック検索、クラスと構造ブラウジング(例:クラス階層、デザイン階層)、チェックとカバレッジビュー、動的に作成されるUMLダイアグラムとデザイン・ダイアグラム、トレース・ポート接続などのコードとプロジェクト・ナビゲーション機能
・DVT IDEは何万ものコード行を簡単にナビゲートし、関連情報を見つけ、クラスやモジュールの構造を検査し、ソースコードを素早く理解できるようにします
・DVT IDEは、Universal Verification Methodology (UVM)、Open Verification Methodology (OVM)、Verification Methodology Manual (VMM)をサポートしています。UVM/OVM 自動コンプライアンス・チェック機能と、リファクタリング・スクリプトを使用した高度な移行機能を提供するOVM-to-UVMマイグレーション・ウィザードが組み込まれています。
・NCSim、Specman、VCS、Questaシミュレータとの統合により、シミュレーション解析とデバッグを簡素化しますシミュレータを簡単に起動し、DVT IDEコンソールでスマートなログ・ビューアを使って出力を視覚化し、閲覧することができます。ログのシミュレーション・エラーと警告は、問題のあるソースコードにハイパーリンクされています。
・Git、Subversion、ClearCase、バグ追跡システムなどのリビジョン管理システムとの統合。
・言語が混在するプロジェクトのためのクロスランゲージ機能により、複数の言語(SystemVerilog、Verilog、VHDL、eなど)で書かれたソースコードを扱うことができ、大規模なプロジェクトをシームレスにナビゲートし、全体像を容易に把握し、設計全体を理解することができます。
・ソース・コード・ウィンドウをGUIで開くだけでなく、必要な情報を取り込んで移動したり、より高い視点から見たり、詳細に掘り下げたりすることができます。例えば、GUIパースペクティブには、ソースコード、タイプ、クラス階層、レイヤー、エラーと警告、タスク、マクロ、ダイアグラムのビューを含めることができます。
メリット
- 入力中にフラグが立ったエラーを素早く修正(インクリメンタル・コンパイル)
- ハイパーリンクを使ってソースコード間を移動
- オートコンプリートを使って、コーディングをスピードアップし、タイプミスを回避
- リファクタリングを使用してコードを継続的に改善
- コードとプロジェクトのテンプレートを簡単に作成し、再利用
- クラスやデザイン階層などのハイレベルな構造ビューを使用してプロジェクトを理解
- 設計全体を通してシグナルをトレース
- UMLダイアグラムやデザイン・ダイアグラムを使用して、プロジェクトのアーキテクチャを視覚化
- リマインダーの配置とタスクの追跡
- VHDL、Verilog、SystemVerilogとC/C++の組み合わせなど、混合言語を使用して開発されたプロジェクトを統合
DVT Debugger
Verilog、VHDL、SystemVerilog、e言語を使用するハードウェア設計および検証エンジニアのための、よりシンプルで高速なコードデバッガ。
DVT DebuggerはDVT Eclipse IDEへのアドオン機能です。
すべての主要なシミュレータと統合し、高度なデバッグ機能を提供します。
DVT Debuggerは、ユーザがコードを開発するのと同じ場所からデバッグできる点が特長です。ソースコードを理解するためのエディタと、変数の値を調べたり、ブレイク・ポイントを設定、有効、無効にしたり、シミュレーションを進めたりするためのシミュレータの間を絶えず切り替える必要が実質的になくなります。
デバッガを導入する場合、シミュレーション・フローの変更は最小限で済みます。シミュレーションをデバッグ・モードで起動し、シミュレータ固有の引数を使ってDVTコミュニケーション・ライブラリを指定します。DVT Eclipse IDEには、デバッガ導入に役立つデバッガ設定例が同梱されています。
シミュレータはネットワーク・ソケットを通してDVT Eclipse IDEと通信します。例えば、「GUIジョブ 」マシンからシミュレーションを実行する強力な 「バッチジョブ 」マシンに接続できます。また、ソースコードが利用可能なマシンから、ソースコードが暗号化されているマシンに接続することも可能です。
特長
・DVTデバッグ・パースペクティブは、Verilog、SystemVerilog、VHDL、e言語など、主要なHDLやHVLのデバッグに特化したGUIレイアウトです。ステップ・オーバー、ステップ・イン、レジュームなどのシミュレーション・コントロールが可能です。また、エディタやいくつかの専用ビューにシミュレーション・コンテキストが表示されます。
・ブレイク・ポイント・ビューでは、すべてのブレイク・ポイントを素早く確認したり、特定のブレイク・ポイントを有効/無効にしたり、条件付きブレイク・ポイントを定義したりできます。
・デバッグ・ビューは常にエディタに接続されており、コール・スタックを上下に移動し、シミュレータが停止したスタック・フレームに対応するアクティブ行を確認できます。
・変数ビューには、現在の関数の引数、ローカルに宣言された変数、クラス・メンバ、モジュール・シグナルなど、デバッグ・ビューで選択されたスタック・フレームに関連する変数が表示されます。ユーザはこのビューから実行時に変数値を変更できます。
・式ビューでは、式の定義と監視を行うことができます。エディタで式を選択し、式ビューにウォッチを追加することで、複雑な式を検査することができます。
・コンソール・ビューにはシミュレーション出力が表示され、シミュレータ・コマンドを入力できます。
・ダブルクリックすると、DVT Eclipse IDEのエディタで特定の行にブレイク・ポイントを追加できます。シミュレータがブレイク・ポイントにヒットするたびに、エディタは対応する行をハイライトします。
・変数名にカーソルを合わせると、ツールチップに実行時の値が表示されます。
なぜDVT Debuggerを選ぶのか
1.コードを書くのと同じ場所からデバッグできます。ブレイク・ポイントの追加、ステップ実行、コール・スタックの上下移動、値の変更など、よく使うデバッグ操作はDVT Eclipse IDEでワンクリックで実行
2.ランタイム・コンテキストはシミュレータから自動的に取得されるので、不必要なメッセージ表示文や他の追加コマンド利用を避けることができます。コール・スタックとローカル変数は、シミュレータがブレイク・ポイントをヒットするといつでも表示可能
3.DVT Eclipse IDE のすべての機能を利用して、コードをナビゲートし、理解することができます:ハイパーリンク、階層ブラウズ、使用法の検索やトレースなど多くの機能をサポート
Verissimo SystemVerilog Linter
デザインとテストベンチ・コードの徹底的なチェックを行う強力なリント・ツール
Verissimo SystemVerilog Linterは、コーディング・ガイドラインと検証メソドロジーのコンプライアンス・チェッカーです。
SystemVerilogは強力なコンストラクトと高度なプログラミングの柔軟性を提供します。
その機能は今日の複雑な設計と検証の要求を満たすものですが、同時にコード開発に新たな課題をもたらします。例えば、同じ機能を複数の方法で実装できるため、シミュレーション性能に影響を与え、予期せぬ動作につながる可能性があります。
SystemVerilogコンパイラは、ソースコードがIEEE 1800標準のルールに従っているかどうかをチェックし、言語固有の構文エラーとセマンティック・エラーにのみフラグを付けます。しかし、コンパイル・エラーがないからといって、コードの信頼性や保守性を知ることはできません。また、ベスト・コーディング・プラクティスが実施され、UVMのような推奨メソドロジへの準拠していることを示すものではありません。
Verissimoは、このギャップを埋めるリント・ツールであり、エンジニアに特定のグループや企業のコーディング・ガイドラインを推奨し、コード開発の一貫性とベスト・プラクティスを確保できるようにします。
特長
・汎用SystemVerilogおよびUniversal Verification Methodology(UVM)ビルトイン・チェックの包括的なライブラリ
・非標準的な構文、問題のあるデルタ・サイクルの使用、禁止されているシステム・コールなど、疑わしい言語使用を検出
・例えば、オーバーライドされた非仮想メソッドなど、SystemVerilogコンパイラでは検出されないセマンティックな問題を検出
・無駄なコピーを避けるための参照渡しのようなパフォーマンス上の問題を検出
・デッドコード、つまり、読み書きをしない変数や呼び出されない関数など、未使用のコード要素を検出
・コピー&ペーストによるコードの重複を検出
・宣言順や命名規則が混乱しているなど、不適切なスタイルを検出
・不適切なオブジェクトの作成、呼び出し漏れ、避けるべき構成要素など、検証手法の違反を検出
・カスタマイズ可能なチェック・パラメータ
・新しいカスタム・チェックを作成するためのAPIを利用して
・利用可能な組み込みチェックから選択して、カスタム・ルール・セットを作成し、実行する機能
・チェックの重大度ごとに指定する機能
・例外や無関係な失敗をフィルタリングするためのウェイバ設定
・高度な検索およびフィルタリング機能、ブックマーク、モニタリング機能を備えたHTMLレポート
・バッチまたはGUIモード実行のサポート
・DVT IDEとの統合(EclipseまたはVS CodeのGUIモード)
・違反を自動的に修正する機能
メリット
- デザインおよび検証コードの品質と信頼性の向上
- 誤った機能やパフォーマンスの問題を防ぐ
- ベスト・コーディング・プラクティスの実施
- ソースコードの保守コストを削減
- チームまたは企業レベルでのコード開発の一貫性を確保します
- グループまたは企業固有のルールを作成、カスタマイズ、実装
- 再利用可能で高品質なテストベンチの生成
Specador Documentation Generator
Specadorは、Verilog、SystemVerilog、VHDL、e言語で書かれたソースコードを使用するハードウェア設計および検証エンジニアのために正確なドキュメントを自動生成するツールアドオンツールです。。
Specadorを使用すると、設計および検証エンジニアは、適切で整理されたドキュメントを簡単に作成し、管理することができます。HTMLまたはPDFを生成し、バッチモード(コマンドライン)で動作し、専用の言語パーサーを使用します。
このドキュメンテーション・ジェネレータは、コードをコンパイルし、プロジェクトの構造を理解するため、ユーザは、追加コンテキストを提供するコメントが存在しない場合でも、設計または検証環境のドキュメンテーションに利用することができます。そのため、例えばクロスリンクされたクラス継承ツリー、設計階層、ダイアグラムなどを作成することができます。
ドキュメントは常にソースコードと同期しているため、ダイアグラムの管理や、ポートや関数の引数リストを現在のバージョンに合わせて更新するといった、綿密で問題の多い作業を省くことができます。
IPプロバイダや社内でIP指向フローを使用している人々にとって、IPのパッケージ化に特に役立ちます。
SpecadorはMarkdownとreStructuredTextの構文を認識し、HTMLやPDF出力の可読性を高めるために、ドキュメントのコメントを自由にフォーマットすることができます。
特長
- ドキュメントは、関係性と構造的な情報の両方を含む、言語固有の概念で構成されています。たとえば、パッケージ、クラス、エンティティ、モジュール、構造体などの専用カテゴリがあり、クラスの継承、設計階層、エンティティ・アーキテクチャを簡単に調べることができますため言語の認識を高めるために役立ちます
- クロスリンクされたドキュメント。ユーザは、関数のドキュメントからその引数の1つに、またはモジュールの定義からそのサブモジュールの1つに簡単にジャンプすることができます。
- ブロック図や回路図、継承図やコラボレーション UML クラス図などの図を自動的に生成します。ダイアグラムはハイパーリンクでリンクされており、ユーザはダイアグラム内のクラスをクリックすると、そのクラスがドキュメント化されている章にジャンプしたり、概略図内のサブモジュールをクリックすると、サブモジュールの章にジャンプしたりすることができます。
- パッケージングされたデータ型または UVM レジスタ・コンフィギュレーション・メソッドを解析してビットフィールド・ダイアグラムを生成します。
- 波形ダイアグラム 一般的なオープンソースのWaveDromフォーマットを使用して指定された波形を作成します。
- ドキュメント・ジェネレーターは、ディレクティブをコメントで受け取り、それを外部のスクリプト/ツールに与えて処理し、生成されたダイアグラムをドキュメントに含めることができます。
- ドキュメントには、例えば、カバレッジやチェックの側面に焦点を当てた情報を集約したセクションが含まれる為レビューに役立ち。
- ユーザは生成されたドキュメントを簡単に検索できます。
- SpecadorはMarkdownおよびreStructuredText構文を認識するため、ユーザは太字、斜体、リストなどの属性を使用してHTMLおよびPDF出力で美しいドキュメントを生成します。
- ユーザは、作成するドキュメントをコントロールすることができます。パッケージ全体やプライベートAPIを除外したり、内部APIを公開したくない場合にどのAPIサブセットをドキュメント化するかを選択したりできます。
- 埋め込みドキュメントやリンクドキュメントの追加。外部ドキュメントの埋め込み、目次への追加メニューの追加、MS WordやPDFドキュメントへのリンクの追加、追加スクリーンショットの追加、他のドキュメントフレームワークとの統合が簡単にできます。
- Specadorは、他のIPやプロジェクトの事前生成されたドキュメントへのクロスリンクを自動的に作成します。
メリット
・限られたソースコードのコメントからでも、整理された効果的なドキュメントを生成
・既存の開発フローに簡単に統合できるため、設計グループや検証グループがドキュメント作成プロセスを自動化
・生成されたドキュメントはソースコードと同期しているため、時間を節約し、メンテナン・スコストを削減
・IPパッケージングの強化
・適切なソースコードの文書化を促進
・既存のソースコードを取り込んで可読性の高いメンテナンス可能なドキュメントを生成