4.1.6 AES

前回設計レポートでは、Quartus Ver.3でした。今回は、Ver4.0にして再合成してみました。前回、Veritakは、RTLシミュレーションしかできませんでしたが、遅延シミュレーションも行えるようになりました。

RTLシミュレーション

以下のようなプロジェクトにしました。aes_try3.vが合成対象。test_bench_model_sim.vがテストベンチです。また、cram.vと fifo.vは、Wizardで生成したRAMになっています。例によってRTLシミュレーションでは、altera_mf.vを加えます。


論理合成

セル数は、前回より減っています。

駆動可能周波数は、僅かに落ちています。


ポストレイアウト遅延シミュレーション
例によって、ポストレイアウト遅延シミュレーションでは、cyclone_atom.vをプロジェクトに加えます。





試しに前回と同じCycle Time(4.7000ns)でやってみるとコンペアエラーが発生してしまいました。今回の駆動値4.708nsで駆動してみるとパスしました。(シミュレーション開始時のSETUP/HOLD TIME エラーは、シミュレータの過渡状態によるものですから無視して構いません。)

チュートリアルのおわりに

筆者の低Spec.マシンで、4時間かかりました。RTLシミュレーションでは、6分しかかからなかったので 240/6=40倍に速度が低下したことになります。同じ結果を得るのにRTLと遅延SIMではどちらを選びますか?昔は、Verilogなんてなくて、ゲートSIMでやっていた訳ですが、設計言語としてのVerilogの素晴らしさが実感できたのではないでしょうか?設計言語としてのVerilogと論理合成検証としての遅延SIMをうまく使い分けることがポイントかと思います。