こんにちは、ハチです。
前回 『 コンフィギュレーション ROM の選定 』 では、コンフィグレーション・モードについて勉強し、AS モードでコンフィグレーションを行う理由が分かりました。
今回は AS モードでコンフィグレーションを行った時に、コンフィグレーションが始まってから終わるまで、どの程度時間がかかるのか考えてみたいと思います。

前回勉強した通り、 AS モードは EPCS からデータを読み込みます。コンフィグレーション・データサイズに関してはデバイス依存であることが分かっています。

   EP4CE10 の場合 : rbf ファイルサイズ =  2,944,088bits

では、どのくらいのクロック周波数でデータを転送しているのでしょうか?
まずは、クロックについて調べるため、ハンドブックで AS モードの接続図を確認することにしました。
Cyclone® IV デバイス・ハンドブックの System Integration → Configuration → AS Configuration に記載があります)

FPGA から EPCS へ供給しているクロックは DCLK という名称でしたので、ハンドブック内を検索すると以下の箇所に記載してあることが分かりました。
Data Sheet → Switching Characteristic → Core Performance Configuration JTAG Specification

AS モードにおける DCLK は固定値という事がわかります。DCLK は 20 MHz または 40 MHz でした。

さてここからどのようにコンフィグレーション時間を計算するのだろうか・・・
ハンドブックを読み進めているとコンフィグレーション時間の計算式が載っていました!

以上の式を使ってコンフィグレーション時間を計算しました。

しかしこれはあくまでも目安値になります。
以下に Cyclone® IV E の AS モードでのコンフィグレーション時間の目安値をまとめてみました。
やはり、コンフィグレーションにかかる時間はロジック規模に比例している事がわかります。

これでコンフィグレーションにかかる時間が分かりました。

先輩に説明すると、「・・・足りない」 と言われてしまいましたが、ハンドブックに記載されている式を使っているのにどこが間違っているんだろう?
どうやら電源を入れてからユーザー論理の動作が始まるまでにはデータ転送以外にいくつかのステップを実行しているようです。

秒単位の世界では、電源投入後、すぐにユーザー論理の動作を開始しているように見えていますが、実施は、様々な工程を経ているんですね。
次回は、データ転送以外のステップについて勉強します!