Intel:Cyclone® V SoC のブートについて、FPGA 側のコンフィギュレーションを Hard Processor System (HPS) 側とは独立して動作させる構成を選択した場合、FPGA のコンフィギュレーション完了と HPS のブートが非同期で動作しますが、FPGA 側がコンフィグ未完了の状態で HPS 側のブートが先に動作することにより問題が生じる事はないですか?
SoC FPGA
カテゴリ:SoC
ツール:-
デバイス:Cyclone® V
HPS のブートローダー(Preloader)の実装上、FPGA がコンフィグ未完了の場合には、一部のレジスタの初期設定を実施しない事により、FPGA と HPS が独立して立上がるブートフローを考慮しています。
FPGA-HPS 間のインタフェースに関わる下記レジスタの初期設定処理が FPGA がユーザ・モードに遷移している場合のみ実行されるようになっています。
- rstmgr.brgmodrst レジスタ (アドレス:0xFFD0501C)
- l3regs.remap レジスタ (アドレス:0xFF800000)
- sysmgr.module レジスタ (アドレス:0xFFD08028)
上記のレジスタの初期設定が Preloader で実行されないケースを考慮して、U-Boot 以降のソフトウェア(U-Boot、ユーザーアプリケーション など)にも同じレジスタの初期設定を実装することで、HPS 側のブートが先行して動作するケースにも対応可能です。