Main Content

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

QAM トランシーバー モデル用の HDL テスト ベンチを構築する

この例では、SystemVerilog DPI-C コンポーネント生成を使用して動作テストベンチを構築する方法を示します。このテスト ベンチは、64-QAM 送信機および受信機の合成可能な HDL コードの検証に使用されます。

この例では、次の追加ツールが必要です。

  • サポートされている HDL シミュレーターの 1 つ:Cadence® Xcelium™、またはMentor Graphics® ModelSim®/QuestaSim®

  • サポートされている C コンパイラの 1 つ:Windows の場合は Microsoft® Visual Studio™、Linux® の場合は GNU GCC

概要

QAM 受信機モデルの最上位構造を次の図に示します。QAM Tx HDL および QAM Rx HDL サブシステムは、HDL コード生成用に最適化されています。HDL Coder を使用すると、これら 2 つのサブシステムから HDL コードを生成できます。この例には生成された HDL コードが付属しているため、この演習ではコードを生成する必要はありません。

コード生成のためのモデルの設定

HDL で完全な動作テストベンチを構築するには、Channel サブシステムと ErrorRate サブシステムの動作モデルが必要になります。これらのモデルを使用すると、これら 2 つのサブシステム用の SystemVerilog DPI-C コンポーネントを生成できます。DPI-C コンポーネントを生成する前に、まずコード生成オプションを設定する必要があります。

svdpi_qam モデルから Simulink モデル構成パラメータ パネルを開きます。次のパラメータを設定します。

コード生成 -> システム ターゲット ファイルを選択します。参照ボタンをクリックし、「systemverilog_dpi_grt.tlc」を選択します。

Embedded Coder をお持ちの場合は、代わりに 'systemverilog_dpi_ert' ターゲット ファイルを選択することもできます。

ツールチェーン設定で、Windows を使用している場合は Visual Studio のバージョンの 1 つを選択し、Linux を使用している場合は GCC ツールチェーンの 1 つを選択します。

次に、MATLAB で次の 2 つのコマンドを実行して、DPI-C コンポーネントをエクスポートします。

>> slbuild('svdpi_qam/Channel')

>> slbuild('svdpi_qam/ErrorRate')

生成されたテストベンチを実行する

メンターグラフィックスのModelSim/QuestaSimの場合、

  1. ModelSim/QuestaSim を GUI モードで起動します。

  2. 現在のディレクトリを現在のMATLABディレクトリに変更します

  3. シミュレーションを開始するには、次のコマンドを入力します。

do QAM_DPIC_tb_mq.do

Cadence Xceliumの場合:

  • ターミナル シェルを起動します。

  • 現在のディレクトリを現在の MATLAB ディレクトリに変更します。

  • シェルに次のコマンドを入力します。

sh QAM_DPIC_tb_xcelium.sh

シミュレーションの最後に、エラー率が次のように出力されます。

  ************** Simulation Summary **********************
  Bit error rate          : 0.001356
  Number of errors        : 4.000000
  Number of received bits : 2950.000000
  *********************************************************