중요 문제
"25G 이더넷-CPRI 프로토콜", "10G/25G 이더넷 프로토콜" 또는 "CPRI 프로토콜" 모드에서 작동하는 인텔® Stratix® 10 FPGA용 E-타일 하드 IP 동적 재구성 설계 예에서 생성된 'c3_reconfig.c' 파일에 포함된 레지스터 설정에 알려진 문제가 있습니까?
예. 인텔® Quartus® Prime Pro Edition 소프트웨어 버전 20.3 이하의 문제로 인해 "25G 이더넷-CPRI 프로토콜", "10G/25G 이더넷 프로토콜" 또는 "CPRI 프로토콜" 모드에서 작동하는 E-타일 하드 IP 동적 재구성 설계 예제 FPGA인텔® Stratix® 10에 의해 생성된 'c3_reconfig.c' 파일에 트랜시버 레지스터 주소 0x30E에 대한 잘못된 레지스터 쓰기가 포함되어 있습니다. 비트 [7]. 이러한 쓰기는 다음 함수에서 찾을 수 있습니다.
"25G 이더넷-CPRI 프로토콜"
• c3_ehiplane_rcfg_25gptpfec_to_9p8gcpri
• c3_ehiplane_rcfg_25gptpfec_to_4p9gcpri
• c3_ehiplane_rcfg_25gptpfec_to_2p4gcpri
• c3_ehiplane_rcfg_10gcpri_to_9p8gcpri
"10G/25G 이더넷 프로토콜"
• c3_ehiplane_rcfg_25gptpfec_to_1gptp
• c3_ehiplane_rcfg_10gptp_to_1gptp
• c3_ehiplane_rcfg_25gptpnofec_to_1gptp
"CPRI 프로토콜"
• c3_cpriphy_rcfg_grp_a_to_grp_b
• c3_cpriphy_rcfg_grp_a_to_grp_c
이러한 각 기능 내에서 다음 레지스터 액세스는 올바르지 않습니다.
HIP OSC CLK SCG EN
rdata0 = IORD(xcvr_base_addr, 0x30E);
wdata = (rdata0 & 0xFFFFFF7F) | 0x80;
IOWR(xcvr_base_addr, 0x30E, wdata);
이 문제를 해결하려면 다음과 같이 하십시오.
- "/software/dynamic_reconfiguration_hardware/" 디렉토리로 이동합니다.
- 'c3_reconfig.c' 파일을 엽니다.
- 위의 설명에 인용된 기능을 찾습니다.
- 코드의 다음 (3) 섹션을 주석 처리합니다.
// HIP OSC CLK SCG EN
rdata0 = IORD(xcvr_base_addr, 0x30E);
wdata = (rdata0 & 0xFFFFFF7F) | 0x80;
IOWR(xcvr_base_addr, 0x30E, wdata);
- 'c3_reconfig.c' 파일을 저장합니다.
- Nios 소프트웨어 프로젝트를 다시 빌드하여 새 .elf 파일을 가져옵니다.