Artikel-ID: 000073983 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 18.12.2020

Warum Intel® Programmable Acceleration Card N3000 beim Empfang von Ethernet-Pausen-Frames auf einem Port die Übertragung von Unterbrechungen auf allen Ports?

Umgebung

  • Intel® Quartus® Prime Pro Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Beschreibung

    Aufgrund eines RTL-Codierungsfehlers im gelieferten Intel® PAC N3000 RTL-Code, wenn ein Port einen Pausen-Frame empfängt, halten alle Ports die Übertragung an.  Der erwartete Vorgang ist, dass nur der Port, der den Pausen-Frame empfängt, die Übertragung angehalten wird.

    Lösung

    Um diesen RTL-Codierungsfehler zu umgehen, ändern Sie die SystemVerilog-Datei n3000_1_3_v1.5.7/Factory/hw/pac/eth_wrapper/rtl/eth_demux_logic.sv

    Von:

    always_ff @(posedge clk oder posedge rst) beginnen

    wenn (rst) beginnen

           
    i_avst.ready <= '0;

    Ende

    else beginnt

           
    i_avst.ready <= &wire_ready;

    Ende

    Ende

     

    Korrigiert:

    always_comb beginnen

           
    fall({rg_i_avst_valid,rg_i_avst_channel})

               
    100: wire_ready_o = wire_ready[0];

               
    101: wire_ready_o = wire_ready[1];

               
    110: wire_ready_o = wire_ready[2];

               
    111: wire_ready_o = wire_ready[3];

               
    Standard: wire_ready_o = 1'b1 ;

           
    Endcase

    Ende

       

    always_ff @(posedge clk oder posedge rst) beginnen

    wenn (rst) beginnen

           
    i_avst.ready <= '0;

    Ende

    else beginnt

           
    i_avst.ready <= &wire_ready;

           
    i_avst.ready < = wire_ready_o;

    Ende

    Ende

    Speichern Sie die bearbeitete Datei und erstellen Sie das N3000-FPGA-Image neu.

    Dieser Codierungsfehler soll in einer zukünftigen N3000-Softwareversion behoben werden.

     

    Zugehörige Produkte

    Dieser Artikel bezieht sich auf 2 Produkte

    Intel® FPGA PAC N3000
    เอฟพีจีเอ Intel® Arria® 10 GT

    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.