記事 ID: 000090809 コンテンツタイプ: トラブルシューティング 最終改訂日: 2022/06/21

インテル® Stratix® 10 SX デバイスで ECC がオンになっている場合、FPGA-SDRAM インターフェイスを構成する方法

環境

BUILT IN - ARTICLE INTRO SECOND COMPONENT
詳細

インテル® STRATIX® 10 SX デバイスの HPS 外部メモリー・インターフェイス (EMIF) でエラー訂正コード (ECC) をオンにすると、メモリーアドレスは F2H および F2SDRAM0/1/2 インターフェイス用の ECC データを生成します。FPGAから HPS へのマスターは、F2SDRAM0/1/2 インターフェイスを使用する場合でも、MPU で同じメモリーアドレスを使用する必要があります。それ以外の場合、ECC エラーがトリガーされる可能性があります。ECC がオフの場合、この制限は適用されません。

解決方法

FPGAから HPS へのマスターと MPU マスターが 2 GB 未満のメモリースペースにアクセスすると、メモリーアドレスが 0x0000 0000 から FFFF 0x7FFF使用されます。

FPGAから HPS へのマスターと MPU マスターが 2GB を超えるメモリースペースにアクセスすると、MPU は DTS ファイルで定義されたエイリアス・アドレスを使用してこれらのメモリーアドレスにアクセスします。FPGAから HPS へのマスターでは、すべての F2SDRAM0/1/2 インターフェイスで物理アドレスの代わりに同じエイリアス・アドレスを使用する必要があります。

以下は、インテル® Stratix® 10 SX デバイスの 4 GB HPS EMIF の例です。

DTS では、メモリーは以下のように 2 つの領域に定義されます。FPGAから HPS へのマスターと MPU は、0x1080000000からのアドレスを使用して、0x10FFFFFFFFして 2 GB ~ 4 GB のメモリースペースにアクセスする必要があります。

memory {

reg = <0 0x00000000 0 0x80000000>、

<0x10 0x80000000 0 0x80000000>;

};

上に示したエイリアス・アドレスで 4GB のメモリー領域全体にアクセスできるようにするには、以下の F2SDRAM ファイアウォール・レジスターも適宜設定する必要があります。

#Example、F2SDRAM0 リージョン 0 構成では、U-Boot ソース、つまり uboot-socfpga\arch\arm\mach-socfpga\spl_s10.c で構成できます。

書き込み(0x1000000、0xF8020210);region0addr_base
書き込み (0x0、0xF8020214);region0addr_baseext
書き込み(0xFFFFFFFF、0xF8020218);region0addr_limit (32 ビット以下)
書き込み (0x10、0xF802021C);region0addr_limitext (上 32 ビット)
書き込み(0x1、0xF8020204);地域向けenable_set

 

 

関連製品

本記事の適用対象: 1 製品

インテル® Stratix® 10 FPGA & SoC FPGA

このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。