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

Warum stimmt die CSR-Zugriffsdatenbreite des R-Tile Intel® FPGA IP für Compute Express Link* (CXL*) Designbeispiel nicht mit der Funktion im Softwaretreiber überein?

Umgebung

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

    BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Beschreibung

    Aufgrund eines Problems in Intel® Quartus® Prime Pro Edition Softwareversion 23.2 und höher wurde die Breite der CSR-Zugriffsdaten im R-Tile Intel® FPGA IP für Compute Express Link* (CXL*) Type2/3 Designbeispiel von 32 Bit auf 64 Bit geändert. Dies führt zu einer Diskrepanz zwischen der Softwaretreiberfunktion und dem Entwurf der CSR-Logik des Benutzers.

    Lösung

    Es ist nicht geplant, dieses Problem in zukünftigen Versionen der Intel® Quartus® Prime Edition-Software zu beheben.

    Um dieses Problem zu umgehen, lesen Sie dasFollowing-Codebeispiel :

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

    2. Implementieren Sie die CSR mit einer Datenbreite von 64 Bit anstelle der standardmäßigen 32-Bit-Datenbreite.

    64bit Datenbreite
    immer @(posedge clk )
    if (!reset_n) begin
    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(Adresse[20:0])
    21'h00E00 : Beginn
    ats_stu <= writedata[60:56];
    ats_en <= writedata[63];
    Ende
    21'h00E18 : Beginn
    ptm_eg <= writedata[15:8];
    ptm_rs <= writedata[1];
    ptm_en <= writedata[0];
    Ende
    Standard;
    Endcase
    Ende

    Logik lesen
    immer @(posedge clk )
    if (!reset_n) begin
    cfg_readdata <= 64'h0;
    end else if(read&&config_access)begin
    case(Adresse[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}};
    Standardwert: cfg_readdata <= {32'b0 ,32'hffff_ffff };
    Endcase
    Ende sonst beginnen
    cfg_readdata <= 64'h0;
    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.