En raison d’un problème dans la version 23.4 et les versions antérieures du logiciel Intel® Quartus® Prime Pro Edition, il n’y a pas de registres de capacité ATS (Address Translation Service) dans l’IP FPGA Intel Agilex® 7 R-Tile Compute Express Link* (CXL) 1.1/2.0, qui est une fonctionnalité requise pour que le chemin CXL.io traduise l’adresse virtuelle en adresse physique conformément à la spécification Compute Express Link* (CXL).
Ce problème ne sera pas résolu dans les futures versions du logiciel Intel® Quartus® Prime Edition.
Pour contourner ce problème, implémentez le code RTL supplémentaire en suivant la description dans Intel Agilex® 7 guide de l’utilisateur de FPGA R-Tile Compute Express Link* (CXL) 1.1/2.0 IP comme ci-dessous :
L’IP vous permet d’ajouter des fonctionnalités étendues à PF1 à partir de l’adresse 0xE00. L’exemple de conception inclut un registre de configuration de capacité étendue nul au 0xE00 de décalage, ce qui met fin à la chaîne de capacités étendues.
Reportez-vous à l’exemple de code suivant :
1. Ouvrez / hardware_test_design/common/ex_default_csr/ex_default_csr_avmm_slave.sv.
2. Ajouter les registres de capacités ATS :
ATS 00E00+00E04
reg [4 :0] ats_stu ;
rég. ats_en ;
En-tête de capacité 00E00
localparam EX_CAP_HEADER_ATS = 32'hE101000f ;
Contrôle 00E04
{ats_en,10'h0,ats_stu,16'h0020}
toujours @(posedge clk )
Si ( !reset_n) commence
ats_stu <= 5'b0 ;
ats_en <= 1'b0 ;
end else if (write && config_access)begin
case(adresse[20 :0])
21'h00E04 : début
ats_stu <= writedata[20 :16] ;
ats_en <= writedata[31] ;
Fin
Par défaut;
Casse
Fin
toujours @(posedge clk )
Si ( !reset_n) commence
readdata <= 32'h0 ;
end else if(read&config_access)begin
case(adresse[20 :0])
21'h00E00 : readdata <= EX_CAP_HEADER_ATS ;
21'h00E04 : readdata <= {ats_en,10'b0,ats_stu,16'h0020} ;
par défaut : readdata <= 32'hffff_ffff ;
Casse
Fin