文章 ID: 000076355 內容類型: 疑難排解 最近查看日期: 2017 年 05 月 24 日

為什麼 RapidIO I 在連結重新初始化後,port_ok狀態訊號無法堅持?

環境

  • Intel® Quartus® Prime Pro Edition 軟體
  • RapidIO(IDLE1 高達 5.0 Gbaud)Intel® FPGA IP
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT

    重大問題

    描述

    port_ok位 0 狀態,在連結重新初始化發生後,埠 0 錯誤與狀態 CSR (0x158) 可能維持在低位。連結重新初始化不是透過在埠 0 控制 CSR (0x15C) 中觸發位 23 PORT_DIS,或是在連結夥伴執行重設時完成。這可能會在正常操作期間造成嚴重錯誤,

    由於下列原因,此問題會發生:

    • 在收發器重設之前,RapidIO 核心可能已無法重設。這會導致快速物聯網核心在收發器仍在重設時開始運作。
    • 重新對齊詞程式僅限於通道 0,且僅在連結重新初始化期間觸發一次。

    此問題會影響下列 RapidIO I 變異:

    • 使用 x2 模式Arria® V/Cyclone® V。
    • Arria v/Cyclone V,mbaud 速率 5000 Mbaud。
    • Arria V,採用 x4 模式,傳輸速率 3125 Mbaud。
    解決方法

    若要確保收發器已過重設,並且準備在快速物聯網核心之前開始任何操作,請在模組中透過收發器 就緒狀態訊號,將 RapidIO 核心重設合格 _riophy_reset

    TX_SIDE

     

    永遠 @(請tx_clk或否定reset_n)

    開始

    如果 (!reset_n) 開始

    tx_ready_s0

    tx_ready_s1

     

    結束其他開始

    tx_ready_s0

    tx_ready_s1

     

    結束

     

    結束

     

    永遠 @ (請tx_clk或壞死reset_n) 開始

    如果 (!reset_n) 開始

    txreset_n_p2

    txreset_n_p1

    txreset_n

    結束其他開始

    如果 (!gxbpll_locked_tx_clk_d2 ||!tx_ready_s1) 開始

    txreset_n_p2

    txreset_n_p1

    txreset_n

    結束其他開始

    txreset_n_p2

    txreset_n_p1

    txreset_n

    結束

    結束

    結束

     

    RX_SIDE

     

    永遠 @(rx_clk格或壞人reset_n)

    開始

    如果 (!reset_n) 開始

    rx_ready_s0

    rx_ready_s1

     

    結束其他開始

    rx_ready_s0

    rx_ready_s1

     

    結束

    結束

     

    永遠 @ (從 rx_clk 或 negedge reset_n) 開始

    如果 (!reset_n) 開始

    rxreset_n_p2

    rxreset_n_p1

    rxreset_n

    結束其他開始

    如果 (!rx_ready_s1) 開始

    rxreset_n_p2

    rxreset_n_p1

    rxreset_n

     

    結束其他開始

    rxreset_n_p2

    rxreset_n_p1

    rxreset_n

     

    結束

    結束

    結束

     

    若要以手動方式觸發文字重新對齊程式,請透過 Avalon-MM phy_mgmt收發器介面執行下列步驟:

    (1) 主張 phy_mgmt_write=1'b1 指定寫入操作。

    (2) 將資料phy_mgmt_writedata=32'b0 寫入位址phy_mgmt_address=9'h80,針對通道 0。

    (3) 將資料phy_mgmt_writedata=32'b1 寫入位址phy_mgmt_address=9'h85,以維護rx_enapatternalign,這將觸發通道 0 的文字對齊作業。

    (4) 將資料phy_mgmt_writedata=32'b0 寫入位址phy_mgmt_address=9'h85 至 deassert rx_enapatternalign。

    為所有其他通道重複上述步驟:通道 1 (0x80=32'b1)、通道 2 (0x80=32'b2),以及通道 3 (0x80=32'b3)。

    相關產品

    本文章適用於 2 產品

    Arria® V FPGA 與 SoC FPGA
    Cyclone® V FPGA 與 SoC FPGA

    這個頁面的內容綜合了英文原始內容的人工翻譯譯文與機器翻譯譯文。本內容是基於一般資訊目的,方便您參考而提供,不應視同完整或準確的內容。如果這個頁面的英文版與譯文之間發生任何牴觸,將受英文版規範及管轄。 查看這個頁面的英文版。