bindコマンドを使用してDUTをインターフェイスにバインドする際に直面している問題を理解してください。私は自分の駄目な信号をインターフェース信号に結びつけることができません。シミュレータはエラーを出し続けます。bindコマンドで問題が発生しました.DUTをインターフェイスにバインドできません。
バインドコマンドが動作するためのインターフェイスの入出力ポートとして、すべてのDUTポートを定義する必要があると感じました。 は、これは私のコードです:
module top();
…
trfcCtrlItf itf (clock);
trafficController dut
(hwy, hwy_wlk, cntry, cntry_wlk,
cntrRdCarsNmb,
setup, done,
clock, clear);
bindModule bind_inst(clock);
…
endmodule
module bindModule (input bit clk);
bind trafficController trfcCtrlItf bind_inst
(hwy, hwy_wlk, cntry, cntry_wlk,
cntrRdCarsNmb,
setup, done,
clock, clear);
endmodule
module trafficController
(hwy, hwy_wlk, cntry, cntry_wlk,
cntrRdCarsNmb,
setup, done,
clock, clear);
output reg [1:0] hwy, cntry;
output reg [1:0] hwy_wlk, cntry_wlk;
input setup, done;
input clock, clear;
input[5:0] cntrRdCarsNmb;
…
endmodule
interface trfcCtrlItf (input bit clock);
logic clear;
logic [1:0] hwy, cntry;
logic [1:0] hwy_wlk, cntry_wlk;
logic setup, done;
logic [5:0] cntrRdCarsNmb;
modport dut (input clock, clear, setup, done, cntrRdCarsNmb,
output hwy, cntry, hwy_wlk, cntry_wlk);
modport tb (output clock, clear, setup, done, cntrRdCarsNmb,
input hwy, cntry, hwy_wlk, cntry_wlk);
endinterface
シミュレータが言ってバインドモジュールにエラーを与えることをあまりにも多くのポート接続
**致命的:(VSIM-3365)E:/ドキュメント/ SystemVerilogのは/ UVM_Reg_myExample_trfcCntrl/bindModule .sv(15):
ポート接続が多すぎます。 、1を期待9.
を発見した唯一の答えとして、この記事を送信しないでくださいしてください。 http://events.dvcon.org/2012/proceedings/papers/01P_3.pdf
ありがとうございました 実際に私はこのアプローチのようなものはありません...私の意見を正当化してください。 モジュールの接続を簡略化するためのインターフェイスの考え方。簡単にモジュールポートを追加/削除する モジュールのポートを変更するたびに、 a)編集インターフェイスファイル b)編集バインディングモジュール この場合、インターフェイスモジュールを使用することの明確なメリットはありません – haykp