문서 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 마스터가 2GB 미만의 메모리 공간에 액세스하면 메모리 주소가 0x0000 0000에서 0x7FFF FFFF로 사용됩니다.

FPGA HPS 마스터와 MPU 마스터가 2GB보다 큰 메모리 공간에 액세스할 때 MPU는 DTS 파일에 정의된 별칭 주소를 사용하여 이러한 메모리 주소에 액세스합니다. FPGA HPS 마스터는 모든 F2SDRAM0/1/2 인터페이스에 실제 주소 대신 동일한 별칭 주소를 사용해야 합니다.

다음은 인텔® Stratix® 10 SX 장치의 4GB HPS EMIF 예입니다.

DTS에서 메모리는 아래와 같이 두 영역으로 정의됩니다. 그런 다음 FPGA HPS 마스터 및 MPU는 2GB ~ 4GB 메모리 공간에 액세스하려면 0x1080000000 주소에서 0x10FFFFFFFF 주소를 사용해야 합니다.

메모리 {

reg = <0 0x00000000 0 0x80000000>,

<0x10 0x80000000 0 0x80000000>;

};

위에 표시된 별칭 주소가 있는 전체 4GB 메모리 공간에 대한 액세스를 활성화하려면 다음 F2SDRAM 방화벽 레지스터도 그에 따라 설정해야 합니다.

#Example, F2SDRAM0 리전0 구성, you는 U-Boot 소스, 즉 uboot-socfpga\arch\arm\mach-socfpga\spl_s10.c에서 구성할 수 있습니다.

writel(0x1000000, 0xF8020210); region0addr_base
writel(0x0, 0xF8020214); region0addr_baseext
writel(0xFFFFFFFF, 0xF8020218); region0addr_limit(낮은 32비트)
writel(0x10, 0xF802021C); region0addr_limitext(상위 32비트)
writel(0x1, 0xF8020204); 지역 enable_set

 

 

관련 제품

이 문서는 다음 항목에 적용됩니다. 1 제품

인텔® Stratix® 10 FPGA 및 SoC FPGA

이 페이지의 콘텐츠는 원본 영어 콘텐츠에 대한 사람 번역 및 컴퓨터 번역의 조합으로 완성되었습니다. 이 콘텐츠는 편의와 일반적인 정보 제공을 위해서만 제공되었으며, 완전하거나 정확한 것으로 간주되어선 안 됩니다. 이 페이지의 영어 버전과 번역 간 모순이 있는 경우, 영어 버전이 우선적으로 적용됩니다. 이 페이지의 영어 버전을 확인하십시오.