Article #1028

既に発行済みのブログであっても適宜修正・追加することがあります。
We may make changes and additions to blogs already published.

GameFSMの改良 (8)

posted by sakurai on September 24, 2025 #1028

従来のcopyAreaをStmtで記述して呼び出す方式(変更前)と今回engine方式によりメインではFSMを起動する方式の2つのbsvとverilogの結果比較です。

画面アクセス改良前後 比較
BSV合成 ソースサイズ[byte] 52,138 60,756 17%増
コンパイル時間 16:27 2:10 ▲87%
Verilog合成 ファイルサイズ[KB] 29,156 8,398 ▲71%
合成時間 1:47 1:00 ▲44%
Vivado LUT数 7,212 5,901 ▲18%
Vivado FF数 1,821 1,812 ▲0.5%

この比較で見るように、従来Stmtが多数展開され、スケジューリング爆発を起こしていたシーケンスが軽くなり、コンパイル時間と生成verilog量が激減しました。FPGAの合成時間と物量も多少減少しました。

BSVソースはスイッチによりオリジナルと小FSM方式を出力し分けるように両方のコードが入っているため却って増大しています。

なお、前記事のfunction _BLIT()においてnoActionをコメントにしている場合の数値であり、その代わりに変数競合の警告がでます。実際には問題ないので警告offにしていますが、警告を消す場合はこのnoActionを入れる必要があります。ただしその分コンパイル時間、物量共増大します。


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

Leave a Comment

Your email address will not be published.

You may use Markdown syntax. If you include an ad such as http://, it will be invalidated by our AI system.

Please enter the numbers as they are shown in the image above.