Debido a un problema en la versión 23.4 y anteriores del software Intel® Quartus® Prime Pro Edition, no hay registros de capacidad ATS (servicio de traducción de direcciones) en la Intel Agilex® 7 IP de FPGA de R-Tile Compute Express Link* (CXL) 1.1/2.0, que es una característica necesaria para que la ruta de acceso CXL.io traduzca la dirección virtual a una dirección física de acuerdo con la especificación de Compute Express Link* (CXL).
Este problema no se solucionará en futuras versiones del software Intel® Quartus® Prime Edition.
Para evitar este problema, implemente código RTL adicional siguiendo la descripción en Intel Agilex® 7 Guía del usuario de IP de FPGA de R-Tile Compute Express Link* (CXL) 1.1/2.0 como se indica a continuación:
IP le permite agregar capacidades extendidas a PF1 a partir de la dirección 0xE00. El ejemplo de diseño incluye un registro de configuración de capacidad extendida nulo en el 0xE00 de desplazamiento, que termina la cadena de capacidad extendida.
Consulte el ejemplo de código siguiente:
1. Abra / hardware_test_design/common/ex_default_csr/ex_default_csr_avmm_slave.sv.
2. Agregue los registros de capacidad ATS:
ATS 00E00+00E04
reg [4:0] ats_stu;
reg ats_en;
Cabezal de capacidad 00E00
localparam EX_CAP_HEADER_ATS = 32'hE101000f;
00E04 Control
{ats_en,10'h0,ats_stu,16'h0020}
siempre @(posedge clk )
si (!reset_n) comienza
ats_stu <= 5'b0;
ats_en <= 1'b0;
end else if (write && config_access)begin
case(dirección[20:0])
21'h00E04 : inicio
ats_stu <= writedata[20:16];
ats_en <= writedata[31];
Final
Predeterminado;
Caso final
Final
siempre @(posedge clk )
si (!reset_n) comienza
readdata <= 32'h0;
end else if(read&&config_access)begin
case(dirección[20:0])
21'h00E00 : readdata <= EX_CAP_HEADER_ATS;
21'h00E04 : readdata <= {ats_en,10'b0,ats_stu,16'h0020} ;
por defecto : readdata <= 32'hffff_ffff;
Caso final
Final