Artikel-ID: 000097527 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 11.12.2023

Warum enthält Intel Agilex® 7 R-Tile Compute Express Link* (CXL) 1.1/2.0 FPGA IP keine ATS-Funktion?

Umgebung

  • Intel® Quartus® Prime Pro Edition
  • OS Independent family

    BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Beschreibung

    Aufgrund eines Problems in der Intel® Quartus® Prime Pro Edition Softwareversion 23.4 und früher gibt es keine ATS-Fähigkeitsregister (Address Translation Service) im Intel Agilex® 7 R-Tile Compute Express Link* (CXL) 1.1/2.0 FPGA, was eine erforderliche Funktion für den CXL.io Pfad ist, um eine virtuelle Adresse in eine physische Adresse gemäß der Compute Express Link* (CXL) Spezifikation zu übersetzen.

    Lösung

    Dieses Problem wird in zukünftigen Versionen der Intel® Quartus® Prime Edition Software nicht behoben.

    Um dieses Problem zu umgehen, implementieren Sie zusätzlichen RTL-Code, indem Sie die Beschreibung Intel Agilex® 7 im R-Tile Compute Express Link* (CXL) 1.1/2.0 FPGA IP Benutzerhandbuch wie folgt befolgen:

    Mit IP können Sie PF1 ab Adresse 0xE00 erweiterte Funktionen hinzufügen. Das Designbeispiel enthält ein NULL-Konfigurationsregister für erweiterte Funktionen am Offset 0xE00, das die erweiterte Funktionskette beendet.

    Weitere Informationen finden Sie im folgenden Codebeispiel:

    1. Öffnen Sie / hardware_test_design/common/ex_default_csr/ex_default_csr_avmm_slave.sv.

    2. Fügen Sie die ATS-Funktionsregister hinzu:

    ATS 00E00+00E04
    Reg [4:0] ats_stu;
    Reg ats_en;

    00E00 Capability Header
    localparam EX_CAP_HEADER_ATS = 32'hE101000f;
    00E04 Steuerung
    {ats_en,10'h0,ats_stu,16'h0020}

    immer @(posedge clk )
    if (!reset_n) begin
    ats_stu <= 5'b0;
    ats_en <= 1'b0;
    end else, if (write && config_access)begin
    case(Adresse[20:0])
    21'h00E04 : Beginn
    ats_stu <= writedata[20:16];
    ats_en <= writedata[31];
    Ende
    Standard;
    Endcase
    Ende

    immer @(posedge clk )
    if (!reset_n) begin
    Lesedaten <= 32'h0;
    end else if(read&&config_access)begin
    case(Adresse[20:0])
    21'h00E00 : readdata <= EX_CAP_HEADER_ATS;
    21'h00E04 : readdata <= {ats_en,10'b0,ats_stu,16'h0020} ;
    Standard: readdata <= 32'hffff_ffff;
    Endcase
    Ende

    Zugehörige Produkte

    Dieser Artikel bezieht sich auf 1 Produkte

    Intel® Agilex™ FPGAs und SoC FPGAs der I-Reihe

    Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.