ID del artículo: 000097577 Tipo de contenido: Resolución de problemas Última revisión: 11/12/2023

¿Por qué el ancho de datos de acceso CSR del ejemplo de diseño de R-Tile Intel® FPGA IP for Compute Express Link* (CXL*) no coincide con la función del controlador de software?

Entorno

    Intel® Quartus® Prime Pro Edition

OS Independent family

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Descripción

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.

Resolución

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

Productos relacionados

Este artículo se aplica a 1 productos

Mostrar todo

1

El contenido de esta página es una combinación de traducción humana y automática del contenido original en inglés. Este contenido se proporciona únicamente para su comodidad como información general y no debe considerarse como completo o preciso. Si hay alguna contradicción entre la versión en inglés de esta página y la traducción, prevalecerá la versión en inglés. Consulte la versión en inglés de esta página.