私はparameter
が渡されたモジュールを持っており、定義されたパラメータに対応する別のモジュールをインスタンス化します。コンパイル時にエラーをスローするLINT /合成安全ステートメントとは何ですか?
しかし、ケースは、パラメータの特定の組み合わせのために定義されていない場合には、私はそうのように、問題を強調するために、コンパイル時にスローされるようにエラーをしたいと思います:
generate
if (PARAM1 == 1 && PARAM2 == 2) begin
// instantiate module logic_A
end else if (PARAM1 == 2 && PARAM2 == 1) begin
// instantiate module logic_B
end else begin
// throw an error at compile time if we haven't
// defined a case for those parameters
end
endgenerate
をしかし、このコードは、挿入されたエラーにもかかわらず、まだ合成可能(SystemVerilogではなくVerilog)でLINTingを渡す必要があります。
この状況で私が何を使用できるのか誰も知っていますか?前もって感謝します。
はSystemVerilogのでは、あなただけの '生成-if'のelse節に' $致命的な( "メッセージ")を行うことができます。 –
vcs 2015では、これが実装されていますが、特別なコンパイルスイッチ "-assert svaext"が必要です。このような場合、vcsは素晴らしいコンパイル時のメッセージを生成します。それ以外の場合は、構文エラーを検出します。 'initial'を指定すると、問題なくコンパイルされ、実行時違反メッセージが生成されます。 – Serge