exStickは、搭載しているFlashROMにコンフィギュレーションデータを書いておくことで
電源投入直後に自動的に所望のハードウェアとして動作させることができます。
もちろん使うたびにPlatformケーブルでコンフィギュレーションすることもできますが
ある程度回路ができあがったら、ROM化して簡単に使えるようにしましょう。
ここでは、ROMデータを作成し書き込む手順を紹介します。
MCSデータの用意
まずは、合成してできたbitファイルからROMに書き込むためのファイル,MCSデータを作成します。
bitファイルを作成したら、”Generate Test PROM/ACE File”をダブルクリックしてiMPACTを起動します。
iMPACTが起動してきたら”Create PROM File”をダブルクリック
GUIで作成するMCSデータのROM情報を設定
- STEP1でSPI Flash→Configuration FPGAを選択。選択したら緑色の右矢印アイコンをクリックします。
- STEP2でROMのサイズを決定。exStickに搭載されているROMは4Mなので4Mをセレクトボックスで
選んだら、Add Storage Deviceをクリックします。画像のようにリストに4Mのデバイスが追加できたら
緑色の右矢印アイコンをクリックします。 - ファイルの保存場所と名前を決定します。
ここでは、c:\tmp\exstick_clock_2012101501.mcsというファイルを作るように指定しています。
拡張しは勝手に追加されますので、
“Output File Name” のところには、exstick_clock_2012101501
とだけ入力すればOKです。 - 全部入力が終わったら,OKボタンをクリックしておしまいです。
MCSデータに追加するbitファイルを選択する
追加するbitファイルを選ぶように促されますので,作成したbitファイル(FPGAをコンフィギュレーションするときに使うファイルですね)を選択します。
選択すると,他のファイルを追加します?と尋ねられますが不要ですので,「No」をクリックします。
下の画面のように,ROMにtop.bitを保存する という設定ができるはずです。
どこでもいいので,ROMの絵が表示されているペインの中で右クリックしてコンテクストメニューから
「Generate File」をクリックすればMCSデータが作成されます。
MCSデータを書き込む
MCSデータができあがったら、ROMに書き込みましょう。JTAGチェーンで認識されているROMにMCSをアサインして書き込みます。
いつものFPGAコンフィギュレーション手順同様、Platform CableでパソコンとexStickをつないだら
(1)iMPACTの「Boundary Scan」をダブルクリックして
(2)画像のようにメインペインで右クリック,コンテクストメニューから、「Initialize Chain」を選択します。
もしうまくいかなければ、先に「Cable Auto Connect」をクリックした後で、「Initialize Chain」を実行してみると
うまくいくかもしれません。
JTAGでFPGAとROMが検出されましたので、ROMのあたりで右クリックしてコンテクストメニューの「Add SPI/BPI Flash」をクリックします。
追加するファイルは、1.で作ったMCSデータです。ここでは、c:\tmp\exstick_clock_2012101501.mcsですね。
書き込む対象であるROMの素性をツールに設定します。exStickに搭載されているコンフィギュレーション用のROMはM25P40またはM25PE40です。セレクトメニューから間違えずに選びましょう。
M25P40を選択したところです。データの幅は1bitです。選択できたらOKでおしまいです。
MCSデータの指定とROMの設定を終えて「OK」をクリックすると,書き込みオプションを設定するためのダイアログが開きます.VerifyとDesgin-Specific Erace Before Programmingにチェックが入っていることを確認してください.デフォルトでそうなっているはずです.
いよいよ書き込みです.追加できた「FLASH」というところで(さっきまでは,点線で表示されてましたよね)右クリックしてコンテキストメニューの「Program」をクリックします.
削除,書き込み,ベリファイとFPGAに直接コンフィギュレーションするのに比べて少し時間がかかります.オペレーションが完了するまで,のんびり待ちましょう.
Let’s enjoy with exStick
というわけで書き込みは完了です.電源投入直後から書き込んだハードウェアとして動作しますよ.