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をうまく使い分けることがポイントかと思います。