ただいまコメントを受けつけておりません。
雑記 > codeのメモ > 【SystemVerilog】【SVA】bind
パラメータ付きのmoduleにbindするときに戸惑ったことがあったのでそのメモ
通常のbindは以下の用な記述
bind cpu fpu_props fpu_rules_1(a,b,c);
Where:
困った事例というのは、インスタンスが複数箇所あり、インスタンス毎にパラメータ値を上位階層から取得していた場合。例えばport cにbit幅があり、そのbit幅をパラメータで設定していた場合
アサーション用のファイルをbindするときにport名は.*を使用して基本的には記述を省略してるのが、パラメータではそれができず、以下のような記述はERRORになってしまう。
bind cpu fpu_props #(.*) fpu_rules_1(.*);
結局パラメータに関しては以下の様にパラメータを取得する記述が必要だった。
bind cpu fpu_props #(.P_C_WIDTH(P_C_WIDTH)) fpu_rules_1(.*);
Where:
ただいまコメントを受けつけておりません。