Ketika ECC dihidupkan dalam HPS External Memory Interface (EMIF) pada perangkat Intel Agilex® 7 SoC, alamat memori menghasilkan data ECC untuk mode langsung SDRAM F2H dan mode CCU F2H. Sehingga memerlukan master FPGA ke HPS menggunakan alamat memori yang sama dengan MPU bahkan dalam mode langsung SDRAM FPGA ke HPS. Jika tidak, galat ECC dapat dipicu. Pembatasan ini tidak berlaku ketika ECC dimatikan.
Ketika master MPU dan master MPU FPGA ke HPS mendapatkan akses ke ruang memori lebih rendah dari 2 GB, alamat memori digunakan dari 0x0000 0000 hingga 0x7FFF FFFF.
Ketika master MPU dan master MPU FPGA ke HPS mendapatkan akses ke ruang memori yang lebih besar dari 2 GB, MPU menggunakan alamat alias yang didefinisikan dalam file DTS untuk mengakses alamat memori ini. Master FPGA ke HPS harus menggunakan alamat alias yang sama alih-alih alamat fisik untuk mode langsung F2H SDRAM dan mode CCU F2H.
Berikut adalah contoh HPS EMIF 4 GB dalam perangkat SoC Intel Agilex® 7:
Dalam DTS, memori didefinisikan menjadi dua wilayah, seperti yang ditunjukkan di bawah ini. Kemudian master FPGA ke HPS dan MPU harus menggunakan alamat dari 0x1080000000 hingga 0x10FFFFFFFF untuk mengakses ruang memori 2 GB ~ 4 GB.
memori {
reg = ,
0x80000000>
};
Untuk mengaktifkan akses ke ruang memori 4 GB penuh dengan alamat alias di atas, register berikut juga harus diatur sesuai. Anda dapat mengatur register ini dalam berkas uboot-socfpga\arch\arm\mach-socfpga\spl_agilex.c
penulisan(0x100000, 0xF8020110); region0addr_base
penulisan (0x0, 0xF8020114); region0addr_baseext
penulisan (0xFFFFFFFF, 0xF8020118); region0addr_limit (32bit lebih rendah)
penulisan(0x10, 0xF802011C); region0addr_limitext (32bit atas)
penulisan(0x1, 0xF8020104); enable_set untuk wilayah