はじめに
Agilex™ 3 は複数のコンフィグレーション・モードをサポートしており、Secure Device Manager (SDM) が制御しています。
AS x4 コンフィグレーションの場合、SDM が外部 QSPI Flash から初期設定ファームウェアをロードし、コンフィグレーションが実行されます。
QSPI Flash は複数メーカーから多品種リリースされておりますが、Altera® では一部の型番のみの対応となっております。
Table 4 - Supported Third Party Configuration Devices
Agilex™ 3 で使用する場合、.sof から .jic に変換する必要があり、Quartus® Prime の Programming File Generator を使用しますが、初期登録されているデバイスは限られた型式のみとなっております。
図1. Configuration Device QSPI Flash 登録リスト
登録型式を用いてコンフィグレーションまで可能な QSPI Flash もありますが、今回はオリジナルの QSPI Flash を登録し、プログラミング・ファイルの生成、プログラミング 及びコンフィグレーション成功までの手順についてご紹介します。
今回使用した環境は以下になります。
使用ツール:Quartus® Prime Pro Edition V25.1.1
使用開発キット:Terasic 社:Atum A3 Nano
ポイント: Agilex™ 3 を例としていますが、他の Agilex™ ファミリーや Stratix® 10 など、SDM を採用したデバイスファミリー共通の手順となっています。
ポイント: Programming File Generator の表示、設定項目は Quartus® Prime Pro Edition のバージョンにより異なる場合があります。
1. サンプルデザイン
添付のサンプルデザイン (golden_top_25_1_1_125.qar) は、キット付属の golden_top プロジェクトにカウンターと LED 点灯回路を追加したシンプルなデザインになります。
図2. 回路イメージ ( RTL Viewer )
2. .sof の生成
golden_top_25_1_1_125.qar を Quartus Prime で解凍し、フルコンパイルを実行します。
3. Programming File Generator 操作
3-1. Programming File Generator の起動
Quartus® Prime のメニューバーより、File => Programming File Generator をクリックします。
Device family: Agilex 3
Configuration mode: Active Serial x4
であることを確認(設定)します。
図3. 起動手順と表示
3-2. Output Files タブの設定
生成ファイルの保存先とファイル名を設定します。
今回は、
Output directory: .
Name: golden_top
に設定します。
JTAG indirect Configuration File (.jic) にチェックします。
(Memory Map File (.map) は自動でチェックされますので、そのままで OK です)
図4. Output Files 設定
3-3. Input Files タブの設定
Add Bitstream... ボタンをクリックし、.sof を登録します。
図5. Input Files 設定
3-4. Configuration Device タブの設定
Add Device... ボタンをクリックし、Custom database directory: には作成するカスタム設定 (.xml) を保存するフォルダを
指定します。
図6. Configuration Device directory: 設定1
Configuration Device タブで以下を設定します。
① <<new device>> をハイライト(右側の設定が編集可能に変更される)
② Device name: オリジナル型番を入力
③ Device ID: QSPI Flash のデータシートより、Manufacture ID、Device ID を登録
Atum A3 Nano は Micron 社製 MT25QU128 が実装されているため、0x20 0xBB 0x18
④ Device density: QSPI Flash のメモリ容量を選択
⑤ Apply ボタンをクリックし登録情報を保存
⑥ Configuration Device リストに登録されたオリジナル型番をハイライトし、OK ボタンをクリック
図7. Configuration Device directory: 設定2
⑦ オリジナル型番をハイライト => Add Partition => Input file: のプルダウンリストより .sof を選択し、OK をクリック
図8. Configuration Device directory: 設定3
⑧ Flash loader: にターゲットの FPGA 型番を選択するため、 Select ボタンをクリック
Device family は Agilex 3、Device name は A3CY135BB16A を選択し OK ボタンをクリック
図9. Configuration Device directory: 設定4
⑨ Generate ボタンをクリック
Successfully generated output file(s) と表示されれば指定したフォルダに .jic が生成
4. プログラミング
Atum A3 Nano と PC を付属のUSB ケーブルで接続後、AC アダプタを接続し電源を入れます。
Quartus® Prime Programmer を起動し、以下の設定を行います。
・Hardware Setup: Atum A3 Nano [USB-1]
・Add files ボタンをクリックし 作成した .jic ファイルを追加
・Program/Configure、Verify をチェック(下図)
図10. Programmer 設定
Start ボタンをクリックし、プログラムを開始します。
Factory SDM helper image のポップアップが表示された場合、Yes をクリックします。
図11. ポップアップメッセージ
Progress: に 100% (Successful) となりましたら、 プログラムは成功です。
参考資料:Agilex 3 でやってみた ~ FPGA のコンフィグレーション
Atum A3 Nano の電源を OFF => ON し、LED が順送り点灯すれば動作成功です。
図12. 動作イメージ
まとめ
今回は Programming File Generator を使用した QSPI Flash の登録方法からプログラミングファイルの作成、そしてユーザーモードの動作までご紹介しました。
未登録の QSPI Flash でも Programming File Generator にて新規に QSPI Flash の情報を登録することで、 AS x4 コンフィグレーションで使用するプログラミングファイルの作成がおこなえます。
注記: リリースされている全ての QSPI Flash に対応しているわけではないことにご留意ください。
「Agilex™ 3 でやってみた」シリーズ一覧はこちら