メインコンテンツ

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

Synopsys VCS 向け Simulink HDLコシミュレーションを使い始める

この例では、Simulink ® と Synopsys® VCS® シミュレータを使用して HDL 設計を共同シミュレーションする方法を示します。Verilog® で記述されたレイズド コサイン フィルターを使用します。デジタル通信システムでは、通常、レイズド コサイン フィルターをパルス整形フィルターとして使用します。変調パルス入力のシンボル間干渉 (ISI) を防止します。

この例のレイズド コサイン フィルターの機能を検証するには、Simulink テストベンチを使用します。このテストベンチでは、launchVCS 関数を使用して HDL コンパイル スクリプトと HDL シミュレータ起動スクリプトを生成し、実行します。Simulink ライブラリから HDL Cosimulation ブロックを追加した後、それをテストベンチに接続します。テストベンチは、テスト対象の HDL 設計への入力を生成し、入力と出力の両方の波形をプロットします。シミュレーション中、Simulink の HDL フィルターの入力波形と出力波形を観察します。

要件

この例では、HDL Verifier ™ と Simulink に加えて、Synopsys の VCS シミュレータが必要です。

オープンモデルとシミュレータ

この例では、rcosflt_tb_vcs.slx モデルにはすでに HDL Cosimulation ブロックが含まれています。HDL Cosimulation ブロックを独自の Simulink テストベンチ モデルに追加するには、次の手順を実行します。

  1. テストベンチ モデルを開きます。

  2. Simulink キャンバスをダブルクリックし、「VCS コシミュレーション」を検索します。次に、検索結果をダブルクリックして HDL Cosimulation ブロックを追加します。

Simulink canvas showing the search result

MATLAB ® コマンド プロンプトでこのスクリプトを実行します。

% Open Simulink testbench
open_system('rcosflt_tb_vcs.slx');
% Run launchvcs command to launch Synopsys VCS simulator in CLI mode
launchVCS(VerilogFiles= "rcosflt_rtl.v", ...
    HDLTopLevelName= "rcosflt_rtl", ...
    RunMode= "cli", ...
    PreSimulationTcl= {
    'force rcosflt_rtl.clk 1 0, 0 10 -repeat 20', ...
    'force rcosflt_rtl.reset 1 0, 0 15'} ...
    );
#### Starting the HDL simulator for an Cosimulation Simulink link session.
#### Applying communication settings to the cosim block list...
#### Generating compilation and run scripts...
#### Compiling HDL...
#### Launching HDL simulator...
Successfully ran launch script.
#### Done.

スクリプトは次のアクションを実行します。

  • rcosflt_tb_vcs.slx テストベンチ モデルを開きます。

  • 対話型シェルで Synopsys VCS シミュレータを起動します。

  • cosimVCS.compile.bash コンパイル スクリプトと cosimVCS.launch.bash 起動スクリプトを生成します。 これらのスクリプトは GCC 環境をセットアップし、HDL Verifier ライブラリを Synopsys VCS シミュレータにロードします。

launchVCS コマンドは次のプロパティを使用します。

  • VerilogFiles — HDL設計ファイルrcosflt_rtl.v. を指定します。

  • HDLTopLevelName — HDL トップレベルモジュール rcosflt_rtl の名前を指定します。

  • RunMode 対話型シェルでシミュレータを起動します。

  • PreSimulationTcl 信号clkおよびresetの波形を生成します。HDL シミュレーションの開始前にこれらの波形を生成すると、設計ブロックを駆動するために別の Simulink モデルまたは HDL テストベンチ ロジックを作成する必要がなくなります。

Simulink に接続

シェルでこのコマンドを実行して、シミュレータと Simulink 間の接続を確立します。

ucli% run

シェルは指示を含むログを表示します。

Connection log

ブロック パラメーターの設定

rcosflt_tb_vcs モデルで、HDL Cosimulation ブロックをダブルクリックします。ポート タブで、入力ポートと出力ポートを次の図に示す値に設定します。

Port settings in the Block Parameters dialog box

タイムスケールタブで、[Simulink の 1 秒は 20 ns に相当] を設定します。

Timescales settings in the Block Parameters dialog box

シミュレーション タブで、コシミュレーションを開始する前に HDL シミュレーターを実行する時間20 ns に設定します。

Simulation settings in the Block Parameters dialog box

OK をクリックし、信号を HDL Cosimulation ブロックに接続します。

Model showing the signal connections with the HDL Cosimulation block

コシミュレーションを実行する

次にシミュレーションを実行します。スコープには、レイズド コサイン フィルターへの入力の遅延バージョンとフィルターの出力の両方が表示されます。このフィルタの出力を直接サンプリングすると、シンボル間干渉は発生しません。

Scope showing the simulation result

参考

|

トピック