ファームウェアの書き込み、ハードウェアのセットアップ方法†
(執筆完了時削除 --> 執筆責任者: 洲波泥 太郎, 執筆締め切り: 2024/xx/xx)
ここでは、ファームウェアの書き込み方法について記述する。もともとのドキュメントは RCNP 白鳥氏が書いたものがあり、それを編集しなおしたものである。
AMANEQ ボード本体および HR-TDC メザニンカードへの書き込み†
新規に AMANEQ ボード本体、HR-TDCメザニンカードを購入した場合、まずファームウェアを書き込む必要がある。AMANEQ および HR-TDC メザニンカード用のファームウェアは mcs ファイルと呼ばれる不揮発性のメモリ (電源を切っても記憶しているメモリ) に書き込むものと bit ファイルと呼ばれる揮発性のメモリ (電源を切っても記憶しているメモリ) に書き込むものの 2 種類が存在する。mcs ファイルの書き込みは数分程度かかる一方で、bit ファイルの書き込みは数十秒程度で終わる。そのため、テスト的にファームウェアの動作検証をしたい場合、もしくは一時的に特定のファームウェアが必要な場合 (例えばジッタークリーナーの設定の際は LR-TDC のファームウェアが必要) に bit ファイルを用いる。ただ、bit ファイルは電源を切ると書き込んだ内容が消えてしまうため、パワーサイクル (電源を落としてから再投入すること) を繰り返しても同じファームウェアを用いたい場合、mcs ファイルを不揮発性メモリに書き込む。新規に購入したボードのセットアップをする場合、よくやる手としては、まず bit ファイルでいろいろと設定したのち、実験の本番で使う mcs ファイルを書き込む。
mcs ファイル、もしくは bit ファイルは AMANEQ 本体、または HR-TDC メザニンカードについている JTAG 経由で書き込みを行うことができる。この書き込み方法に加えて、AMANEQ 本体への mcs ファイルの書き込みは、ネットワーク経由で行うこともできる。ただし、AMANEQ 本体にすでに何らかのファームウェアがすでに書き込まれていることが前提である。HR-TDCメザニンカードにはネットワーク経由でファームウェアを書き込むことはできない。また、bit ファイルの書き込みは JTAG 経由でしかできない。
ここでは、以下の書き込み方法を順番に説明する。
- mcs ファイルを JTAG 経由で AMANEQ 本体に書き込む
- bit ファイルを JTAG 経由で AMANEQ 本体に書き込む
- mcs ファイルを JTAG 経由で HR-TDC メザニンカードに書き込む
- bit ファイルを JTAG 経由で HR-TDC メザニンカードに書き込む
- mcs ファイルを ネットワーク経由で AMANEQ 本体に書き込む
mcs ファイルを JTAG 経由で AMANEQ 本体に書き込む†
- まず、mcs ファイルの準備を行う。例として、LR-TDC firmware を AMANEQ に書き込む。2024年9月現在、Vivado 2024.1 というバージョンが最新であるが、安定して動くことが分かっている Vivado 2023.2 を用いることが多い。ただ、論理合成、配置配線などを行うわけではなく、単に書き込むだけなので、あまりバージョンは気にしなくてよいと思われる。mcs ファイルは以下のディレクトリ
https://github.com/AMANEQ-official/StrLrTdc/tree/main/mcs
の amaneq-4-strlrtdc-v2.5.mcs という RAW ファイルをダウンロードする。ダウンロード方法は、このページの amaneq-4-strlrtdc-v2.5.mcs をクリックして、さらに Download raw file というボタンをクリックすればよい。ここで、amaneq-4-* はAMANEQ v4 用の mcs ファイルであることを表す。AMANEQ v1 に書き込みを行う場合は、amaneq-1-* という mcs ファイルを選ぶ。v2.5 の部分はファームウェアのバージョン。(以下のキャプチャー画像では Vivado 2019.1のときの画像を使用。ただ、Vivado 2024.2 とほとんど同じ。また、MCSファイル名: amaneq_skeleton_wosdram.mcsをサンプルとして用いている。ちなみに、Vivado 2019.1 のときは MCS ファイルとセットで PRM ファイルというファイルも必要だったが、Vivado 2023.2 のような新しい Vivado では必要なくなったようだ。)
- PCとAMANEQのJTAGをXilinxのダウンロードケーブルで繋ぎ、AMANEQの電源をONする。電源ONはAC/DCアダプターを挿すのみでよい。初回電源投入時はLEDも何も点かない状態。
- Vidadoで新規プロジェクトファイルを作る (図は一度作ったプロジェクトファイル)
- Open Hardware ManageのOpen targetをクリック。「Auto Connect」を選択。
- 繋がると”Hardware”が表示される。Xilinxのダウンロードケーブルのランプがグリーンになる。繋がらない場合はエラーメッセージが出る。(繋がらない時はケーブルがちゃんとささってない場合やUSBダウンロードケーブルが認識されていないなど)
- SPIフラッシュメモを追加する。”Hardware”内の 「c7k160t_0」上で右クリックし、”Add Configuration Memory Device”を選択。ウィンドウがポップアップし、ここで Manufacturer 「Cypress/Spansion」、Type 「All」、Density (Mb) 「128」、Width 「x1_x2_x4」 を選択すると、Name 「s258fl128sxxxxxx0-spi-x1_x2_x4」, Alias 「s258fl127s-spi-x1_x2_x4」 が出てくるのでこれを選択し、OK ボタンを押す。Do you want to program the configuration memory device now? と聞かれるがとりあえず Cancel ボタンを押す(OKボタンを押しても良い)。
- 書き込みを行うSPIフラッシュメモリを選択する。Memory Partの”…”をクリック。
- SPIフラッシュメモリ名「s25fl128sxxxxxx0-spi-x1_x2_x4」、Alias「s25fl127s-spi-x1_x2_x4」を選択し、”OK”を押す。また、5)におけるProgramming fileは使用するMCSファイル(amaneq_skeleton_wosdram.mcs)を選択する。
- ダウンロード作業はHardwareのSPIフラッシュメモリ名を右クリックし、「Program Configuration Memory Device」を選択する。
- Configuration fileとして使用するMCSファイル(amaneq_skeleton_wosdram.mcs)とPRMファイル(amaneq_skeleton_wosdram.prm)を選択する。ちなみに、Vivado 2023.1 の場合、おそらく prmファイルを選択する必要がなくなり、PRM file の項目がグレイアウトしている。その他の設定はデフォルトのままでよい。”OK”を押すとfirmwareファイルのダウンロードが開始される。
- ダウンロード作業中の図。図のようなインジケーター表示される。エラー時は赤い文字でエラーメッセージが出る。(SPIフラッシュメモリの選択ミスなど)。問題が無ければ、だいたい5分で完了する。
- ダウンロードが成功すると図の表示が出る。
- “Open Hardware manager”を右クリックすると「Close」が出るので、クリックするとAMANEQとの接続が切れる。これでダウンロードケーブルの抜き差しやAMANEQの電源をOFFする。
- これでfirmwareのダウンロード作業は完了。
電源ONにてLEDが赤く点灯。DIPの最初のビット(DIP-1)を”0”にするとデフォルトIP:192:168:10:16が設定される。SPF1に接続してpingが通ればOK。
bit ファイルを JTAG 経由で AMANEQ 本体に書き込む†
mcs ファイルを JTAG 経由で HR-TDC メザニンカードに書き込む†
bit ファイルを JTAG 経由で HR-TDC メザニンカードに書き込む†
mcs ファイルを ネットワーク経由で AMANEQ 本体に書き込む†
リンク†
- AMANEQ FW の書き方メモ (RCNP 白鳥昂太郎氏)
- AMANEQ における MPC Writter と SiTCP Utility の使い方 (RCNP 小林信之氏)
本稿執筆者†
2024/xx/xx 洲波泥 太郎 (SPADI大学), 脱九 花子 (SPADI大学)
2024/xx/xx 脱九 花子 (SPADI大学)