インテル® Quartus® Prime Pro Edition ソフトウェア・バージョン 23.4 以前の問題により、Intel Agilex® 7 R タイル Compute Express Link* (CXL) 1.1/2.0 FPGA IP には ATS (Address Translation Service) 機能レジスターがありません。これは Compute Express Link (CXL) 仕様に従って仮想アドレスを物理アドレスに変換する CXL.io パスに必須の機能です。
この問題は、インテル® Quartus® Prime Edition ソフトウェアの今後のリリースでは修正されません。
この問題を回避するには、下記の R タイル Compute Express Link* (CXL) 1.1/2.0 FPGA IP ユーザーガイド の説明に従ってIntel Agilex® 7追加の RTL コードを実装してください。
IP を使用すると、アドレス 0xE00 から PF1 に拡張機能を追加できます。このデザイン例には、オフセット 0xE00 にヌルの拡張機能コンフィギュレーション レジスターが含まれており、これにより拡張機能チェーンが終了します。
次のコード例を参照してください。
1. /hardware_test_design/common/ex_default_csr/ex_default_csr_avmm_slave.sv を開きます。
2. ATS 機能レジスターを追加します。
ATS 00E00+00E04
登録 [4:0] ats_stu;
登録ats_en;
00E00 機能ヘッダー
ローカルパラメータ EX_CAP_HEADER_ATS = 32'hE101000f;
00E04 コントロール
{ats_en,10'h0,ats_stu,16'h0020}
常に@(posedge clk)
if (!reset_n) が始まります
ats_stu <= 5'b0;
ats_en <= 1'b0;
end else if (write & config_access)begin
ケース(アドレス[20:0])
21'h00E04 : 開始
ats_stu <= 書き込みデータ[20:16];
ats_en <= 書き込みデータ[31];
終わり
既定;
エンドケース
終わり
常に@(posedge clk)
if (!reset_n) が始まります
読み取りデータ <= 32'h0;
end else if(read&config_access)begin
ケース(アドレス[20:0])
21'h00E00 : 読み取りデータ <= EX_CAP_HEADER_ATS;
21'h00E04 : 読み取りデータ <= {ats_en,10'b0,ats_stu,16'h0020} ;
デフォルト : 読み取りデータ <= 32'hffff_ffff;
エンドケース
終わり