Do lỗi mã hóa RTL trong mã Intel® PAC N3000 RTL được cung cấp, khi một cổng nhận được một khung thời gian chờ, tất cả các cổng truyền dẫn truyền dẫn. Hoạt động dự kiến chỉ dành cho cổng nhận được khung dừng hoạt động để truyền tải thông tin dừng hoạt động.
Để khắc phục lỗi mã hóa RTL này, sửa đổi tập tin SystemVerilog n3000_1_3_v1.5.7/Factory/hw/pac/eth_wrapper/rtl/eth_demux_logic.sv
Từ:
always_ff @(posedge clk hoặc posedge rst) bắt đầu
nếu (rst) bắt đầu
i_avst.ready <= '0;
Cuối
khác bắt đầu
i_avst.ready <= &wire_ready;
Cuối
Cuối
Sửa chữa:
always_comb bắt đầu
case({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];
mặc định: wire_ready_o = 1'b1;
endcase
Cuối
always_ff @(posedge clk hoặc posedge rst) bắt đầu
nếu (rst) bắt đầu
i_avst.ready <= '0;
Cuối
khác bắt đầu
i_avst.ready <= &wire_ready;
i_avst.ready <= wire_ready_o;
Cuối
Cuối
Lưu tệp đã chỉnh sửa và dựng lại hình ảnh FPGA N3000.
Lỗi mã hóa này dự kiến sẽ được khắc phục trong phiên bản phần mềm N3000 trong tương lai.