インターフェイスを VHDL モジュールにバインドしようとしています。バインドしたいシグナルは、モジュールで次のように定義されています。
TYPE dut_fsm_type is (
IDLE_STATE,
WAIT_STATE,
IDENTIFY_STATE,
LATCH_STATE,
DONE_STATE,
ERROR_STATE
);
signal dut_fsm_state : dut_fsm_type;
signal prev_dut_fsm_state : dut_fsm_type;
インターフェイス モジュールとバインド ステートメントのインスタンス化は次のようになります。
bind my_dut my_intf my_intf_0 (.*,
.fsm_state (tb.u_dut.dut_fsm_state),
.prev_fsm_state(tb.u_dut.prev_dut_fsm_state)
);
入力信号 fsm_state の長さがわからなかったので、32 ビットに設定しました。
interface my_intf (
input bit[31:0] fsm_state,
input bit[31:0] prev_fsm_state
);
questasim 10.4 でコンパイルしようとすると、次のメッセージが表示されます。
(vopt-2245) bind ステートメントで実際の式として使用される VHDL 階層参照のタイプ ('dut_fsm_type') は、パッケージで定義する必要があります。
これを処理する方法はありますか?