Posts Issued on October 17, 2025

GameFSMの改良 (15)

posted by sakurai on October 17, 2025 #1037

前回の1度しか呼ばれていない関数のdrawString関数はボディが薄い(関数の行数が少ない)ので効果が出なかったかもしれないと思い、ボディが厚い関数をトライします。対象はupdateAlienBullet()(敵弾処理関数)で、行数は83行あります。

敵弾処理関数(updateAlienBullet())の最適化前後 比較
BSV合成 コンパイル時間 1'27'' 1'15'' ▲13.8%
Verilog合成 ファイルサイズ[KB] 5,922 5,253 ▲11.3%
合成時間 0'59'' 0'52'' ▲11.9%
Vivado LUT数 5,685 5,490 ▲3.4%
Vivado FF数 1,789 1,894 5.9%

結果としてはまず1度しか呼ばれない関数のため、物量削減どころかFSMオーバヘッドが増加しました。一方、ボディが厚かったため、bscコンパイル時間とverilog量及びそれに比例するvivado合成時間が削減されました。


左矢前のブログ 次のブログ右矢