文章 ID: 000086754 內容類型: 疑難排解 最近查看日期: 2021 年 02 月 10 日

為何使用啟用動態重新配置的 Intel Agilex PHYLite 7 FPGA® PHYLite 模擬設計範例時,流量刺激不會將任何流量傳送至校正 IP?

環境

  • Intel® Quartus® Prime Pro Edition 軟體
  • 適用於並列介面 Intel® Stratix® 10 FPGA IP 的 PHY Lite
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    描述

    啟用動態重新配置的 Intel Agilex® 7 FPGA PHYLite 模擬範例設計,應該會顯示動態重新配置的範例,可透過流量刺激改變插接器延遲。然而,由於 Intel® Quartus® Prime Pro Edition Software 版本 20.4 中出現問題,如果 PHYLite 群組設定為輸入針腳類型,則 Intel Agilex® 7 FPGA PHYLite 模擬範例設計的流量刺激不會傳送任何流量到校準 IP。如果 PHYLite 組設定為輸入針腳類型,因為插值相設定為硬編碼值。

    注意:如果 PHYLite 群組設為 輸出針腳類型或雙向針腳類型,則不會出現此問題。

    解決方法

    若要在 Intel® Quartus® Prime Pro Edition Software 版本 20.4 中解決這個問題,插接器階段不能是硬碼值,這需要對 phylite_tester.sv 和 test_logic_iossm.sv 檔案進行一些修改,以允許流量刺激讀取插接器階段、增加讀取值,然後修改插接器階段以達到新值。

    對名為「phylite_tester.sv」的檔執行下列變更:

    1. 第 159 行: 移除 狀態宣告 階段延遲 ,並 新增 兩種狀態宣告: CORE_PHASE_DELAY與IO_PHASE_DELAY

    2. 第 177 行: 變更

    指派iossm_test_start = (prbs_fsm == PHASE_DELAY);

    指派iossm_test_start = (prbs_fsm = CORE_PHASE_DELAY);

    3. 第 323 行:從INIT狀態變更 prbs_fsm訊號

    prbs_fsm <= (CHANNEL_PIN_TYPE == 「輸入」)?IO_DRIVE:(IOSSM_TEST_EN =1)?PHASE_DELAY:CORE_DRIVE);

    prbs_fsm <= (IOSSM_TEST_EN =1) ?(CHANNEL_PIN_TYPE == 「輸入」?IO_PHASE_DELAY:CORE_PHASE_DELAY):(CHANNEL_PIN_TYPE == 「輸入」?IO_DRIVE:CORE_DRIVE);

    4. 第 338 行:從IO_CHECK狀態變更prbs_fsm訊號

    prbs_fsm <= (CHANNEL_PIN_TYPE == 「輸出」)?(IOSSM_TEST_EN == 1) ?PHASE_DELAY:CORE_DRIVE):IO_DRIVE;

    prbs_fsm <= (IOSSM_TEST_EN == 1) ?(CHANNEL_PIN_TYPE == 「輸出」?CORE_PHASE_DELAY:IO_PHASE_DELAY):(CHANNEL_PIN_TYPE == 「輸出」?CORE_DRIVE:IO_DRIVE);

    5. 第 338 行:從CORE_CHECK狀態變更prbs_fsm訊號

    prbs_fsm <= (CHANNEL_PIN_TYPE == 「輸入」)?IO_DRIVE:(IOSSM_TEST_EN =1)?PHASE_DELAY:CORE_DRIVE);

    prbs_fsm <= (IOSSM_TEST_EN =1) ?(CHANNEL_PIN_TYPE == 「輸入」?IO_PHASE_DELAY:CORE_PHASE_DELAY):(CHANNEL_PIN_TYPE == 「輸入」?IO_DRIVE:CORE_DRIVE);

    6. 第 341 行: 移除

    PHASE_DELAY:開始

    如果 (core_checker_failed | io_checker_failed)

    prbs_fsm <= CHECKER_FAILED;

    如果 (iossm_phase_shift_done)

    prbs_fsm <= CORE_DRIVE;

    結束

    以下兩種替換:

    IO_PHASE_DELAY:開始

    如果 (core_checker_failed | io_checker_failed)

    prbs_fsm <= CHECKER_FAILED;

    如果 (iossm_phase_shift_done)

    prbs_fsm <= IO_DRIVE;

    結束

    CORE_PHASE_DELAY:開始

    如果 (core_checker_failed | io_checker_failed)

    prbs_fsm <= CHECKER_FAILED;

    如果 (iossm_phase_shift_done)

    prbs_fsm <= CORE_DRIVE;

    結束

    對名為「test_logic_iossm.sv」的檔執行以下變更:

    1. 第 43 行:將IOSSM_INIT_PIN_DELAY的價值變更為 196

    2. 行後 #45: 新增 本機參數宣告:

    localparam WAIT_INTERVAL = 8;

    3. 第 59 行:在IOSSM_WAIT_REQ之後新增以下三種狀態宣告

    IOSSM_PRE_READ,

    IOSSM_PRE_RDATA,

    IOSSM_PRE_WAIT,

    4. 第 72 行: 變更

    如果 (!reset_n) 開始

    pin_dly_write <= IOSSM_INIT_PIN_DELAY;

    prev_pin_dly_write <= IOSSM_INIT_PIN_DELAY;

    如果 (cal_debug_write & cal_debug_waitrequest) 開始,則結束其他功能

    prev_pin_dly_write <= pin_dly_write;

    pin_dly_write <= pin_dly_write IOSSM_DELAY_STEP;

    結束

    如果 (!reset_n) 開始

    pin_dly_write <= 0;

    prev_pin_dly_write <= 0;

    如果 (cal_debug_read_data_valid & iossm_fsm == IOSSM_PRE_RDATA) 開始,則結束其他功能

    prev_pin_dly_write <= cal_debug_read_data[IOSSM_PIN_DELAY_WIDTH-1:0] IOSSM_DELAY_STEP;

    pin_dly_write <= cal_debug_read_data[IOSSM_PIN_DELAY_WIDTH-1:0] IOSSM_DELAY_STEP;

    結束

    5. 第 85 行: 變更

    如果 (cal_debug_read_data_valid) 開始,則結束其他

    如果 (cal_debug_read_data_valid & iossm_fsm == IOSSM_RDATA) 開始,則結束其他功能

    6. 第 108 行:從IOSSM_INIT狀態變更iossm_fsm訊號

    iossm_fsm <= IOSSM_WRITE;

    iossm_fsm <= IOSSM_PRE_READ;

    7. IOSSM_INIT 狀態後, 新增 以下兩種狀態:

    IOSSM_PRE_READ:開始

    如果 (!cal_debug_waitrequest)

    iossm_fsm <= IOSSM_PRE_RDATA;

    結束

    IOSSM_PRE_RDATA:開始

    如果 (cal_debug_read_data_valid)

    iossm_fsm <= IOSSM_WRITE;

    結束

    8. 第 139 行: 變更

    指派cal_debug_read = iossm_fsm == IOSSM_READ;

    指派cal_debug_read = (iossm_fsm =IOSSM_READ) ||(iossm_fsm == IOSSM_PRE_READ);

    9. 第 146 行: 變更

    指派wait_done = (req_wait_interval =7) ? 1 :0;

    指派 wait_done = (req_wait_interval = WAIT_INTERVAL-1) ? 1:0;

    此問題已從 Intel® Quartus® Prime Pro Edition 軟體版本 21.1 開始修復。

    相關產品

    本文章適用於 1 產品

    Intel® Agilex™ 7 FPGA 與 SoC FPGA

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