Les Arria® V et Cyclone® V Hard IP pour PCI Express® les cœurs IP ne sont pas rétroformateurs à x1 ou x2 à partir de configurations x4 ou x8.
La solution de contournement consiste à corriger le code HDL Verilog dans altpcie_av_hip_128_bit_atom.v qui définit le nombre de voies. Cette correction doit être apportée au fichier situé dans le répertoire d’installation Quartus® II <quartus12.0_install_path>\ip\altera\altera_pcie\altera_pcie_av_hip_ast. Veillez à ce que toute copie de ce fichier située dans le dossier du projet en raison des outils MegaWizard™ ou Qsys soit supprimée et que la variante PCIe ne s’efface pas.
Remplacez ce code incorrect :
rxstatus_err fil ;
assign rxstatus_err = (pld8grxstatus0[2] | pld8grxstatus1[2] | pld8grxstatus2[2] | pld8grxstatus3[2] | pld8grxstatus4[2] | pld8grxstatus5[2] | pld8grxstatus6[2] | pld8grxstatus7[2]) ;
assigner rxstatus_err = pld8grxstatus0[2] ;
Avec cette version corrigée :
rxstatus_err rxstatus_err_x1 filaire, rxstatus_err_x4, rxstatus_err_x8 ;
assign rxstatus_err_x8 = (pld8grxstatus0[2] | pld8grxstatus1[2] | pld8grxstatus2[2] | pld8grxstatus3[2] | pld8grxstatus4[2] | pld8grxstatus5[2] | pld8grxstatus6[2] | pld8grxstatus7[2]) ;
assign rxstatus_err_x4 = (pld8grxstatus0[2] | pld8grxstatus1[2] | pld8grxstatus2[2] | pld8grxstatus3[2] ) ;
assigner rxstatus_err_x1 = pld8grxstatus0[2] ;
assigner rxstatus_err = (lane_act==4\'b1000)?rxstatus_err_x8:(lane_act===4\'b0100)?rxstatus_err_x4:rxstatus_err_x1 ;
Ce problème sera résolu dans la version future des Arria V et Cyclone V Hard IP pour les cœurs IP PCI Express.