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.
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.