##svlibって?
米国の設計コンサル会社Velirab社が今年のDVConで発表したSystemVerilogのパッケージらしい。ライセンスはApache2.0形式。
http://www.verilab.com/resources/svlib/
ざっくり見たところ、SystemVerilogのテストコーディングの手助けするパッケージっぽい。正規表現といった文字列のマニピュレーションと、今はini、ゆくゆくはYAMLをサポートしてテストシステムを組めるようになっている。
中身はSystemVerilog書かれたメソッドと、足りないものはDPIでC言語をimportしている。
##やろうとしたけど
現時点ではドキュメントが十分とは言えず、サンプルコードもあまりないので挫折orz
ソースコードは、いじってはいけないBaseクラスといじれるクラスがある。まあimportすれば良さげな感じ。
##ちょっと使ってみよう
ドキュメントにはツールとしてQuesta/Incisive/VCSを想定したコンパイル方法が記述されている。
ISE? Vivado? 知らない子ですね。ModelSim ASEだったらいけそうな気がする。
Whitepaperからちょっと拝借してコードを書いてみた。
svlibパッケージをimportさせ、走らせるには、svlib.fに書かれているパスを編集する必要がある。
`include "svlib_macros.svh"
module tb();
import svlib_pkg::*;
string cdir;
initial begin
cdir = sys_getCwd();
$display("Current directory is %s", cdir);
$finish(1);
end
endmodule
実行すると、カレントディレクトリが表示される。
##今後に期待
もうちょっとドキュメントを充実させてくれると面白いかも。
応用例が思いついたらまた書いてみようかと思います。
今はとりあえずのメモ程度に後悔しておきます。