인텔® Quartus® Prime Pro Edition 소프트웨어 버전 23.2 이상의 문제로 인해 CXL*(Compute Express Link*) Type2/3 설계 예에 대한 R-Tile 인텔® FPGA IP에서 CSR 액세스 데이터 폭이 32비트에서 64비트로 변경되었습니다. 이로 인해 소프트웨어 드라이버 기능과 사용자 CSR 로직 설계가 일치하지 않을 수 있습니다.
이 문제는 인텔® Quartus® Prime Edition 소프트웨어의 향후 릴리스에서 수정되지 않을 예정입니다.
이 문제를 해결하려면 following 코드 예제를 참조하십시오.
1. /hardware_test_design/common/ex_default_csr/ex_default_csr_avmm_slave.sv를 엽니다.
2. 표준 32비트 데이터 폭이 아닌 64비트 데이터 폭으로 CSR을 구현합니다.
64비트 데이터 폭
항상 @(posedge clk )
if (!reset_n) 시작
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(주소[20:0])
21'h00E00 : 시작
ats_stu <= writedata[60:56];
ats_en <= 쓰기데이터[63];
끝
21'h00E18 : 시작
ptm_eg <= 쓰기데이터[15:8];
ptm_rs <= writedata[1];
ptm_en <= writedata[0];
끝
기본;
엔드 케이스
끝
읽기 로직
항상 @(posedge clk )
if (!reset_n) 시작
cfg_readdata <= 64'h0;
end else if(read&&config_access)begin
case(주소[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}};
기본값 : cfg_readdata <= {32'B0 ,32'hffff_ffff };
엔드 케이스
끝 그렇지 않으면 시작
cfg_readdata <= 64'h0;
끝