0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Xilinx平臺Aurora IP介紹(二)時(shí)鐘與復(fù)位

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

前言

為什么每次都將時(shí)鐘和復(fù)位單獨(dú)拿出來講?

對于我們使用Xilinx或其他的成熟IP而言,IP相當(dāng)于一個(gè)黑匣子,內(nèi)部實(shí)現(xiàn)的邏輯功能我們知道,但是控制不了,只能默認(rèn)OK;一般而言,成熟IP都是經(jīng)過反復(fù)驗(yàn)證和使用,確實(shí)沒有什么問題。所以,IP能不能用,首先要做的就是確保時(shí)鐘和復(fù)位。

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

一、Aurora核的時(shí)鐘

打開Aurora配置界面,我們可以看到有三個(gè)時(shí)鐘:

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

Xilinx平臺Aurora IP介紹(二)時(shí)鐘與復(fù)位

對應(yīng)到代碼:

input INIT_CLK_P;

input INIT_CLK_N;

input DRP_CLK_IN;

input GTXQ0_P;

input GTXQ0_N;

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

2. INIT CLK :初始化時(shí)鐘,之所以要INIT CLK,是因?yàn)樵贕T復(fù)位時(shí),user_clk是停止工作的;Xilinx推薦的配置是INIT CLK時(shí)鐘頻率要低于GT參考時(shí)鐘。另外,筆者在查看example design的時(shí)候,發(fā)現(xiàn)GT復(fù)位是工作在INIT CLK。默認(rèn)值:50Mhz。

3. DRP CLK : DRP時(shí)鐘,動態(tài)重配置,感覺沒怎么用到,默認(rèn)值:50Mhz。對于UltraScale器件而言,DRP CLK與INIT CLK相連接。

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

Xilinx平臺Aurora IP介紹(二)時(shí)鐘與復(fù)位

注意到?jīng)],差分時(shí)鐘轉(zhuǎn)為單端時(shí)鐘,這里用了兩個(gè)原語:IBUFDS_GTE2是GT專用;IBUFDS則是一般情況使用。

那么,用戶邏輯時(shí)鐘又是多少呢?繼續(xù)上圖:

Xilinx平臺Aurora IP介紹(二)時(shí)鐘與復(fù)位

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

而tx_out_clk,其實(shí)就是GTX里所講的gt_txoutclk。

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

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

二、復(fù)位設(shè)計(jì)

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

復(fù)位信號是用來將 Aurora 8B/10B core置為一個(gè)已知的開始狀態(tài)。在復(fù)位時(shí),核停止當(dāng)前所有操作然后重新初始化一個(gè)新的channel。

channel:兩個(gè)Aurora所建立的鏈路,可以有多條lane,每條lane對應(yīng)一個(gè)高速收發(fā)器GT,統(tǒng)稱為channel。

在全雙工模式下,復(fù)位信號對channel的TX和RX都進(jìn)行復(fù)位。

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

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

再來看兩個(gè)case:

CASE 1:全雙工配置下的系統(tǒng)復(fù)位

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

Xilinx平臺Aurora IP介紹(二)時(shí)鐘與復(fù)位

CASE2:全雙工配置下的GT復(fù)位

在全雙工配置模式下,GT復(fù)位信號應(yīng)至少保持6個(gè)時(shí)鐘周期(init_clk)。復(fù)位的結(jié)果user_clk會在幾個(gè)時(shí)鐘周期后停止,因?yàn)闆]有了來自GT的txoutclk。隨后,channel_up也會跟著拉低。跟前文講述一致。如下圖所示:

Xilinx平臺Aurora IP介紹(二)時(shí)鐘與復(fù)位

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

我們再從代碼的角度來看看復(fù)位:

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

1. GT復(fù)位更加底層,優(yōu)先級要高于系統(tǒng)復(fù)位RESET;也就是說,若GT復(fù)位,那么系統(tǒng)復(fù)位也拉高;《PG046》對復(fù)位的描述也是如此。

2. 當(dāng)GT復(fù)位沒有拉高時(shí),根據(jù)輸入的系統(tǒng)復(fù)位RESET,使用移位寄存器對其打拍,輸出復(fù)位。

3. GT復(fù)位同步于INIT_CLK,所以先將其同步到user_clk時(shí)鐘域,再對Aurora進(jìn)行復(fù)位。

最后,Xilinx大佬操作來了!

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

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

后記

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

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Xilinx
    +關(guān)注

    關(guān)注

    70

    文章

    2137

    瀏覽量

    120397
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    10

    文章

    1673

    瀏覽量

    130972
  • 復(fù)位
    +關(guān)注

    關(guān)注

    0

    文章

    166

    瀏覽量

    24125
收藏 人收藏

    評論

    相關(guān)推薦

    STM32復(fù)位電路用復(fù)位芯片和阻容復(fù)位電路區(qū)別

    STM32是一款廣泛使用的微控制器,其復(fù)位電路設(shè)計(jì)對于系統(tǒng)的穩(wěn)定性和可靠性至關(guān)重要。本文將詳細(xì)介紹STM32復(fù)位電路中使用復(fù)位芯片和阻容復(fù)位
    的頭像 發(fā)表于 08-06 10:26 ?446次閱讀

    復(fù)位電路為什么要加極管

    復(fù)位電路中,極管的加入主要出于幾個(gè)關(guān)鍵原因,這些原因涉及到電路的穩(wěn)定性、可靠性、以及保護(hù)機(jī)制等方面。以下是對復(fù)位電路為什么要加極管的詳細(xì)解析。
    的頭像 發(fā)表于 07-24 15:45 ?385次閱讀

    Xilinx FPGA NVMe主機(jī)控制器IP,高性能版本介紹應(yīng)用

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

    什么是復(fù)位同步電路 reset synchronizer?

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

    復(fù)位電路的基本功能介紹

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

    GD32 MCU電源復(fù)位和系統(tǒng)復(fù)位有什么區(qū)別

    GD32 MCU的復(fù)位分為電源復(fù)位和系統(tǒng)復(fù)位,電源復(fù)位又稱為冷復(fù)位,相較于系統(tǒng)復(fù)位,上電
    的頭像 發(fā)表于 02-02 09:37 ?1213次閱讀
    GD32 MCU電源<b class='flag-5'>復(fù)位</b>和系統(tǒng)<b class='flag-5'>復(fù)位</b>有什么區(qū)別

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

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

    為什么需要復(fù)位電路?漫談復(fù)位reset

    在IC設(shè)計(jì)中,把復(fù)位時(shí)鐘電路稱為最重要的兩個(gè)電路一點(diǎn)也不為過。前者復(fù)位電路把IC設(shè)計(jì)的電路引導(dǎo)到一個(gè)已知的狀態(tài),
    的頭像 發(fā)表于 01-19 16:41 ?1670次閱讀
    為什么需要<b class='flag-5'>復(fù)位</b>電路?漫談<b class='flag-5'>復(fù)位</b>reset

    同步復(fù)位和異步復(fù)位到底孰優(yōu)孰劣呢?

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

    時(shí)鐘樹是什么?介紹兩種時(shí)鐘樹結(jié)構(gòu)

    今天來聊一聊時(shí)鐘樹。首先我先講一下我所理解的時(shí)鐘樹是什么,然后介紹兩種時(shí)鐘樹結(jié)構(gòu)。
    的頭像 發(fā)表于 12-06 15:23 ?1348次閱讀

    FPGA新IP核學(xué)習(xí)的正確打開方式

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

    Xilinx FPGA芯片內(nèi)部時(shí)鐘復(fù)位信號使用方法

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

    IAR調(diào)試中不同復(fù)位類型的介紹

    IAR調(diào)試中不同復(fù)位類型的介紹在IAR 環(huán)境下調(diào)試有不同的復(fù)位類型,其中一些只復(fù)位內(nèi)核不復(fù)位MCU 外設(shè)的
    發(fā)表于 10-19 07:54

    STM32失能時(shí)鐘復(fù)位外設(shè)的區(qū)別

    STM32失能時(shí)鐘復(fù)位外設(shè)的區(qū)別
    的頭像 發(fā)表于 10-17 11:48 ?753次閱讀
    STM32失能<b class='flag-5'>時(shí)鐘</b>和<b class='flag-5'>復(fù)位</b>外設(shè)的區(qū)別

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

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