2.4.1. HPSをSDRAMに接続するための考慮事項
2.4.2. HPS SDRAM I/Oの位置
ガイドライン: インテルでは、自動的に生成されるこれらのデフォルトのピン位置割り当てを開始点として使用することを推奨しています。
ガイドライン: ボードレイアウトを確定する前に、「output_files」サブフォルダーにある インテル® Quartus® Primeプロジェクトのピンアウトファイルで、HPSメモリー・コントローラーI/Oの位置を確認します。
ガイドライン: HPSメモリー・インターフェイスに関連するI/Oがすべて、アクティブなHPS EMIF I/Oバンク内にあることを確認します。
ピンの割り当て
DQまたはDQSグループの配置
未使用のHPS EMIF I/OをFPGA GPIOとして利用する
5.1. 概要
5.2. ソフトウェア開発プラットフォームのコンポーネントの組み立て
5.3. ゴールデン・ハードウェア・リファレンス・デザイン (GHRD)
5.4. アプリケーションのオペレーティング・システムの選択
5.5. Linuxに向けたソフトウェア開発プラットフォームの構築
5.6. ベアメタル・アプリケーションに向けたソフトウェア開発プラットフォームの構築
5.7. パートナーOSまたはRTOSに向けたソフトウェア開発プラットフォームの構築
5.8. ブートローダー・ソフトウェアの選択
5.9. 開発、デバッグ、およびトレースに向けたソフトウェア・ツールの選択
5.10. ブートおよびコンフィグレーションにおける考慮事項
5.11. システムリセットにおける考慮事項
5.12. フラッシュの考慮事項
5.13. エンベデッド・ソフトウェアのデバッグとトレース
5.14. インテル® Stratix® 10 SoC FPGA向けエンベデッド・ソフトウェアのデザイン・ガイドライン改訂履歴
2.4.2. HPS SDRAM I/Oの位置
HPS IPに向けた インテル® Stratix® 10 EMIFは、すべての外部メモリー・インターフェイス信号に対するデフォルトのピン位置の割り当てを制約ファイル内に含みます。これはIP生成時に作成され、インテル Quartus Prime 開発ソフトウェア・プロ・エディションはデザインのコンパイル時にそれを読み取ります。
ガイドライン: インテルでは、自動的に生成されるこれらのデフォルトのピン位置割り当てを開始点として使用することを推奨しています。
場合によっては、このセクションに示されている制約を満たすために、デフォルトのピンアウトを変更する必要があります。
ガイドライン: ボードレイアウトを確定する前に、「output_files」サブフォルダーにある インテル® Quartus® Primeプロジェクトのピンアウトファイルで、HPSメモリー・コントローラーI/Oの位置を確認します。
インテル® Quartus® Primeはデフォルトで、出力レポート、ログファイルおよびプログラミング・ファイルをプロジェクト・フォルダーの「output_files」サブフォルダーに生成します。HPS EMIFのピン位置を含むデザインのピンアウトは、コンパイル後に.pinテキストファイルを確認します。
ガイドライン: HPSメモリー・インターフェイスに関連するI/Oがすべて、アクティブなHPS EMIF I/Oバンク内にあることを確認します。
機能しているHPSメモリー・インターフェイスに必要なI/Oがすべて、次の表のとおりHPSメモリー幅のアクティブなバンク内に位置していることが重要です。
| EMIF幅 | バンク2Nのレーン | バンク2Mのレーン | バンク2Lのレーン | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 | 2 | 1 | 0 | 3 | 2 | 1 | 0 | 3 | 2 | 1 | 0 | |
| 16ビット | GPIO | 16ビットデータ | NC4 | アドレス/コマンド/RZQ/RefClk | GPIO | |||||||
| 16ビット + ECC | GPIO | 16ビットデータ + ECC | アドレス/コマンド/RZQ/RefClk | GPIO | ||||||||
| 32ビット | 32ビットデータ | NC | アドレス/コマンド/RZQ/RefClk | GPIO | ||||||||
| 32ビット + ECC | 32ビットデータ + ECC | アドレス/コマンド/RZQ/RefClk | GPIO | |||||||||
| 64ビット | 64ビットデータ | NC | アドレス/コマンド/RZQ/RefClk | 64ビットデータ | ||||||||
| 64ビット + ECC | 64ビットデータ + ECC | アドレス/コマンド/RZQ/RefClk | 64ビットデータ + ECC | |||||||||
ピンの割り当て
単一のx8 DQSグループを実装する単一のデータレーンでは以下が当てはまります。
- DQピンは、インデックス1、2、3、6、7、8、9、10のピンを使用する必要があります。最終的なピンアウトがこれらのインデックスのピンのみを使用している限り、DQビット間で位置を入れ替えることが可能です。つまり、DQ[0]とDQ[3]の位置を入れ替えることが可能です。
- DM/DBIピンはインデックス11のピンを使用する必要があります。これを柔軟に変更することはできません。
- DQSはインデックス4のピンを使用し、DQS#はインデックス5のピンを使用する必要があります。これを柔軟に変更することはできません。
- ALERT#ピンはI/Oバンク2N、レーン0、ピン・インデックス0または、I/Oバンク2N、レーン1、ピン・インデックス0に配置します。それ以外は、許可される場合にHPS REFCLK_P、アドレス、コマンド、RZQ、RefClkまたは汎用I/Oに使用される場合を除き、ピン・インデックス0は「接続なし」でなければなりません。
- データレーンの割り当ては、上記表に示されているとおりに行う必要があります。最終的なピンアウトが、上記表のとおりHPS EMIFコンフィグレーションで許可されるレーンのみを使用している限り、バイトレーン全体の位置を入れ替えることが可能です。つまり、バイト0とバイト1の位置を入れ替えることができます。
- I/Oバンク2Mのレーン0、1および2はアドレス、コマンド、RZQ、RefClkにのみ使用し、それ以外の場合は「接続なし」でなければなりません。
- アドレスおよびコマンドピンの配置はデフォルトから変更することはできません。
- ECCを使用しない場合、IOバンク2Mのレーン3は「接続なし」にする必要があります。ECCを使用している場合、ECC DQSグループは、特に制限されていない単一のデータレーンのいずれかに配置できます。つまり、2Mに配置されるECC DQSグループに対する要件はありません。
- HPS REFCLK_PはIOバンク2Mのレーン2、ピン・インデックス0を使用し、HPS REFCLK_NはIOバンク2Mのレーン2、ピン・インデックス1を使用する必要があります。
- RZQはIOバンク2Mのレーン2、ピン・インデックス2を使用する必要があります。
DQまたはDQSグループの配置
| コンフィグレーション | DQSグループの配置 |
|---|---|
| 16ビット | 2NのI/Oレーン0および1に配置する必要があります。 |
| 16ビット + ECC | 2NのI/Oレーン0と1、および2MのI/Oレーン3に配置する必要があります。 |
| 32ビット | 2Nに配置する必要があります。 |
| 32ビット + ECC | 2Nおよび2MのI/Oレーン3に配置する必要があります。 |
| 64ビット | 2Nと2Lに配置する必要があります。 |
| 64ビット + ECC | 2N、2Lおよび2MのI/Oレーン3に配置する必要があります。 |
注: いずれの場合においても、DQおよびDQSグループは、示されているI/Oバンクで入れ替え可能です。2Mに配置されるECC DQSグループに対する要件はありません。
未使用のHPS EMIF I/OをFPGA GPIOとして利用する
- バンク2N (データ[31:0])—16ビット・インターフェイスの未使用レーンはFPGA GPIOに利用可能です。
- バンド2M (Addr/Cmd/ECC)
- レーン0、1、2はFPGA GPIOとして利用できません。
- ECCを使用していない場合、レーン3はFPGA GPIOとして利用できません。
- バンク2L (データ[63:32])—32ビット以下のインターフェイスの未使用レーンはFPGA GPIOとして利用可能です。
4 NCは「接続なし」を意味します。