重大問題
執行在 Intel® Arria® 10 中實作之 JESD204B IP RTL 狀態機器控制設計範例的多個重設時, Stratix® V、Arria® V 或 Cyclone® V 裝置中,您可能會看到由於錯誤而堅持告斷針腳 (jesd204_tx_int和/或 jesd204_rx_int),可以從 tx_err (0x60)、 rx_err0 (0x60) 讀取 rx_err1 (0x64) 註冊。
對於Intel Arria 10 個裝置,請改為使用Nios® II處理器設計範例。
對於Stratix V、Arria V 或Cyclone V 裝置,請對 RTL 執行下列修改:
- 修改 jesd204b_ed.sv 檔案中的頂級模組jesd204b_ed。
定義 主動式高重設電線:
電線tx_link_rst_sync;
電線tx_frame_rst_sync;
電線rx_link_rst_sync;
電線rx_frame_rst_sync;
電線global_rst_sync;
修改 下列電線分配中重設的極性:
在重設模式下握住核心,直到收發器就緒
指派global_rst_n_sync = ~global_rst_sync;新增global_rst_n_sync分配
指派tx_avs_rst_n = avs_rst_n;
指派rx_avs_rst_n = avs_rst_n;
指派tx_frame_rst_n = ~tx_frame_rst_sync;
指派rx_frame_rst_n = ~rx_frame_rst_sync;
指派tx_link_rst_n = ~tx_link_rst_sync;
指派rx_link_rst_n = ~rx_link_rst_sync;
altera_reset_controller是主動式高重設同步器。據此修改重設同步器即時化的輸入與輸出,以反映正確的極性:
//
全球重設的重設同步器 (mgmt 頻率網域)
//
altera_reset_controller #(
.NUM_RESET_INPUTS (1),
.OUTPUT_RESET_SYNC_EDGES(「deassert」),
.SYNC_DEPTH (2)
) u_avs_rst_sync (
.reset_in0 (~global_rst_n),
.clk (mgmt_clk),
.reset_out(global_rst_sync)
);
在匯流排訊號的wire_tx_ready與wire_rx_ready上,以位方式執行。
//
重設同步器以進行傳輸層重設(幀頻率領域)
//
altera_reset_controller #(
.NUM_RESET_INPUTS (1),
.OUTPUT_RESET_SYNC_EDGES(「deassert」),
.SYNC_DEPTH (2)
) u_tx_frame_rst_sync (
.reset_in0 (~(wire_frame_rst_n與wire_tx_ready))
.clk (frame_clk),
.reset_out(tx_frame_rst_n_sync)
);
altera_reset_controller #(
.NUM_RESET_INPUTS (1),
.OUTPUT_RESET_SYNC_EDGES(「deassert」),
.SYNC_DEPTH (2)
) u_rx_frame_rst_sync (
.reset_in0 (~(wire_frame_rst_n與wire_rx_ready))
.clk (frame_clk),
.reset_out(rx_frame_rst_n_sync)
);
//
基本核心重設的重設同步器(連結頻率網域)
//
altera_reset_controller #(
.NUM_RESET_INPUTS (1),
.OUTPUT_RESET_SYNC_EDGES(「deassert」),
.SYNC_DEPTH (2)
) u_tx_link_rst_sync (
.reset_in0 (~(wire_link_rst_n與wire_tx_ready))
.clk (link_clk),
.reset_out(tx_link_rst_n_sync)
);
altera_reset_controller #(
.NUM_RESET_INPUTS (1),
.OUTPUT_RESET_SYNC_EDGES(「deassert」),
.SYNC_DEPTH (2)
) u_rx_link_rst_sync (
.reset_in0 (~(wire_link_rst_n與wire_rx_ready))
.clk (link_clk),
.reset_out(rx_link_rst_n_sync)
);
----------------------------------------
2. 在模組control_unit (control_unit.sv) 中, 變更 frame_rst、link_rst、avs_rst與xcvr_rst的重設值。
//
基本核心收發器重設的輸出註冊器
//
永遠 @ (請參閱 clk 或 negedge rst_n)
開始
如果 (~rst_n) 開始
frame_rst
link_rst
avs_rst
xcvr_rst
結束其他開始
此問題沒有計劃修復。