Vengineerの妄想(準備期間)

人生は短いけど、長いです。人生を楽しみましょう!

extern

Verification Engineerの戯言

SystemVerilogのclassとinterfaceでは、taskとfunctionをexternできます。

たとえば、ex_externクラスにadd関数を宣言します。このとき、externを付けます。
class ex_extern;

    extern function int add( input int a, input int b );

endclass : ex_extern
別ファイル(実装ファイル)に次のようにadd関数を定義します。
function int ex_extern::add( input int a, input int b );
    return (a+b);
endfunction
こうすることで関数の実装部分をクラスの定義部に入れなくてもよくなります。