HDL 詳細設計および検証 DO-254のガイドラインに沿ってHDL設計と検証を行うのは厳密な作業で、HDL設計ツールやシミュレータにも特別な機能と高性能が求められます。Active-HDL™とRiviera-PRO™は、グラフィカル・デザイン・エントリ、検証、管理・文書化機能などを装備した柔軟でシームレスな設計検証プラットフォームです。 HDLのグラフィカル・エントリ:ブロック・ダイアグラム・エディタとステート・マシン・エディタ ブロック・ダイアグラム・エディタはVHDL/Verilog/EDIFデザインをグラフィカルに入力できるツールです。HDLデザインの大部分が構造化されていれば、ソースコードで入力するより、ブロック・ダイアグラムとして記述する方が簡単なことが多いです。 ステート・ダイアグラム・エディタは同期マシンや非同期マシンのステート・ダイアグラムをグラフィカルに編集できるツールです。ステート・ダイアグラムは、従来の順序回路のモデリングに代わる記述方法です。HDLコードを手入力する代わりに、論理ブロックをグラフィカルなステート・ダイアグラムとして記述できます。 HDLコード・トゥ・グラフィックス・コンバータ コード・トゥ・グラフィックス・コンバータはVHDL/Verilogソースコードをブロック・ダイアグラムやステート・ダイアグラムに自動変換するツールです。VHDL/Verilog/EDIFのソース・ファイルを解析して、発見されたエンティティやモジュール、セルの数に応じてブロック・ダイアグラム・ファイルに変換します。このブロック・ダイアグラム・ファイルは自動でデザインに取り込むことができます。 VHDL 2019シミュレーション 最新のIEEE Std 1076-2019規格は待望の改善と、コンポジットタイプとサブタイプのモードビュー、初期値から信号と変数サブタイプ制約を推論、初期値の条件付き割り当て、条件付き解析ディレクティブ、およびガベージコレクションなどの新しいテストベンチ関連機能をもたらします。VHDLはVerilogやSystemCよりも安全であると考えられているため、これらの新しいテストベンチ関連機能は、OSVVMおよびUVVM VHDL検証ライブラリとともに、広く使用されているVHDL 2008標準の重要な機能強化となります。互換性を高めるために、VHDL 2008はシミュレーションのデフォルトモードとなっています。ユーザーは最新のVHDL 2019バージョンと以前の2002または1993バージョンに切り替えることができます。 Verilog/SystemVerilog、およびSystem C シミュレーション ほとんどのDO-254プロジェクトでは、VHDLが主要な設計言語として採用されていますが、SystemVerilogとSystemCは検証アクティビティでより一般的になっています。Active-HDLおよびRiviera-PROは、UVMやOVMなどの最新の検証ライブラリーを含む、Verilog/SystemVerilogおよびSystemCをサポートする混合言語シミュレーターです。 HDLデバッギングとポスト・シミュレーション・デバッギング エラーのデバッグやデザインのビヘイビアを検証する機能をたくさん持ったツールです。インタラクティブ・デバッギング機能には、HDLシンタックス・チェック、ソースコード・トレース(トレース情報、トレースオーバー、トレースアウト、トレースオーバー遷移)、ブレークポイント挿入、ブロック・ダイアグラムのグラフィカル・デバッギング、ステート・ダイアグラムのグラフィカル・デバッギングなどがあります。リスト(デルタ)ビューワ、ウォッチ・ウィンドウ、プロセス・ウィンドウ、波形ウィンドウ、データフロー・ウィンドウ、コールスタック・ウィンドウなど、ウィンドウを複数開いてシミュレーション結果を確認することもできます。 ポスト・シミュレーション・デバッグはシミュレーション・プロジェクトを「オフライン」モード(シミュレータと接続しない状態)でデバッグできるという、非常に便利な機能です。エンジニアは通常のシミュレーションを1回実行してポスト・シミュレーション・データを収集したら、ポスト・シミュレーション・モードで必要なだけ繰り返しデバッグすることができます。それだけでなく、シミュレーション結果やポスト・シミュレーション・ファイルを共有して別のコンピュータに持って行ったりすることもできます。 信号トレース・数値表示機能付属のRTLビューワ アクティブなデザインの接続を探索して、シミュレーション中にインスタンスやコンカレント文、信号、ネット、レジスタなどの間のデータ・フローを解析できるツールです。ツールのビューとしては階層/フラット/グレーのデータ・フロー・ダイアグラムがあり、プロジェクト内部を伝搬するイベントをトレースしたり予期しない出力値を発生させる可能性のある部分を検出したりするのに特に役立ちます。 波形ビューワ・エディタと未知値のトレース 波形ビューワはシミュレーション結果をグラフィカルな波形で表示するツールです。シミュレーション中、シミュレーション・カーネルは選択された信号や静的変数(共用変数やプロセス内変数など)、ネット、レジスタなどの波形を波形ビューワ/エディタ・ウィンドウに出力します。波形はテストベクタとして次のシミュレーションで信号やネットに適用することもできます。波形は印刷したりPDFやHTMLにエクスポートしたりして文書化することも可能です。 未知値や未定義値("x", "w"など)はテスト・エンティティやモジュールの出力ポートで予期しない挙動を引き起こす場合があります。このツールは未知値が発生してからデザインを伝搬する前に検出してレポートできるコマンドライン・ユーティリティです。モニタリングしている信号に未知の値が代入されたらシミュレーションを停止することができます。コンソールにはメッセージと共に、未知の値が検出された信号や時間が表示されます。 アサーション・ベース検証 アサーションはデザイン内部のエラー検出と複雑なイベントの流れを検証・記述するのに活用します。アサーションは要求の検証に使えます。アサーションはパラメータ化した検証ルールと一緒に再利用可能なユニットにカプセル化できますので、ユーザ定義チェッカかまたはユニバーサル・プロトコルに特化した独自のチェッカとして設計で利用されます。 コード・カバレッジ、トグル・カバレッジ、パス・カバレッジ コードカバレッジは、検証プロセスを支援するデバッグツールです。 コード・カバレッジはRTCA/DO-254 Appendix B 3.3.1に記載された最新の検証手法である要素解析もサポートしています。アルデックのシミュレータでは、次のカバレッジツールを使用してソースコードを検証できます。 ステートメント・カバレッジは、各HDLステートメントの実行ブランチを示します。 この情報は、検証されたデザインの部分とテストされていない部分についてのフィードバックを提供します。 また、デッドコードを見つけるのにも役立ちます。 ブランチ・カバレッジは、"if" および "case" 構成の実行分岐、VHDL の選択文および条件付き信号割り当てステートメントをブランチを収集します。. エクスプレッション・カバレッジは論理式を因数分解し、シミュレーション中にそれらを監視します。 コンディション・カバレッジは、条件文で使用される論理式を監視および因数分解するエクスプレッション・カバレッジの拡張です。 このタイプのカバレッジは、”if then”、”while”などの構造内の条件として発生する式を監視します。 FSM・カバレッジにより、遷移されていないステートや評価されていない遷移を識別することができます。 パス・カバレッジはプログラムの実行に関する情報を集めてプログラムのシーケンス組み合わせ(プログラムのパス)がテストベンチですべて検証されているかどうか解析するデバッグ・ツールです。プログラムのパスは文が一定の順序で連続して実行されたその一連の流れです。ツールはシミュレーション中に一連の文が実行された順序や、検証された分岐や、検証された論理条件も情報として収集します。 トグル・カバレッジは信号の論理値の変化を通してデザインの挙動を測定するプログラムです。トグル・カバレッジが出すレポートからは、モニタした信号が初期化されたか、立ち上がりエッジや立ち下がりエッジを起こしたか、シミュレーション・セッション中の立ち上がり・立ち下がりエッジの数などが分かります。レポートからスティミュラスの品質を検証したりデザイン内で何もしない構造などを特定したりすることができます。シミュレーション中に初期化されない信号やテストベンチで適切に実行されない信号を簡単に特定できます。 ソース・リビジョン管理とデザイン文書化機能 ソース・リビジョン管理はデザインのソース・ファイルのバージョンやリビジョンをHDLシミュレータ環境から直接操作できるツールです。この環境では、デザインの変更を追跡したり一連のバージョン間の差分を見たりすることができます。また、ソース・リビジョン管理システムは設計者のグループが同じプロジェクトに参加できるようにすることで、チームワークを実現します。ファイルがレポジトリにアーカイブされると、他のチームメンバーもそのファイルを利用できるようになります。さらに、ファイルへの変更はすべてヒストリ付きで保存されるので、いつでもどのバージョンも復活させることができます。ソース・リビジョン管理のシステム・データベースで、グループのメンバーはプロジェクトの最新バージョンを確認して、変更を加えて、新しいバージョンとして保存することができます。 DO-254認証にはデザインの文書化が必要です。このツールには強力なドキュメンテーション機能が付いていて、ワークスペースやデザインをテキストやグラフィックにして、HTML形式やPDF形式のファイルを作成できます。デザイン・ファイルや波形、ブロック・ダイアグラム、添付ドキュメントなどのデザイン要素はすべてHTMLやPDFの文書にエクスポートできますが、その際色々なオプションで制御が可能です。生成されるドキュメントはつねにデザインの階層を保持しているので、複雑なデザインも楽にナビゲーションできます。ベクタ画像にエクスポートできるので、スケマティックの解像度をドキュメントの中でも維持することができます。 サード・パーティの合成ツールと配置配線ツールとの統合 Active-HDLのデザイン・フロー・マネージャはサード・パーティの合成ツールや配置配線ツールへのインタフェースを持っているので、FPGAデザイン・フロー全体で使える唯一のプラットフォームを構築することができます。