PCI Express® IP 코어용 Arria® V 및 Cyclone® V 하드 IP는 x4 또는 x8 구성에서 x1 또는 x2로 다운트레인되지 않습니다.
해결 방법은 레인 수를 설정하는 altpcie_av_hip_128_bit_atom.v 에서 Verilog HDL 코드를 수정하는 것입니다. 이 수정은 Quartus® II 설치 디렉토리 <quartus12.0_install_path>\ip\altera\altera_pcie\altera_pcie_av_hip_ast 있는 파일로 수정해야 합니다. MegaWizard™ 또는 Qsys 도구로 인해 프로젝트 폴더에 있는 이 파일의 사본이 삭제되고 PCIe 변형이 재생성되었는지 확인하십시오.
이 잘못된 코드를 교체합니다.
와이어 rxstatus_err;
할당 rxstatus_err = (pld8grxstatus0[2] | pld8grxstatus1[2] | pld8grxstatus2[2] | pld8grxstatus3[2] | | pld8grxstatus4[2] | pld8grxstatus5[2] | pld8grxstatus6[2] | pld8grxstatus7[2]);
할당 rxstatus_err = pld8grxstatus0[2];
이 수정된 버전으로:
와이어 rxstatus_err rxstatus_err_x1, rxstatus_err_x4, rxstatus_err_x8;
할당 rxstatus_err_x8 = (pld8grxstatus0[2] | pld8grxstatus1[2] | pld8grxstatus2[2] | pld8grxstatus3[2] | pld8grxstatus4[2] | pld8grxstatus5[2] | pld8grxstatus6[2] | pld8grxstatus7[2]);
할당 rxstatus_err_x4 = (pld8grxstatus0[2] | pld8grxstatus1[2] | pld8grxstatus2[2] | pld8grxstatus3[2] );
할당 rxstatus_err_x1 = pld8grxstatus0[2] ;
할당 rxstatus_err = (lane_act==4\'b1000)?rxstatus_err_x8:(lane_act==4\'b0100)?rxstatus_err_x4:rxstatus_err_x1;
이 문제는 PCI Express IP 코어용 Arria V 및 Cyclone V 하드 IP의 향후 버전에서 해결됩니다.