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

svdpi_qam モデルからSimulinkモデル コンフィギュレーションパラメーターパネルを開きます。次のパラメーターを設定します。

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

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

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

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

>> slbuild('svdpi_qam/チャネル')

>> slbuild('svdpi_qam/ErrorRate')

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

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

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

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

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

do QAM_DPIC_tb_mq.do

ケイデンス 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
  *********************************************************