인텔® Arria® 10 FPGA HPS 하드 메모리 컨트롤러(HMC)는 FPGA 패브릭이 구성되지 않은 상태에서 사용할 수 있지만, 위상 잠금 루프(PLL) 참조 클럭 및 재설정 신호는 특정 방식으로 구성되어야 합니다.
HPS HMC를 사용할 수 있도록 처음에는 I/O 열만 구성해야 합니다. FPGA 패브릭을 구성할 필요가 없습니다.
HPS HMC용 PLL 참조 클럭은 I/O 은행의 전용 입력 클럭 핀에서 제공하는 것이 좋습니다. 플랫폼 디자이너에서는 HPS HMC의 클럭 입력(pll_ref_clk_clock_sink) 포트를 전용 입력 클럭 핀에 연결하거나 이 신호를 직접 내보내기 위해 내보내는 클럭 소스에 연결합니다.
FPGA 패브릭이 구성되지 않은 경우 HPS HMC의 global_reset_n 입력을 사용할 수 없습니다. 또한 이 글로벌 리셋은 HPS HMC에 사용되는 I/O 은행뿐만 아니라 전체 I/O 열을 재설정합니다. 플랫폼 디자이너에서 HPS HMC의 재설정 입력(global_reset_reset_sink) 신호를 내보내거나 FPGA 패브릭을 구성한 후 사용할 수 있는 재설정 소스에 연결될 수 있습니다.
HPS는 HPS가 액세스할 수 있는 IOAUX 교정 공간의 레지스터를 통해 HPS HMC를 간접적으로 재설정할 수 있습니다. HPS와 I/O 열 사이에는 8비트 버스 2개(코어2seq 및 seq2core)가 존재하여 소프트웨어가 Nios® II 메모리 공간에 등록할 수 있도록 작성하고 읽을 수 있습니다. HPS의 Reset Manager는 이러한 버스(포트 hmc_gpio_core2seq 및 hmc_gpio_seq2core 정의)를 통해 Nios® II 프로세서와의 악수를 처리합니다. 이러한 GPIO 포트는 HPS와 I/O 열 간의 하드 연결입니다. HPS HMC의 재설정 및 재보정을 요청하려면 소프트웨어가 코어2seq 레지스터에 0x0f 작성하여 악수를 시작할 수 있습니다.
HPS와 Nios II 프로세서 간의 악수
Nios II 프로세서는 소프트웨어가 코어2seq 레지스터에 0x0f 기록할 때까지 코어2seq 레지스터를 조사합니다.
Nios II 프로세서는 seq2core 버스에 0x07 작성하여 재설정 요청을 보고 프로세스를 시작했다는 것을 인정합니다.
HPS는 Nios II 프로세서가 리셋 및 재보정이 완료되었음을 나타내는 0x08 작성되었음을 알 때까지 seq2core 를 폴링합니다.
HPS는 코어 2seq 에 0x00 작성하여 Nios II 프로세서가 완료되었음을 인정합니다.
Nios II 프로세서는 악수를 완료하기 위해 seq2core 에 0x00 작성합니다.
요약 정보
HPS를 먼저 재설정한 다음 HPS가 Nios II 프로세서를 통해 간접적으로 HMC를 재설정해야 합니다.