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こうすることで関数の実装部分をクラスの定義部に入れなくてもよくなります。