限制具有外部實體層延遲功能的三速乙太網路 RGMII 介面

author-image

作者

這個設計範例的目標是展示限制TSE_RGMII的方法。此設計範例僅在開啟外部實體層TX_CLK和RX_CLK的延遲功能 (90 度移位) 時才適用。它可以以 3 種不同的速度執行,速度為 10 MHz、100 MHz 和 1000 MHz。

假設使用者熟悉三重速度乙太網路智慧財產 (IP) 核心、ALTDDIO、ALTPLL、TimeQuest 和靜態計時分析,以及雙倍資料速率 (DDR) 來源同步的概念。

如何限制

  1. 選擇介面限制的方法:以系統為中心的方法或Intel® FPGA中心的方法。
    • 不同的方法需要不同的公式來計算set_input_delay的延遲值,並set_output_delay指令
    • 此設計範例使用以系統為中心的方法
  2. 決定是開啟還是關閉外部實體層的延遲功能(±90 度移位),因為它將決定頻率與資料之間的對齊類型。
    • 90 度移位 ->中心對齊
    • 無移位 ->邊緣對齊
    • 此設計範例適用于外部實體層的 TX 和 RX 延遲功能開啟(僅 90 度移位)
  3. 判斷所需的啟動與閂鎖關係。
    • 有 4 種類型的啟動和񝬡鎖關係。它們是 Rise-Rise (RR)、Rise-Fall (RF)、跌倒式 (FR) 和跌倒 (FF) 關係
    • RGMII 規格指出,LSB 的資料 [3:0] 將先在上升的邊緣傳送,而 MSB 的資料 [7:4] 會傳送,接著是邊緣下降
    • 採用 RGMII 介面的 TSE 設計會先在上升的邊緣擷取資料,接著接著在邊緣下降。這代表時鐘需要移動 +90 度,而不是 -90 度
    • 所需的安裝啟動和閂鎖關係(紅色箭頭):RR 和 FF
    • 理想的握住啟動與閂鎖關係(藍色箭頭):FR 與 RF
  4. 限制 RGMII 介面。Synopsys Design Constraints (SDC) 是以設計與應用程式為基礎。然而,RGMII 介面需要一些主要的 SDC。

圖 2。啟動頻率與閂鎖頻率關係

TX

  • create_clock
    • 在傳輸到外部實體層之前鎖定Intel® FPGA內資料的頻率
  • create_generated_clock:
    • 90 度相移的頻率,鎖定外部實體層的資料
  • set_false_path:
    • 在計時分析中無法分析這種不必要的關係。在此設計範例中,設定的不需要的關係是 RF 和 FR,而持有的不想要的關係是 RR 和 FF

set_false_path -fall_from [data_clock] -rise_to [output_clock] -setup
set_false_path -rise_from [data_clock] -fall_to [output_clock] -setup
set_false_path -rise_from [data_clock] -rise_to [output_clock] -hold
set_false_path -fall_from [data_clock] -fall_to [output_clock] -hold

 

  • set_output_delay

set_output_delay -clock output_clock\
-max [expr $data_delay_max + $tsu - $clk_delay_min] \
[get_ports data_out] \
-add_delay

set_output_delay -clock output_clock\
-max [expr $data_delay_max + $tsu - $clk_delay_min] \
[get_ports data_out] \
-clock_fall \
-add_delay

set_output_delay -clock output_clock \
-min [expr $data_delay_min - $th - $clk_delay_max] \
[get_ports data_out ] \
-add_delay

set_output_delay -clock output_clock \
-min [expr $data_delay_min - $th - $clk_delay_max] \
[get_ports data_out ] \
-clock_fall \
-add_delay

 

TSE_RGMII RX

  • create_clock:
    • 在傳輸至Intel® FPGA之前擷鎖外部實體層內資料的虛擬頻率
  • 建立_clock:
    • 90 度相移的頻率,鎖定Intel® FPGA內的資料
  • set_false_path:
    • 在計時分析中無法分析這種不必要的關係。在此設計範例中,設定的不需要的關係是 RF 和 FR,而持有的不想要的關係是 RR 和 FF

set_false_path -fall_from [data_clock] -rise_to [output_clock] -setup
set_false_path -rise_from [data_clock] -fall_to [output_clock] -setup
set_false_path -rise_from [data_clock] -rise_to [output_clock] -hold
set_false_path -fall_from [data_clock] -fall_to [output_clock] -hold

 

如何驗證

有一些報告需要檢查,以確認來源同步限制是否受到適當限制。

  1. 頻率報告
    • 檢查 3 頻率頻率 (125 MHz、25 MHz 和 2.5 MHz) 及其相
    • Core TX 頻率(Intel® FPGA):125 MHz、25 MHz 和 2.5 MHz
    • RGMII_TX_Clock(外部實體層):125 MHz +90º,25 MHz +90º,2.5 MHz +90º
    • RGMII_RX_Clock(Intel® FPGA):125 MHz +90º,25 MHz +90º,2.5 MHz +90º
    • RGMII_RX_Virtual_Clock(外部實體層):125 MHz、25 MHz 和 2.5 MHz
  2. 頻率傳輸報告
    • 檢查設定上的所有關系,並持有 RGMII 介面的啟動-閂取關係以進行頻率傳輸
    • 所需的設定:RR 和 FF
    • 所需的持有:FR 與 RF
  3. 所有 I/O 計時報告
    • 根據所需設定,檢查是否有任何故障路徑與啟動-閂鎖關係,並保持啟動-閂鎖關係
      • 註冊安裝和持有的輸入
      • 註冊以輸出進行設定並持有

筆記:

  1. TSE_10_1_RGMII_SDC是 Megafunction 所產生的 SDC 檔案。它不涵蓋 RGMII SDC 限制。RGMII SDC 限制包含在 RGMII SDC 中。
  2. 在 TSE_10_1_RGMII_SDC.sdc 檔案中修改:
    • 評論derived_pll_clock(第 246 行),因為這將阻礙您在 RGMII.sdc 中的 pll 使用create_gererated_clock指令
    • 根據設計變更第 59 行和第 60 行的FF_TX_CLK和FF_RX_CLK名稱
  3. 在計時分析期間,可能會出現可忽略的警告。如需詳細資訊,請參閱 TSE_RGMII_With_SDC.qar 中的 readme.txt。
  4. 下載此範例中使用的檔案:TSE_RGMII_With_SDC.qar

此設計之使用受 Intel® 設計範例授權協定的條款與細則管轄,並受其約束。

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