ドータボードFPGAのブートストラッピング

Application Note AP0100 (v2.0) March 18, 2008

このアプリケーションノートは、電源投入時、NanoBoard-NB1のドータボードFPGAを起動する方法を、デザインが格納されている専用オンボードフラッシュメモリとともに説明します。

NanoBoard-NB1 は、電源投入時に、ドータボード上に挿入されているFPGAデバイスにブートストラッピングの能力を提供します。 FPGAにダウンロードされるプログラムは、専用フラッシュメモリで実行されます。

フラッシュメモリを使用した物理デバイスのプログラム

8Mビットのフラッシュメモリ (M25P80)が、FPGAにデザインをインプリメントするのに必要なプログラミングファイルを保存するのに使用されています。 このデバイスは、NanoBoardのコンポーネント U6 です。
フラッシュメモリは、NanoTalk Controller - ザイリンクス Spartan 100 FPGAによって制御されています。

フラッシュメモリコントローラの実行

FPGAのプログラミングファイルをフラッシュメモリにロードする手順は、いつでも実行できます。 FPGAプロジェクトがオープンされているかどうかに関係なく、また、デザインが現在、(ドータボード上の)ターゲットFPGAデバイスにプログラミングされているかどうかも関係ありません。
Devices ビューから、FPGAのブートフラッシュメモリに関連するNanoBoardのアイコンをダブルクリックするだけで、ロードできます。

図1 NanoBoard -NB1 コントローラアイコン

NanoBoard コントローラ用の計器ラックが表示されます(図 2)。

図 2. NanoBoard コントローラの計器ラック
注記 : 複数のNanoBoardをデージーチェーンで一緒に接続している場合、NanoBoardチェーンには、それぞれが(電源投入時に)検出したボードが反映されています。 チェーン内の各NanoBoardコントローラは、それぞれのアイコンが特定的にダブルクリックされると、計器ラックの中にだけ表示されるようになります。
必要なNanoTalk コントローラの計器パネルの上で、FPGA Boot ボタンをクリックします。 Flash RAM Controller For FPGA Boot ダイアログ表示されます(図3)。
ダイアログで、Read Electronic Signature ボタンを押します。 これで、NanoTalk コントローラとフラッシュメモリデバイスとの通信リンクをテストします。 通信が成功すると、ボタンのすぐ隣のフィールドにデバイス値が表示されます。また、"Device Found: M25P80 (8M-Bit Serial Flash RAM)" の確認メッセージが表示されます。

図3 フラッシュメモリコントローラ、FPGAブートダイアログ用

フラッシュメモリの消去

必要なプログラミングファイルをフラッシュメモリデバイスにロードする前に、メモリをまず、クリアにしておく必要があります。 8Mビットのフラッシュメモリを完全に消去するには、Flash RAM Controller for FPGA Boot ダイアログでErase Entire Device ボタンを押します。 消去プロセスには、5秒ほどかかります。What is the Erase Sector used for.

フラッシュメモリのプログラミング

フラッシュメモリが消去されたら、プログラミングファイルをダウンロードできるようになります。 Flash RAM Controller for FPGA Boot ダイアログで、... ボタン(ダイアログの右上)を押します。 The Choose FPGA Programming File for Download ダイアログが表示されます。 このダイアログで、必要なファイルを探して開くことができます。 特定のターゲットFPGAデバイス用のプログラミングファイルは、関連する \Out\ConfigurationName のサブフォルダの中にあります。ファイルには、アルテラ用(.rbf)と、ザイリンクス用(.bit)とがあります。.
注記 : ザイリンクスのFPGAデバイスを使用する場合に使うプログラミングファイルは、JTAG プログラミング用やスレーブ-シリアルプログラミング用のとは別物です。 ドータボード上のFPGAデバイスをロードする際、フラッシュメモリには後者のものを使用します。 したがって、プログラミングファイルを選ぶ場合、(.bit という拡張子の代わりに)_cclk.bit という拡張子がついたファイルを選択してください。
ファイルを選んだら、Open をクリックして、Flash RAM Controller for FPGA Boot ダイアログに戻ります。 選択したファイルが(パスとともに)表示されます。 目的のファイルをフラッシュメモリにダウンロードするには、Save File To Flash をクリックするだけです。
ダウンロードプロセスが進行するにつれて、進行状態がAltium Designer のステータスバーに表示されます。 ダウンロードの終わりに - ザイリンクスSpartan IIE-300 の場合、15~20秒ほどかかりますが - 情報ウィンドウが表示されて、プロセスの終了を確認します。

フラッシュメモリへのダウンロードの検証

フラッシュメモリデバイスにFPGAプログラミングファイルをダウンロードした後、チェックを行い、プログラミングファイルの統合を確実にする必要があります。 チェックは Flash RAM Controller for FPGA Boot ダイアログから行います。Verify against File ボタンをクリックしてください。
フラッシュメモリの内容が、読み出され、オリジナルのプログラミングファイルと比較されます。 このプロセスの進行は、再び、Altium Designerのステータスバーに表示されます。ザイリンクスのSpartan IIE-300デバイスでは、普通、15-20秒ほど、完了するのにかかります。
情報ダイアログに詳細な検証結果が表示されます。 ダウンロードのプロセスが失敗しているような場合、検証でエラーカウントが報告されます。 非常に多くのエラーが発生している場合、一般的には、プログラミングファイルのダウンロードに先立って、フラッシュメモリデバイスがうまく消去できなかったことに起因すると考えられます。 このような時は、もう一度デバイスを消去してみてください。Erase Entire Device ボタンを使用します。その後、Blank Check ボタン(同じダイアログにあります)でデバイスのメモリが完全に消去されていることを確認します。 プログラミングファイルを、その後再びダウンロードします。

フラッシュメモリを使用したFPGAの起動

必要なFPGAのプログラミングファイルで、フラッシュメモリが完全にプログラムされたら、ドータボード上のFPGAデバイスをフラッシュメモリから直接起動することができます。
まず、NanoBoard の電源を切ります。 次に、JP2 - AUTO LOAD FPGA 間にジャンパ線を挿入します。NanoBoard のVGAインターフェースの間にある、ジャンパ線の並びのうち、一番左側のジャンパ線です。
NanoBoardの電源が投入されると、ドータボード上のFPGAがフラッシュメモリの常駐ファイルでログラミングされ、デザインの実行が始まります。 使用しているFPGAデバイスによっては、このスタートアッププロセスは、0.2~1.0秒ほどかかります。

You are reporting an issue with the following selected text and/or image within the active document: