IcarusVerilogのPLI1.0サンプルです。浮動小数点の値をバイナリ値に変換するtaskをPLI1.0で定義し、テストベンチで使用するサンプルです。動作環境はCentOS7です。
サンプルの内容は、以下のCver版と同じです。

Cver版との違い
PLI用のCソースは、#include “cv_veriuser.h”が不要な以外はCver版と同じです。また、コンパイル時に32ビットオプションは不要です。
vvp実行オプション
コンパイルしたPLI用シェアド・ライブラリ(my_pli.so)は、次のように-mcadpliオプションと-cadpliオプションでvvpに指定します。
vvp \
-mcadpli \
${TOP_MODULE} \
-cadpli=./my_pli.so:my_bootstrap

