1. インテル® Stratix® 10コンフィグレーション・ユーザーガイド
2. インテル® Stratix® 10のコンフィグレーションについての詳細
3. インテル® Stratix® 10のコンフィグレーション・スキーム
4. デザインでのリセット・リリース・インテルFPGA IPの使用
5. リモート・システム・アップデート (RSU)
6. インテル® Stratix® 10のコンフィグレーション機能
7. インテル® Stratix® 10のデバッグガイド
8. インテル® Stratix® 10コンフィグレーション・ユーザーガイド・アーカイブ
9. インテル® Stratix® 10コンフィグレーション・ユーザーガイド改訂履歴
3.1.1. Avalon® -STコンフィグレーション・スキームのハードウェア・コンポーネントとファイルの種類
3.1.2. Avalon-STデバイス・コンフィグレーションの有効化
3.1.3. AVST_READY信号
3.1.4. RBFコンフィグレーション・ファイルの形式
3.1.5. Avalon-STシングルデバイス・コンフィグレーション
3.1.6. Avalon® -STコンフィグレーション・スキームに向けたデバッグ・ガイドライン
3.1.7. Avalon-ST x8におけるQSFの割り当て
3.1.8. Avalon-ST x16におけるQSFの割り当て
3.1.9. Avalon-ST x32におけるQSFの割り当て
3.1.10. Avalon® -STコンフィグレーション・スキームで使用するIP: インテルFPGAパラレル・フラッシュ・ローダー II IPコア
3.2.1. ASコンフィグレーション・スキームのハードウェア・コンポーネントとファイルの種類
3.2.2. ASシングルデバイスのコンフィグレーション
3.2.3. 複数のシリアル・フラッシュ・デバイスを使用するAS
3.2.4. ASコンフィグレーションのタイミング・パラメーター
3.2.5. 外部AS_DATAピンで許容される最大スキュー遅延に関するガイドライン
3.2.6. シリアル・フラッシュ・デバイスのプログラミング
3.2.7. シリアル・フラッシュ・メモリーのレイアウト
3.2.8. AS_CLK
3.2.9. アクティブ・シリアル・コンフィグレーション・ソフトウェアの設定
3.2.10. インテル® Quartus® Primeのプログラミング手順
3.2.11. ASコンフィグレーション・スキームに向けたデバッグ・ガイドライン
3.2.12. ASにおけるQSFの割り当て
5.4.2.5. アプリケーション・イメージのレイアウト
アプリケーション・イメージは、SDMファームウェアとコンフィグレーション・データで構成されます。コンフィグレーション・データは最大4つのセクションを含みます。SDMファームウェアにはこれらのセクションへのポインターが含まれています。次の表は、アプリケーション・イメージ内のセクション数とセクションポインターの位置を示しています。
デフォルトで、アドレスオフセット0x1FC0から始まるアプリケーション・イメージ * .rpdの最初の16バイトは0です。ただし、この16バイトを使用してバージョンIDを格納し、アプリケーション・イメージを識別することが可能です。このバージョンIDを提供することにより、フラッシュメモリーに格納されたイメージを後で確認することができるようになります。
| オフセット | サイズ (バイト) | 説明 |
|---|---|---|
| 0x1F00 | 4 | セクション数 |
| … | ||
| 0x1F08 | 8 | 最初のセクションのアドレス |
| 0x1F10 | 8 | 2番目のセクションのアドレス |
| 0x1F18 | 8 | 3番目のセクションのアドレス |
| 0x1F20 | 8 | 4番目のセクションのアドレス |
| … | ||
| 0x1FFC | 4 | 0x1000から0x1FFBのCRC32 |
セクションポインターは、フラッシュ内のFPGAイメージの実際の位置と一致する必要があります。この要件を満たすために、2つのオプションが使用可能です。
- クワッドSPIフラッシュメモリー内の実際の位置に一致するアプリケーション・イメージを生成することができます。システムによって更新のセットが異なる場合があるため、このオプションは実用的ではありません。
- アドレス0に位置していると仮定してアプリケーション・イメージを生成し、その後実際の位置に一致するようにポインターを更新することができます。
INITIAL_ADDRESSに作成されたアプリケーション・イメージからNEW_ADDRESSにポインターを更新する手順は次のとおりです。
- INITIAL_ADDRESSをターゲットにするアプリケーション・イメージを作成します。
- アプリケーション・イメージのオフセット0xF100から32ビット値を読み取り、セクションの数を特定します。
- <s>= 1 to number_of_sectionsの場合
- section_pointer = 0xF100 + (s * 8) から64ビットのセクションポインターを読み取ります
- section_pointerからINITIAL_ADDRESSを引きます
- NEW_ADDRESSをsection_pointerに加えます
- 更新されたsection_pointerを格納します
- アドレス0x1000から0x1FFBのCRC32を再計算します。新しい値をオフセット0x1FFCに格納します。CRC32の値は、次の手順を使用してデータのコピー上で計算する必要があります。
- 各バイトのビットを入れ替え、ビットが逆の順に発生するようにしてCRCを計算します
- 計算したCRC32の値のバイトを入れ替え、逆の順序で表示されるようにします
- CRC32の値の各バイトのビットを入れ替えます
- CRC32の値をフラッシュに書き込みます
HPSを使用してRSUを管理している場合、U-BootクライアントとLIBRSUクライアントはどちらも上記の手順を実装し、アドレス0をターゲットにしているアプリケーション・イメージを実際の目的のスロットアドレスに再配置します。
注: ファクトリー・アップデート・イメージの形式は異なります。ファクトリー・アップデート・イメージの正しい生成手順に関しては、ファクトリー・アップデート・イメージの生成を参照してください。