こんにちは、ハチです。前回はコンフィギュレーションにかかる時間について勉強しました。前回までは電源を入れてコンフィギュレーションさえ終わればユーザーモードになると思っていましたが、FPGA 内部では複数のステップを経て組んだ回路が動作していることがわかりました。
そのうちの一つ、Power On Reset ( POR ) について今回は勉強していきます。 Power On Reset Time とは電源が安定してからコンフィギュレーションが始まるまでの時間のことを言います。
電源を入れてから (業界用語では火を入れるというらしい。最初聞いたときはデバイスを焼却処分すことだと思ってました。(笑)) FPGA で組んだ回路が動くまでの時間を順を追って見て行きたいと思います。
下図の通りのステップを経て FPGA が動作しています。
- 電源オン
- 電源安定 : 電圧が規定値に達する
- POR : Power On Reset
- コンフィギュレーション
- イニシャライズ
- ユーザーモード
電源を入れてから電源が安定するまでの時間は Ramp Time ( tRAMP ) として規定されています。
これは電源 IC ( レギュレータ ) 等から電源を供給する際に電圧供給開始から規定電圧レベルに達している必要がある時間です。
Ramp Time 以内に電源を安定させると Power On Reset ( POR ) が開始されます。 POR とは文字通り、コンフィギュレーションを開始する前に FPGA に対してリセットをかけている工程です。その為、電源が早く安定すれば POR が早く開始され、結果としてユーザモードにも早く入ることができます。
POR に関しては以下の箇所に記載がありました。
configuration -> Configuration Rquirement -> Power On Reset (POR) Ciurcuit
では、これらの時間はどのように決められているのでしょうか。データシート内を “ POR ” で検索すると Hit しました。
Data Sheet -> Recommended Operating Conditions -> table 1-4 -> Note (7), (8)
- Fast mode : およそ tPOR = 3ms ~ 9ms
- Standard mode : およそ tPOR = 50 ~ 200ms
ここでもまた赤面。Power On Reset の時間 ( tPOR ) は tRAMP も含むそうです。記事を書きながら混乱してきたので、図にそれぞれの時間を示します。
なるほど、これを見ると電源を入れてからユーザーモードになるまでの時間は以下の式で表せそうです。
ユーザーモードになるまでの時間 = Power On Reset Time + コンフィギュレーション時間 + イニシャライズ時間
尚、tPOR や tRAMP はコンフィギュレーション・モードの Fast Mode にするか Standard Mode にするかで変わってきます。
今回の AS コンフィギュレーション・モードでも MSEL[2..0] ピンの処理方法により、Fast / Standard Mode の選択ができます。
ここで、前回計算したコンフィギュレーション時間は worst case で 147.2ms ですので、 tPOR 時間を足すと以下のように計算できます。
(コンフィギュレーション時間に関してはこちら)
POR + コンフィギュレーション時間 = 200ms + 147.2ms = 346.2ms
後はイニシャライズ時間を足せば電源立ち上げからユーザーモードになるまでの時間が分かります。
次回はイニシャライズの時間について勉強します。