テスト ベンチ生成
Simulink® モデルで指定するサブシステムまたはモデル参照向けの HDL テスト ベンチを生成できます。Simulink シミュレーションを実行して入力ベクトルおよび想定される DUT の出力データを取得することで、HDL テスト ベンチが生成されます。
テスト ベンチ生成の仕組み
HDL Coder™ は、MATLAB® または Simulink シミュレーションから得られた DUT のスティミュラスと参照データをデータ ファイル (.dat
) に書き込みます。
HDL シミュレーション中に、HDL テスト ベンチは保存されたスティミュラスを .dat
ファイルから読み取ります。テスト ベンチは、実際の DUT 出力を想定された出力 (.dat ファイルに保存されています) と比較します。コードを生成した後、メッセージ ウィンドウにテスト ベンチ データ ファイルへのリンクが表示されます。
参照データは、ファイルからデータを読み込む際に遅延があるため、既定のテスト ベンチ生成と比較して波形ビューアーで 1 クロック サイクル分遅延します。
テスト ベンチ データ ファイル
DUT の各入力と出力のスティミュラスおよび参照データは、個別のテスト ベンチ データ ファイル (.dat
) に保存されます。ただし、次の例外があります。
複素数データの実数部と虚数部に対して 2 つのファイルが生成されている。
定数 DUT 入力データがテスト ベンチに定数として書き込まれている。
ベクトル入力またはベクトル出力のデータは 1 つのファイルとして保存されます。
テスト ベンチのデータ型の制限事項
DUT 入力および出力に double、single または列挙データ型が含まれている場合、シミュレーション データはファイルに書き込まれず、定数としてテスト ベンチ コードに生成されます。
ファイル I/O の代わりに定数を使用
ファイル I/O を使用せずに、テスト ベンチのスティミュラスおよび参照データをテスト ベンチ コードで定数として生成できます。定数を使用する、実行時間の長いテスト ベンチのシミュレーションを行うには、ファイル I/O を使用するテスト ベンチよりもさらに多くのメモリが必要です。
DUT 入力または出力でファイル I/O をサポートしていないデータ型が使用されている場合、テスト ベンチの生成によってデータが定数として自動的に生成されます。詳細は、テスト ベンチのデータ型の制限事項を参照してください。
HDL ワークフロー アドバイザーの使用
定数を使用するテスト ベンチを生成するには、次を行います。
[HDL コード生成]、[コード生成オプションを設定]、[テスト ベンチ オプションを設定] タスクで、[ファイル I/O によるテスト ベンチ データの読み取り/書き込みを行います] をオフにして [適用] をクリックします。
[HDL コード生成]、[RTL コードとテスト ベンチを生成] タスクで、[RTL テスト ベンチを生成] を選択して [適用] をクリックします。
コマンド ラインの使用
定数を使用するテスト ベンチを生成するには、makehdltb
で UseFileIOInTestBench
パラメーターを使用します。
たとえば、DUT サブシステム sfir_fixed/symmetric_fir
の定数を使用して Verilog® テスト ベンチを生成するには、以下のように入力します。
makehdltb('sfir_fixed/symmetric_fir','TargetLanguage','Verilog',... 'UseFileIOInTestBench','off');