はじめに
VPIを使うことで演算をC側で行うことができます。
計算回数や計算量によって実行時間がどうなるか気になったので試してみます。
実行時間の比較
VerilogとCで実行時間を比較します。演算は下記のような任意の値に足し算するだけのものです。
repeat(<計算回数>) begin
a = $random();
for (int i = 0; i < <計算量>; i++) begin
a += i;
end
end
計算回数における比較
VerilogとCで、計算回数における実行時間を比較します。

計算回数が増えるごとにCの方が実行時間延びると思いましたが結果は逆になりました。
計算量における比較
VerilogとCで、計算量における実行時間を比較します。

予想通り、計算量が増えるとCの実行速度の速さが顕著に表れています。
まとめ
VPIを用いたときの計算速度についてまとめました。
コメント