精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Xilinx平臺Aurora IP介紹(二)時鐘與復位

C29F_xilinx_inc ? 來源:賽靈思 ? 作者:賽靈思 ? 2022-02-19 18:30 ? 次閱讀

前言

為什么每次都將時鐘和復位單獨拿出來講?

對于我們使用Xilinx或其他的成熟IP而言,IP相當于一個黑匣子,內部實現的邏輯功能我們知道,但是控制不了,只能默認OK;一般而言,成熟IP都是經過反復驗證和使用,確實沒有什么問題。所以,IP能不能用,首先要做的就是確保時鐘和復位。

如果初始化不成功,我們也只能從這兩個方面入手檢查。

一、Aurora核的時鐘

打開Aurora配置界面,我們可以看到有三個時鐘:

參考時鐘、init clock、DRP CLOCK,如下圖所示:

Xilinx平臺Aurora IP介紹(二)時鐘與復位

對應到代碼:

input INIT_CLK_P;

input INIT_CLK_N;

input DRP_CLK_IN;

input GTXQ0_P;

input GTXQ0_N;

1. GT Refclk : 上一篇我們介紹過,Aurora其實是基于GT作為物理層實現的,這個參考時鐘就是GT的參考時鐘,可以翻筆者之前介紹GTX時鐘博文詳細了解。由外部一對差分輸入時鐘而來,具體根據硬件而定。默認值:125Mhz。

2. INIT CLK :初始化時鐘,之所以要INIT CLK,是因為在GT復位時,user_clk是停止工作的;Xilinx推薦的配置是INIT CLK時鐘頻率要低于GT參考時鐘。另外,筆者在查看example design的時候,發現GT復位是工作在INIT CLK。默認值:50Mhz。

3. DRP CLK : DRP時鐘,動態重配置,感覺沒怎么用到,默認值:50Mhz。對于UltraScale器件而言,DRP CLK與INIT CLK相連接。

我們再打開example design,看看這幾個時鐘跟Aurora核是怎么連接的:

Xilinx平臺Aurora IP介紹(二)時鐘與復位

注意到沒,差分時鐘轉為單端時鐘,這里用了兩個原語:IBUFDS_GTE2是GT專用;IBUFDS則是一般情況使用。

那么,用戶邏輯時鐘又是多少呢?繼續上圖:

Xilinx平臺Aurora IP介紹(二)時鐘與復位

user_clk, 即是用戶邏輯時鐘,我們設計的用戶接口信號(AXI4-S接口)就是工作在該時鐘域。

而tx_out_clk,其實就是GTX里所講的gt_txoutclk。

這里一頓分析,只為了我們更好的了解Aurora核。如果只是使用,我們只需要按照IP配置界面選定的時鐘頻率給過去就好。

需要注意的是,參考時鐘必須由專用GT差分輸入時鐘得到,而INIT_CLK和DRP_CLK可以由PLL輸出。

二、復位設計

先來看下《PG046》文檔對復位的描述:

復位信號是用來將 Aurora 8B/10B core置為一個已知的開始狀態。在復位時,核停止當前所有操作然后重新初始化一個新的channel。

channel:兩個Aurora所建立的鏈路,可以有多條lane,每條lane對應一個高速收發器GT,統稱為channel。

在全雙工模式下,復位信號對channel的TX和RX都進行復位。

在單工模式下,tx_system_reset復位TX鏈路,rx_system_reset復位RX鏈路。

而gt_reset則是復位高速收發器GT,最終也會復位Aurora核。(這說明GT復位更加底層,只要GT復位,就會對核進行復位,后面代碼也會證實這一點)

再來看兩個case:

CASE 1:全雙工配置下的系統復位

在全雙工配置模式下,復位信號應至少保持6個時鐘周期(user_clk)。channel_up在3個時鐘周期(user_clk)后拉低,如下圖所示:

Xilinx平臺Aurora IP介紹(二)時鐘與復位

CASE2:全雙工配置下的GT復位

在全雙工配置模式下,GT復位信號應至少保持6個時鐘周期(init_clk)。復位的結果user_clk會在幾個時鐘周期后停止,因為沒有了來自GT的txoutclk。隨后,channel_up也會跟著拉低。跟前文講述一致。如下圖所示:

Xilinx平臺Aurora IP介紹(二)時鐘與復位

其他的就不再展開了,感興趣的可以詳細查閱《PG046》。

我們再從代碼的角度來看看復位:

Aurora復位信號有兩個,一個是系統復位RESET,一個是GT復位GT_RESET;復位邏輯就如同前文描述,具體到代碼,感興趣的可以查閱示例工程的reset_logic.v;這里直接給出結論:

1. GT復位更加底層,優先級要高于系統復位RESET;也就是說,若GT復位,那么系統復位也拉高;《PG046》對復位的描述也是如此。

2. 當GT復位沒有拉高時,根據輸入的系統復位RESET,使用移位寄存器對其打拍,輸出復位。

3. GT復位同步于INIT_CLK,所以先將其同步到user_clk時鐘域,再對Aurora進行復位。

最后,Xilinx大佬操作來了!

①channel_up : 只要channel_up信號為高,那么說明核初始化完成,且建立了channel,在channel_up拉高之前,lane_up會拉高。我們邏輯設計可以直接使用該信號,在初始化完成之后,再進行邏輯操作。

②debug流程:具體查看P.105

后記

現在FPGA都集成了高速收發器硬核,各種協議的高速接口都是基于GT物理層來實現的。所以,在學習這些高速接口IP之前,最好先熟悉GT。后面就會發現很多東西都是通的。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Xilinx
    +關注

    關注

    70

    文章

    2137

    瀏覽量

    120397
  • 時鐘
    +關注

    關注

    10

    文章

    1673

    瀏覽量

    130969
  • 復位
    +關注

    關注

    0

    文章

    166

    瀏覽量

    24124
收藏 人收藏

    評論

    相關推薦

    STM32復位電路用復位芯片和阻容復位電路區別

    STM32是一款廣泛使用的微控制器,其復位電路設計對于系統的穩定性和可靠性至關重要。本文將詳細介紹STM32復位電路中使用復位芯片和阻容復位
    的頭像 發表于 08-06 10:26 ?435次閱讀

    復位電路為什么要加極管

    復位電路中,極管的加入主要出于幾個關鍵原因,這些原因涉及到電路的穩定性、可靠性、以及保護機制等方面。以下是對復位電路為什么要加極管的詳細解析。
    的頭像 發表于 07-24 15:45 ?381次閱讀

    Xilinx FPGA NVMe主機控制器IP,高性能版本介紹應用

    NVMe Host Controller IP1介紹NVMe Host Controller IP可以連接高速存儲PCIe SSD,無需CPU和外部存儲器,自動加速處理所有的NVMe協議命令,具備
    發表于 03-09 13:56

    什么是復位同步電路 reset synchronizer?

    復位同步電路 reset synchronizer 其實只在復位信號 release 的時候派上用場。復位結束后,這個電路其實就沒用了。 但這個電路的時鐘還在 switch,這個電路還
    的頭像 發表于 02-19 09:21 ?1075次閱讀
    什么是<b class='flag-5'>復位</b>同步電路 reset synchronizer?

    復位電路的基本功能介紹

    復位電路是用于將系統恢復到已知的、穩定的初始狀態。這一過程通常被稱為“復位”,它在很多電子設備的正常運行中起著至關重要的作用。復位操作可以由多種原因觸發,包括電源上電、用戶操作、硬件故障、軟件錯誤
    的頭像 發表于 02-16 10:14 ?1313次閱讀
    <b class='flag-5'>復位</b>電路的基本功能<b class='flag-5'>介紹</b>

    GD32 MCU電源復位和系統復位有什么區別

    GD32 MCU的復位分為電源復位和系統復位,電源復位又稱為冷復位,相較于系統復位,上電
    的頭像 發表于 02-02 09:37 ?1212次閱讀
    GD32 MCU電源<b class='flag-5'>復位</b>和系統<b class='flag-5'>復位</b>有什么區別

    異步復位異步釋放會有什么問題?FPGA異步復位為什么要同步釋放呢?

    一般來說,復位信號有效后會保持比較長一段時間,確保 register 被復位完成。但是復位信號釋放時,因為其和時鐘是異步的關系,我們不知道它會在什么時刻被釋放。
    的頭像 發表于 01-24 09:32 ?1546次閱讀
    異步<b class='flag-5'>復位</b>異步釋放會有什么問題?FPGA異步<b class='flag-5'>復位</b>為什么要同步釋放呢?

    為什么需要復位電路?漫談復位reset

    在IC設計中,把復位時鐘電路稱為最重要的兩個電路一點也不為過。前者復位電路把IC設計的電路引導到一個已知的狀態,
    的頭像 發表于 01-19 16:41 ?1669次閱讀
    為什么需要<b class='flag-5'>復位</b>電路?漫談<b class='flag-5'>復位</b>reset

    同步復位和異步復位到底孰優孰劣呢?

    同步復位和異步復位到底孰優孰劣呢? 同步復位和異步復位是兩種不同的復位方式,它們各自有優勢和劣勢,下面將詳細
    的頭像 發表于 01-16 16:25 ?1258次閱讀

    時鐘樹是什么?介紹兩種時鐘樹結構

    今天來聊一聊時鐘樹。首先我先講一下我所理解的時鐘樹是什么,然后介紹兩種時鐘樹結構。
    的頭像 發表于 12-06 15:23 ?1339次閱讀

    FPGA新IP核學習的正確打開方式

    步驟,您可以更好地理解和使用XilinxIP核。 、其它方式 可以通過百度或google搜索這個IP的相關博客,看看網上大牛們是怎么用和理解這個
    發表于 11-17 11:09

    Xilinx FPGA芯片內部時鐘復位信號使用方法

    如果FPGA沒有外部時鐘源輸入,可以通過調用STARTUP原語,來使用FPGA芯片內部的時鐘復位信號,Spartan-6系列內部時鐘源是50MHz,Artix-7、Kintex-7等
    的頭像 發表于 10-27 11:26 ?1508次閱讀
    <b class='flag-5'>Xilinx</b> FPGA芯片內部<b class='flag-5'>時鐘</b>和<b class='flag-5'>復位</b>信號使用方法

    IAR調試中不同復位類型的介紹

    IAR調試中不同復位類型的介紹在IAR 環境下調試有不同的復位類型,其中一些只復位內核不復位MCU 外設的
    發表于 10-19 07:54

    STM32失能時鐘復位外設的區別

    STM32失能時鐘復位外設的區別
    的頭像 發表于 10-17 11:48 ?753次閱讀
    STM32失能<b class='flag-5'>時鐘</b>和<b class='flag-5'>復位</b>外設的區別

    基于FPGA的Aurora 8b10b光通信測試方案

    本文開源一個FPGA高速串行通信項目:Aurora 8b10b光通信。7 Series FPGAs Transceivers Wizard IPXilinx官方7系列FPGA的高速串行收發器,本工程主要是圍繞該
    的頭像 發表于 10-01 09:48 ?6019次閱讀
    基于FPGA的<b class='flag-5'>Aurora</b> 8b10b光通信測試方案