Devido a um problema na Intel® Quartus® Software Prime Pro Edition versão 23.4 e anterior, não há registros de capacidade do ATS (Address Translation Service) no Intel Agilex® 7 R-Tile Compute Express Link* (CXL) 1.1/2.0 FPGA IP, que é um recurso obrigatório para o caminho CXL.io para traduzir o endereço virtual para o endereço físico de acordo com a especificação Compute Express Link* (CXL).
Este problema não será corrigido em versões futuras do software Intel® Quartus® Prime Edition.
Para contornar esse problema, implemente código RTL adicional seguindo a descrição no Intel Agilex® 7 R-Tile Compute Express Link* (CXL) 1.1/2.0 FPGA Guia do usuário ip como abaixo:
O IP permite que você adicione recursos estendidos ao PF1 a partir do 0xE00 de endereço. O exemplo de projeto inclui um registro de configuração de capacidade estendida nulo no 0xE00 de deslocamento, que rescinde a cadeia de capacidade estendida.
Consulte o seguinte exemplo de código:
1. Abrir /hardware_test_design/comum/ex_default_csr/ex_default_csr_avmm_slave.sv.
2. Adicione os registros de recurso ATS:
ATS 00E00+00E04
reg [4:0] ats_stu;
reg ats_en;
Cabeçalho de capacidade 00E00
EX_CAP_HEADER_ATS localparam = 32'hE101000f;
Controle 00E04
{ats_en,10'h0,ats_stu,16'h0020}
sempre @(posedge clk)
se (!reset_n) começar
ats_stu <= 5'b0;
ats_en <= 1'b0;
final se (gravação &config_access)iniciar
caso (endereço[20:0])
21'h00E04: comece
ats_stu <= writedata[20:16];
ats_en <= writedata[31];
Final
Padrão;
endcase
Final
sempre @(posedge clk)
se (!reset_n) começar
readdata <= 32'h0;
caso contrário, se (leitura&config_access) começar
caso (endereço[20:0])
21'h00E00: readdata <= EX_CAP_HEADER_ATS;
21'h00E04: readdata <= {ats_en,10'b0, ats_stu,16'h0020} ;
padrão: readdata <= 32 hffff_ffff;
endcase
Final