このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。
SystemVerilog で生成された DPI 関数を使用する
生成された DPI コンポーネントを SystemVerilog 環境で使用するには、まず SystemVerilog モジュール内に「DPI」宣言を含む生成された関数をインポートします。次に、生成された関数を呼び出してスケジュールします。インポートされた生成関数を含む SystemVerilog コードをコンパイルするときは、DPI 対応の SystemVerilog コンパイラを使用し、コンポーネント ファイル名を指定します。
次の例は、DPI_blk ブロック用に生成された DPI コンポーネントを SystemVerilog モジュールに追加する方法を示しています。
生成された関数をインポートします。
import "DPI" function void DPI_blk1_initialize(); import "DPI" function void DPI_blk1_ouptut(output real blk1_Y_Out1); import "DPI" function void DPI_blk1_update(input real blk1_U_On1);
関数
Initialize
を呼び出します。DPI_blk1_initialize();
output
およびupdate
関数呼び出しをスケジュールします。DPI_blk1_output( blk1_Y_Out1); DPI_blk1_update( blk1_U_In1);
例
import "DPI" function void DPI_blk1_initialize(); import "DPI" function void DPI_blk1_ouptut(output real blk1_Y_Out1); import "DPI" function void DPI_blk1_update(input real blk1_U_On1); module test_twoblock_tb; initial begin DPI_blk1_initialization(); end always@(posedge clk) begin #1 DPI_blk1_output(blk1_Y_Out1); DPI_blk1_update(blk1_U_In1); end always@(posedge clk) begin blk1_U_In1 = blk1_U_In1 + 1.0; end