Debido a un problema en Intel® Quartus® Prime Pro Edition Software versión 23.2 y posteriores, el ancho de datos de acceso a CSR se cambia de 32 bits a 64 bits en el ejemplo de diseño de tipo 2/3 de R-Tile Intel® FPGA IP para Compute Express Link* (CXL*); esto provoca que no coincida entre la función del controlador de software y el diseño de lógica CSR del usuario.
No está previsto solucionar este problema en futuras versiones del software Intel® Quartus® Prime Edition.
Para evitar este problema, consulte el ejemplode código de following :
1. Abra / hardware_test_design/common/ex_default_csr/ex_default_csr_avmm_slave.sv
2. Implemente la CSR con un ancho de datos de 64 bits en lugar del ancho de datos estándar de 32 bits.
Ancho de datos de 64 bits
siempre @(posedge clk )
si (!reset_n) comienza
ats_stu <= 5'b0;
ats_en <= 1'b0;
ptm_eg <= 8'b0;
ptm_rs <= 1'b0;
ptm_en <= 1'b0;
end else if (write && config_access)begin
case(dirección[20:0])
21'h00E00 : inicio
ats_stu <= writedata[60:56];
ats_en <= writedata[63];
Final
21'h00E18 : inicio
ptm_eg <= writedata[15:8];
ptm_rs <= writedata[1];
ptm_en <= writedata[0];
Final
Predeterminado;
Caso final
Final
Lógica de lectura
siempre @(posedge clk )
si (!reset_n) comienza
cfg_readdata <= 64'h0;
end else if(read&&config_access)begin
case(dirección[20:0])
21'h00E00 : cfg_readdata <= {{ats_en,10'b0,ats_stu,16'h0020},EX_CAP_HEADER_ATS };
21'h00E04 : cfg_readdata <= {{ats_en,10'b0,ats_stu,16'h0020},32'b0} ;
21'h00E10 : cfg_readdata <= {EX_CAP_HEADER_PTM_CAP,EX_CAP_HEADER_PTM};
21'h00E14 : cfg_readdata <= {EX_CAP_HEADER_PTM_CAP,32'b0};
21'h00E18 : cfg_readdata <= {32'b0 ,{16'h0,ptm_eg,6'h0,1'b0,ptm_en}};
por defecto : cfg_readdata <= {32'b0 ,32'hffff_ffff };
Caso final
end else begin
cfg_readdata <= 64'h0;
Final