メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

TLM コンポーネントのテスト

TLM コンポーネント テスト ベンチの概要

テストベンチ生成オプションは、[構成パラメータ] ダイアログ ボックスの [TLM Testbench] タブによって制御されます。このオプションは、生成されたコンポーネントに対してスタンドアロンの SystemC™ テストベンチを作成します。テストベンチは、生成された TLM コンポーネントに対してテスト ベクトルを適用し、各トランザクションの結果をチェックすることによって機能します。TLM Testbench タブの Verify TLM Component ボタンをクリックすると、モデルの Simulink® シミュレーションからテスト ベクトルが自動的にキャプチャされます。

生成されたテストベンチを構成して、入力および出力バッファリングのタイミング モードとトリガー モードを指定できます。後者の選択肢では、イニシエーター モジュールがレジスタとバッファー間の入力データ セットと出力データ セットの移動を制御するか、コンポーネントが自動的に移動を実行するかを指定できます。オプションで、テスト ベンチは実行時に詳細なメッセージを生成することもできるので、SystemC シミュレーションのステータスを確認するのに役立ちます。

メモ

この機能には ASIC Testbench for HDL Verifier アドオンが必要です。

MATLAB® マシンとは異なるオペレーティング システムを搭載したホストのコンポーネントを生成する場合、TLM テスト ベンチはサポートされません。

TLM コンポーネントのコンパイル

[構成パラメータ] ダイアログ ボックスの TLM Compilation タブには、SystemC および TLM ライブラリの場所の情報が表示されます。これらの場所を指定するには、環境変数を使用できます。

提供された情報は、makefile の構築に使用されます。これらの makefile を使用して、コンポーネントとテストベンチを構築できます。この makefile を使用して、MATLAB 環境外で TLM コンポーネントとテストベンチの実行可能ファイルをビルドすることもできます。

生成されたコンポーネントの自動検証

構成パラメータの TLM Testbench タブには、次の機能を持つ Verify TLM Component ボタンがあります。

  • 入力刺激と期待される出力データを自動的に生成します

  • コンポーネントとテストベンチを一緒に構築して実行する

  • コンポーネントの出力を自動的にチェックします

    SystemC シミュレーションからの出力をキャプチャし、それを Simulink データに変換し、それを Simulink で Simulink シミュレーションの結果と比較することによってチェックを実行します。

レポートの生成

tlmgenerator ターゲットは、生成されたコンポーネントの詳細を含む HTML ドキュメントを提供します。ドキュメントには、生成されたソース コード ファイルへのリンクが含まれています。レポートの生成は、構成パラメータの Simulink Coder™ Report ペインで構成できます。レポート生成は厳密にはテストベンチ機能ではありませんが、プロセスにはテストベンチ ファイルの使用が含まれます。

構成の操作

構成オプションを選択したら、それを Simulink モデルとともに保存できます。以前のセッションで保存した構成を復元することもできます。さらに、特定のモデルに対して複数の構成を保存して選択することもできます。構成の操作方法については、Simulink ドキュメントの「モデル参照の概要」セクションを参照してください。

TLM コンポーネント テスト ベンチを作成する際の考慮事項

生成された TLM コードを最適化し、目的のテストベンチを実現するには、Simulink モデルを開発する際に次の点に留意する必要があります。

  • モデルでは単一のレートのみ使用できます。

  • モデル上の複合信号はメモリ内で連続している必要があります。Signal Conversion ブロックを使用して、mux およびバス出力信号を連続させることができます。

  • モデルに複雑な信号が含まれている場合は、まずそれらを分割する必要があります。Simulink Complex to Real-Imag ブロックを使用して複雑な信号を分割します。その後、デザインの反対側にある Real-Imag to Complex ブロックを使用して信号を再度結合できます。

  • デザインには Triggered サブシステムまたは Enabled サブシステムを含めることができますが、生成するデザイン自体は Triggered サブシステムまたは Enabled サブシステムにすることはできません。

  • HDL Verifier™ は、連続時間信号を含む Simulink 設計を生成できます。Simulink シミュレーションとキャプチャされたベクトルを SystemC で再生すると、まったく同じ結果が得られない場合があります。差異のプロットは、次の MATLAB 図ウィンドウに示すように、信号遷移時に数値的な差異がより顕著になる、基本的に同じ曲線を示しています。

    この違いは、Simulink 信号キャプチャによって必然的に信号が離散的になり、Simulink シミュレーションとスタンドアロン SystemC シミュレーションの両方でまったく同じデータが使用されないために発生します。Verify TLM Component をクリックする前に、Simulink でより小さい基本ステップ サイズを選択することで、SystemC での離散信号シミュレーションの忠実度を向上させることができます。