12.論理合成

RTLシミュレーションが終わりましたので、次のステップは

です。この辺のやり方については、Veritak チュートリアルで説明してあるのでそちらをご参照ください。

Quartas 4で、StaratixUの最高速デバイスを使用します。勿論WebEditionで使用可能です。ところで本デバイスはまだ発売されていないと思いますがシミューレータで動かす分には全く問題ありません。合成してRTLシミュレーションが再現できるかやってみましょう。そのためには、まず論理合成です。論理合成Top層h8を指定してQuartas上でコンパイルします。コンパイルは筆者の低Spec.マシンで一時間程でした。


合成結果


StratixUのLUTは、CYCLONEと異なるようです。ALUTが従来相当だとすると5695LUTということになります。
RAMは、16KB使用しています。
これを見てバランスがよくないな、と感じる人はプロフェッショナルです。使用registerが442ということは、残りの殆どが組み合わせ回路になります。全体のLUTに対してregisterの使用数が少なすぎるのです。FPGAの使い方で最も効率的なのは、パイプラインを使って比較的浅いロジックで段間を埋めることです。(この辺はASICと最も異なるところだと思います。) 今回は、「パイプラインを構成しない設計的に簡単なやりかた」を最初から意図しましたのでそれでいいのですが、速度/使用LUT比で考えるとFPGAの能力を使い切った設計になっていないことを示しています。

それでは、Timingの結果です。


それでも34MHzという結果になりました。

H8オリジナル(初代)は16MHzですから2倍強の速度になっています。しかも、64ビット分のデコードを一回でやっていますのでデコーダの負担はオリジナルよりかなり大きい筈なのに、です。StratixUはこのような深いデコードが得意なようです。ちなみに速度的に限界的な使い方をしているAES回路では、CYCLONEで212MHzだったのが、StratixUでも250MHz程度にしか向上しませんでした。ロジック遅延よりも配線遅延が支配的な領域なのでしょう。