เนื่องจากปัญหาในซอฟต์แวร์ Intel® Quartus® Prime Pro Edition เวอร์ชัน 23.4 และรุ่นก่อนหน้า ไม่มีการลงทะเบียน ATS (Address Translation Service) ใน Intel Agilex® 7 R-Tile Compute Express Link* (CXL) 1.1/2.0 FPGA IP ซึ่งเป็นคุณสมบัติที่จําเป็นสําหรับพาธ CXL.io ในการแปลที่อยู่เสมือนเป็นที่อยู่ทางกายภาพตามข้อกําหนด Compute Express Link* (CXL)
ปัญหานี้จะไม่ได้รับการแก้ไขในซอฟต์แวร์ Intel® Quartus® Prime Edition ในอนาคต
หากต้องการหลีกเลี่ยงปัญหานี้ ให้ใช้โค้ด RTL เพิ่มเติมโดยทําตามคําอธิบายใน Intel Agilex® 7 R-Tile Compute Express Link* (CXL) 1.1/2.0 FPGA IP Core ด้านล่าง:
IP Core ช่วยให้คุณสามารถเพิ่มความสามารถเพิ่มเติมให้กับ PF1 โดยเริ่มที่ที่อยู่ 0xE00 ตัวอย่างการออกแบบรวมถึงรีจิสเตอร์การกําหนดค่าความสามารถแบบขยาย null ที่ออฟเซต 0xE00 ซึ่งจะยุติห่วงโซ่ความสามารถที่ขยายขึ้น
โปรดดูตัวอย่างรหัสต่อไปนี้:
1. เปิด /hardware_test_design/ทั่วไป/ex_default_csr/ex_default_csr_avmm_slave ของ sv ของ
2. เพิ่มรีจิสเตอร์ความสามารถ ATS:
ATS 00E00+00E04
reg [4:0] ats_stu;
reg ats_en;
ส่วนหัวความสามารถ 00E00
EX_CAP_HEADER_ATS localparam = 32'hE101000f;
การควบคุม 00E04
{ats_en,10'h0,ats_stu,16'h0020}
@(posedge clk) เสมอ
ถ้า (!reset_n) เริ่มต้น
ats_stu <= 5'b0;
ats_en <= 1'b0;
สิ้นสุดอื่นๆ ถ้า (เขียน &config_access) เริ่มต้น
เคส(ที่อยู่[20:0])
21'h00E04 : เริ่ม
ats_stu <= writedata[20:16];
ats_en <= writedata[31];
สิ้น สุด
เริ่ม ต้น;
ด้านท้าย
สิ้น สุด
@(posedge clk) เสมอ
ถ้า (!reset_n) เริ่มต้น
readdata <= 32'h0;
สิ้นสุดอื่นๆ ถ้า(อ่าน config_access)
เคส(ที่อยู่[20:0])
21'h00E00 : readdata <= EX_CAP_HEADER_ATS;
21'h00E04 : readdata <= {ats_en,10'b0,ats_stu,16'h0020} ;
ค่าเริ่มต้น : Readdata <= 32'hffff_ffff;
ด้านท้าย
สิ้น สุด