En raison d’une erreur de codage RTL dans le code Intel® PAC N3000 RTL fourni, lorsqu’un port reçoit une trame de pause, tous les ports suspendent la transmission. Le fonctionnement prévu concerne uniquement le port qui reçoit la trame de pause pour arrêter la transmission.
Pour contourner cette erreur de codage RTL, modifiez le fichier SystemVerilog n3000_1_3_v1.5.7/Factory/hw/pac/eth_wrapper/rtl/eth_demux_logic.sv
De:
always_ff @(posedge clk or posedge rst) commencent
si (rst) commencez
i_avst.ready <= '0 ;
Fin
d’autre commencer
i_avst.ready <= &wire_ready ;
Fin
Fin
Corrigé:
always_comb commencer
cas ({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] ;
par défaut : wire_ready_o = 1'b1 ;
endcase
Fin
always_ff @(posedge clk ou posedge rst) commencent
si (rst) commencez
i_avst.ready <= '0 ;
Fin
d’autre commencer
i_avst.ready <= &wire_ready ;
i_avst.ready <= wire_ready_o ;
Fin
Fin
Enregistrez le fichier édité et repensez l’image FPGA N3000.
Cette erreur de codage devrait être corrigée dans une prochaine version du logiciel N3000.