起動時間の早いFPGAを使いませんか?
目次
起動時間の早いFPGAを使いませんか?
FlashベースFPGAにコンフィギュレーションはありますか?
電源投入~デバイスのIOが使えるようになるまでの時間例 (6K LEのFPGA同士を比較した場合)
冒頭に記載したPolarFireの起動時間の算出
サマリ
Microchip社FPGAが採用される理由の1つに起動時間の早さがあります。
普段は別ベンダーのFPGAを使用されていても、システムの起動時間要求が厳しい製品についてはMicrochip社FPGAを採用されているお客様もいらっしゃいます。
例えば、現在主流のPolarFireの起動時間は 約70.06ms(Max)〜1.93ms(Min) となります。
もし、
・エンドユーザーさんが希望するシステム起動時間要求が短く、現行のFPGAの起動時間に困っている
・何らかの要因で電源が落ちてしまった後に素早く復旧したい
・節電のため定期的に基板の電源を落としており、別基板との通信確立のため素早く起動したい
といった場合には、是非Microchip社FPGAでのFPGA起動時間短縮をお試しください。
FlashベースFPGAにコンフィギュレーションはありますか?
Microchip社FPGAはFlashベース(不揮発性)になっています。
デバイスへのプログラミングをおこなうと電源を落とした後も回路デザインは消えないので、電源投入後のコンフィギュレーションはありません。
類似のデバイスとして、他FPGAベンダーでもコンフィグROM不要、1Chipで使用できるFPGAがありますが、
SRAMベースFPGAの場合、電源投入後にデバイス内部のFlash領域からSRAM領域へコンフィギュレーションする時間が必要になります。
電源投入~デバイスのIOが使えるようになるまでの時間例(6K LEのFPGAを比較した場合)
6K LEのFPGA同士で比較した場合
Microchip社 IGLOO2 M2GL005:VDDの立ち上がり時間(50us~100ms) + 2.587ms
他FPGAベンダーのFPGA(一例):約76.6798ms以上
となります。
Microchip社 IGLOO2の起動時間:
・VDDの立ち上がり時間はユーザーにて50us~100msの間で設定します。
・VDDが最小の電圧レベルになり、I/O出力が可能になるまでの時間についてはご使用デバイスに応じて
「UG0448: IGLOO2 FPGA High Performance Memory Subsystem User Guide」の「Table 122 • VDD Power-Up to Functional Time 」表をご参考ください。
https://www.microchip.com/en-us/products/fpgas-and-plds/fpgas/igloo-2-fpgas#Documentation
冒頭に記載したPolarFireの起動時間の算出
約70.06ms(Max)〜1.93ms(Min) の計算の内訳は以下になっています。
・Max
tPUFT
= tFAB_READY(cold) + tCALIB
= 7.87ms(Max) + 62.19ms(Max) = 70.06ms ※ VDDI ramp time 最遅50ms時
・Min
tPUFT
= tFAB_READY(cold) + tCALIB
=0.95ms(Min) + 0.98ms(Min) = 1.92ms ※ VDDI ramp time 最早0.2ms時
詳細については最新版のドキュメント
・PolarFire FPGA Datasheet
・PolarFire Family Power-Up and Resets User Guide
をご参考ください。
https://www.microchip.com/en-us/products/fpgas-and-plds/fpgas/polarfire-fpgas#Documentation
起動シーケンス図は「PolarFire FPGA Datasheet」の「5.9. Power-Up to Functional Timing」の項目や
「PolarFire Family Power-Up and Resets User Guide」の「2.2. Device Boot」、「2.3. Design and Memory Initialization」の項目
に記載されています。
起動時間は下記式で算出されます。
TPUFT = TFAB_READY(cold) + max((TPCIE + TXCVR + TLSRAM + TUSRAM), TCALIB)
TWRFT = TFAB_READY(warm) + max((TPCIE + TXCVR + TLSRAM + TUSRAM), TCALIB)
※ max((TPCIE + TXCVR + TLSRAM + TUSRAM), TCALIB)について
”max”は(tPCIE + tXCVR + tLSRAM + tUSRAM)またはtCALIBの大きい方を採用します。
※ 電源投入の際はcold、DEVRST_Nピンをアサートする際はwarmの値を参考にします。
各パラメーターは「PolarFire FPGA Datasheet」より以下のようになっています。
・TFAB_READY(cold)
Table 5-97. Cold Boot
Time when fabric is operational - TFAB_READY(cold)
0.95(Min) 4.41(Typ) 7.87(Max) ms
・TCALIB
Table 5-100. I/O Initial Calibration Time (TCALIB)
VDDI ramp time 最遅50ms時 : 62.19ms(Max)〜41.62(Min)
VDDI ramp time 最早0.2ms時 : 2.63ms(Max)〜0.98ms(Min)
※ 最終的には最新ドキュメントの数値を優先してご参考ください。
・"TPCIE + TXCVR + TLSRAM + TUSRAM"はお客様デザインでの使用/未使用で増減します。
Libero SoCにてコンパイル後のレポートをご確認、
TCALIBより大きくなる場合はこちらの値を使用してください。
Generate Design Initialization Data下、Design_Initialization_Data_Report.txt
一例 : an5021 Devie側デザイン
サマリー
電源投入後製品が起動できるようになるまでの待ち時間で困られているケースでは、Microchip社FPGAを是非ご検討ください!
お問い合わせ
本記事に関してご質問などありましたら、以下より問い合わせください。
Microchip メーカー情報Topへ
Microchipメーカー情報Topページへ戻りたい方は、以下をクリックください。