Quartus® II 소프트웨어 및 IP 버전 11.0에서는 UniPHY 기반 메모리 컨트롤러의 제어 및 상태 레지스터에 액세스하는 문제가 있습니다.
최신 EMIF(외부 메모리 인터페이스) 핸드북에는 UniPHY 레지스터 맵과 컨트롤러 레지스터 맵이 9비트 주소(uniPHY at 0x000 및 컨트롤러 0x100)로 표시됩니다. 실제 구현에서 컨트롤러 CSR 주소 폭은 19비트이며 EMIF 핸드북에 지정된 레지스터 맵의 주소가 올바르지 않습니다. 다음 표에서는 11.0에 대한 올바른 레지스터 맵을 간략하게 설명합니다.
UniPHY 레지스터 맵
EMIF 핸드북 잘못된 주소 |
올바른 주소 |
설명 |
0x001 |
0x0_0004 |
예약 |
0x004 |
0x0_0010 |
UniPHY 상태 레지스터 0 |
0x005 |
0x0_0014 |
UniPHY 상태 레지스터 1 |
0x006 |
0x0_0018 |
UniPHY 상태 등록 2 |
0x007 |
0x0_001C |
UniPHY 메모리 Init Param Reg 0 |
컨트롤러 레지스터 맵
EMIF 핸드북 잘못된 주소 |
올바른 주소 |
설명 |
0x100 |
0x4_0000 |
ALTMEMPHY 상태/제어 레지스터 |
0x110 |
0x4_0040 |
컨트롤러 상태/구성 레지스터 |
0x120 |
0x4_0080 |
메모리 주소 크기 레지스터 0 |
0x121 |
0x4_0084 |
메모리 주소 크기 레지스터 1 |
0x122 |
0x4_0088 |
메모리 주소 크기 레지스터 2 |
0x123 |
0x4_008C |
메모리 타이밍 매개변수 레지스터 0 |
0x124 |
0x4_0090 |
메모리 타이밍 매개변수 레지스터 1 |
0x125 |
0x4_0094 |
메모리 타이밍 매개변수 레지스터 2 |
0x126 |
0x4_0098 |
메모리 타이밍 매개변수 레지스터 3 |
0x130 |
0x4_00C0 |
ECC 제어 레지스터 |
0x131 |
0x4_00C4 |
ECC 상태 등록 |
0x132 |
0x4_00C8 |
ECC 오류 주소 레지스터 |
이 문제는 Quartus II 소프트웨어 버전 11.1에서 해결되었습니다.