由於 Prime Pro Edition 軟體版本 23.2 及更高版本中的問題Intel® Quartus®計算快速連結* (CXL*) Type2/3 設計範例的 R-Tile Intel® FPGA IP 中,CSR 訪問資料寬度從 32 位更改為 64 位;這會導致軟體驅動程式功能和使用者 CSR 邏輯設計不匹配。
此問題不打算在 Intel® Quartus® Prime Edition 軟體的未來版本中修復。
要變通解決此問題, 請參閱 following 代碼 示例:
1. 打開/ hardware_test_design/common/ex_default_csr/ex_default_csr_avmm_slave.sv
2 . 使用 64 位資料寬度而不是標準的 32 位資料寬度實現 CSR 。
64 位資料寬度
始終 @(posedge clk )
如果 (!reset_n) 開始
ats_stu <= 5'b0;
ats_en <= 1'b0;
ptm_eg <= 8'b0;
ptm_rs <= 1'b0;
ptm_en <= 1'b0;
結束否則如果(寫入&config_access)開始
案例(位址[20:0])
21'h00E00 : 開始
ats_stu <= 寫入資料[60:56];
ats_en <= 寫入資料[63];
結束
21'h00E18 : 開始
ptm_eg <= 寫入資料[15:8];
ptm_rs <= 寫入資料[1];
ptm_en <= 寫入資料[0];
結束
預設;
結尾情況
結束
讀取邏輯
始終 @(posedge clk )
如果 (!reset_n) 開始
cfg_readdata <= 64'h0;
結束否則如果(讀取&config_access)開始
案例(位址[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;
結束