性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

Aurora8B10B IP使用 -02- IP功能設(shè)計(jì)技巧

前言

承接上文,本文主要介紹了關(guān)于IP核中一些功能的配置的方法和技巧使用的示例,主要參考了IP手冊(cè)的第三章內(nèi)容。

復(fù)位和斷電

復(fù)位

復(fù)位信號(hào)用于將 Aurora 8B/10B 內(nèi)核設(shè)置為已知的啟動(dòng)狀態(tài)。復(fù)位時(shí),內(nèi)核停止任何當(dāng)前操作并重新初始化一個(gè)新通道。

在全雙工模塊上,復(fù)位信號(hào)復(fù)位通道的 TX 和 RX 端。在單工模塊上,tx_system_reset 復(fù)位 TX 通道,而 rx_system_reset 復(fù)位 RX 通道。gt_reset 信號(hào)復(fù)位收發(fā)器,最終復(fù)位內(nèi)核。tx_system_reset 與單工邊帶接口上使用的 tx_reset 和 rx_reset 信號(hào)是分開(kāi)的。

示例

雙工內(nèi)核中的復(fù)位斷言

雙工內(nèi)核中的復(fù)位斷言應(yīng)至少有六個(gè) user_clk 時(shí)間段。因此,channel_up 在三個(gè) user_clk 周期后被置低,如下圖所示。

雙工內(nèi)核中的 gt_reset 斷言

下圖顯示了雙工內(nèi)核中的 gt_reset 斷言,應(yīng)該至少有六個(gè) init_clk_in 時(shí)間段。因此,user_clk 在幾個(gè)時(shí)鐘周期后停止,因?yàn)闆](méi)有來(lái)自收發(fā)器的 txoutclk 并且 channel_up 隨后被置低。

單工內(nèi)核中的 tx_system_reset 和 rx_system_reset 斷言

下圖顯示了系統(tǒng)中連接的單工 TX 內(nèi)核和單工 RX 內(nèi)核。TX_IP 和 RX_IP 可以在同一個(gè)或多個(gè)設(shè)備中。

下圖顯示了單工內(nèi)核中 tx_system_reset 和 rx_system_reset 斷言的推薦過(guò)程。

image-20220602203551582

  1. tx_system_reset 和 rx_system_reset 被置位至少六個(gè)時(shí)鐘 user_clk 時(shí)間段。
  2. tx_channel_up 和 rx_channel_up 在三個(gè) user_clk 周期后被置低。
  3. rx_system_reset 被置低(或)在 tx_system_reset 被置低后釋放。這確保了單工 TX 內(nèi)核中的收發(fā)器更早地開(kāi)始傳輸初始化數(shù)據(jù),并提高了單工 RX 內(nèi)核與正確數(shù)據(jù)序列對(duì)齊的可能性。
  4. rx_channel_up 在 tx_channel_up 斷言之前被斷言。單工 RX 內(nèi)核必須滿足此條件,單工 TX 內(nèi)核中的單工定時(shí)器參數(shù)(C_ALIGNED_TIMER、C_BONDED_TIMER 和 C_VERIFY_TIMER)需要調(diào)整以滿足此標(biāo)準(zhǔn)。
  5. 當(dāng) simplex-TX 內(nèi)核在配置的時(shí)間內(nèi)完成 Aurora 8B/10B 協(xié)議通道初始化序列傳輸時(shí),tx_channel_up 被置位。tx_channel_up last 的斷言確保 simplex-TX 內(nèi)核在 simplex-RX 內(nèi)核準(zhǔn)備好時(shí)發(fā)送 Aurora 初始化序列。

Aurora 8B/10B Duplex Power On Sequence(雙工上電序列)

在板子上電序列期間,gt_reset 和 reset 信號(hào)都必須為高電平。收發(fā)器參考時(shí)鐘 (GT_REFCLK) 和內(nèi)核自由運(yùn)行時(shí)鐘 (INIT_CLK) 預(yù)計(jì)在上電期間保持穩(wěn)定,以便 Aurora 8B/10B 內(nèi)核正常運(yùn)行。

Aurora 8B/10B Duplex Normal Operation Reset Sequence(雙工正常操作復(fù)位序列)

在正常操作期間,復(fù)位信號(hào)預(yù)計(jì)在 gt_reset 信號(hào)置位之前至少置位 128 個(gè) user_clk 時(shí)間段,以確保可編程邏輯中的內(nèi)核部分達(dá)到已知復(fù)位狀態(tài) 在gt_reset 的斷言而抑制 user_clk 信號(hào)之前,如下所示。

Aurora 8B/10B Simplex Power On Sequence(單工上電順序)

在上電期間,TX simplex 和 RX simplex 內(nèi)核的 gt_reset 和 reset 信號(hào)預(yù)計(jì)為高電平。預(yù)計(jì) INIT_CLK 和 GT_REFCLK 在上電期間是穩(wěn)定的。必須先將TX板上的gt_reset信號(hào)置低,然后再將RX端的gt_reset置低;這可確保在 RX 側(cè)正確鎖定 CDR,如下圖所示。

單工上電序列:

  1. 解除 TX 端 gt_reset (A)

  2. 解除 RX 端 gt_reset (C)

  3. 解除 RX 端同步到 user_clk (D)

  4. 解除 TX 端同步到 user_clk (B)

    注意:必須注意確保 (D) 到 (B) 的時(shí)間差盡可能小。

Aurora 8B/10B Simplex Normal Operation Reset Sequence(單工正常操作復(fù)位序列)

對(duì)于單工配置,建議 TX 側(cè)復(fù)位序列與 RX 側(cè)復(fù)位序列緊密耦合,因?yàn)?TX 和 RX 鏈路沒(méi)有通信反饋路徑。請(qǐng)注意,如果 RX 端被復(fù)位,則沒(méi)有直接的機(jī)制來(lái)通知 TX 端復(fù)位。因此,對(duì)于 Aurora 8B/10B 單工內(nèi)核,需要在系統(tǒng)級(jí)別處理復(fù)位耦合。每次 TX 側(cè)復(fù)位之后必須跟隨 RX 側(cè),如下圖所示,RX 側(cè)復(fù)位無(wú)效和 TX 側(cè)復(fù)位無(wú)效之間的時(shí)間必須盡可能短。在置位 gt_reset 之前,至少需要 128 個(gè)時(shí)鐘周期,以確保在 gt_reset 的置位抑制 user_clk 之前,可編程邏輯中的內(nèi)核部分達(dá)到已知的復(fù)位狀態(tài)。gt_reset 的斷言時(shí)間必須至少為六個(gè) init_clk 時(shí)間段,以滿足內(nèi)核中包含的去抖動(dòng)電路。

斷電

這是一個(gè)高電平有效信號(hào)。斷言powerdown時(shí),Aurora 8B/10B 內(nèi)核中的收發(fā)器將關(guān)閉,將它們置于非工作、低功耗模式。取消斷言斷電時(shí),內(nèi)核會(huì)自動(dòng)復(fù)位。gt_reset 必須在powerdown 后置位后置位。

Shared Logic(共享邏輯)

Vivado IDE 中的共享邏輯選項(xiàng)將內(nèi)核配置為包括可共享資源,例如收發(fā)器四通道 PLL (QPLL)、收發(fā)器差分 refclk 緩沖器 (IBUFDS_GTE2),以及內(nèi)核或示例設(shè)計(jì)中的時(shí)鐘和復(fù)位邏輯。

共享邏輯層次結(jié)構(gòu)稱(chēng)為 _support。圖 3-9 和圖 3-10 顯示了兩個(gè)層次結(jié)構(gòu),其中共享邏輯塊包含在內(nèi)核或示例設(shè)計(jì)中。兩個(gè)層次的區(qū)別在于核心的邊界。它使用 Vivado中的 Shared Logic 選項(xiàng)進(jìn)行控制。當(dāng)共享邏輯位于內(nèi)核中時(shí),Single Ended 選項(xiàng)將從內(nèi)核中排除相應(yīng)的差分時(shí)鐘緩沖器。

共享邏輯的內(nèi)容取決于物理接口和目標(biāo)設(shè)備。共享邏輯包含收發(fā)器差分緩沖區(qū) (IBUFDS_GTE2/IBUFDS_GTE3) 的實(shí)例、支持復(fù)位邏輯和 _CLOCK_MODULE 的實(shí)例化。共享邏輯還包含基于所選收發(fā)器類(lèi)型的收發(fā)器公共實(shí)例 GTPE2_COMMON、GTXE2_COMMON 或 GTHE2_COMMON。支持復(fù)位邏輯包含用于復(fù)位和 gt_reset 端口的去抖動(dòng)邏輯。

Aurora 8B/10B 內(nèi)核使用 CPLL,不使用 QPLL(即 GTXE2_COMMON/GTHE2_COMMON)。QPLL 用于 Zynq-7000 和 7 系列器件,并在共享邏輯中進(jìn)行實(shí)例化,以與其他賽靈思串行連接內(nèi)核保持一致。

下表列出了每個(gè)系列的的共享資源。

Sharable Resources

gt_refclk1_out 和 gt_refclk2_out 信號(hào)可以由設(shè)計(jì)中的其他收發(fā)器共享,并且應(yīng)遵循收發(fā)器時(shí)鐘指南以實(shí)現(xiàn)連接性和收發(fā)器四通道鄰近性。圖 3-11 顯示了從包含共享邏輯的內(nèi)核 (aurora_8b10b_0) 到另一個(gè)不包含共享邏輯的內(nèi)核實(shí)例 (aurora_8b10b_1) 的可共享資源連接。某些端口可能會(huì)根據(jù)內(nèi)核配置和所選收發(fā)器的類(lèi)型而改變。

Using the Scrambler/Descrambler(使用擾碼器/解擾器)

一個(gè) 16 位加擾器/解擾器,用于具有多項(xiàng)式的數(shù)據(jù):G(x) = X16 + X5 + X4 + X3 + 1,可在 < component name>_scrambler.v[hd] 中獲得 模塊。它確保在很長(zhǎng)一段時(shí)間內(nèi)不會(huì)出現(xiàn)重復(fù)數(shù)據(jù)。加擾器和解擾器分別基于時(shí)鐘補(bǔ)償字符的發(fā)送和接收進(jìn)行同步。擾碼器僅影響數(shù)據(jù)符號(hào)。

使用 CRC

為用戶數(shù)據(jù)實(shí)現(xiàn)的 16 位或 32 位 CRC 在 < component name>_crc_top.v[hd] 模塊中可用。

為 2 字節(jié)設(shè)計(jì)生成 CRC16,為 4 字節(jié)設(shè)計(jì)生成 CRC32。crc_valid 和 crc_pass_fail_n 信號(hào)指示接收到的 CRC 與發(fā)送的 CRC 的結(jié)果。CRC-CCITT (16'h1021) 和標(biāo)準(zhǔn)以太網(wǎng)多項(xiàng)式 (32'h04C11DB7) 分別用作 16 位和 32 位的 CRC 多項(xiàng)式。CRC 是按通道計(jì)算的,并以數(shù)據(jù)為后綴。在接收器 AXI 接口處,CRC 被刪除,數(shù)據(jù)包按照發(fā)送器的 AXI 接口接收到的方式發(fā)送。下圖說(shuō)明了如何在沒(méi)有 CRC 的情況下發(fā)送相同的數(shù)據(jù)包以及何時(shí)啟用 CRC 選項(xiàng)。

熱插拔邏輯

Aurora 8B/10B 中的熱插拔邏輯(使用自由運(yùn)行的 init_clk 信號(hào))基于接收到的時(shí)鐘補(bǔ)償字符。Aurora RX 接口接收到時(shí)鐘補(bǔ)償字符意味著通信通道處于活動(dòng)狀態(tài)且未中斷。如果在預(yù)定時(shí)間內(nèi)沒(méi)有接收到時(shí)鐘補(bǔ)償字符,熱插拔邏輯將復(fù)位內(nèi)核和收發(fā)器。時(shí)鐘補(bǔ)償模塊必須用于 Aurora 8B/10B 設(shè)計(jì)。

時(shí)鐘補(bǔ)償

時(shí)鐘補(bǔ)償功能允許在 Aurora 8B/10B 通道的每一側(cè)使用的參考時(shí)鐘頻率差異高達(dá) ±100ppm。根據(jù) Aurora 8B/10B 協(xié)議規(guī)范 ,使用內(nèi)核生成標(biāo)準(zhǔn)時(shí)鐘補(bǔ)償模塊 _standard_cc_module.v[hd]。standard_cc_module 處理時(shí)鐘補(bǔ)償字符的生成周期,如下表中所述。可以使用 CC_FREQ_FACTOR 控制周期性。

防止 16 字節(jié) UFC 消息與時(shí)鐘補(bǔ)償序列沖突所需的先行周期數(shù)取決于通道中的通道數(shù)和每個(gè)通道的寬度。在時(shí)鐘補(bǔ)償字符傳輸期間,本機(jī)流控制消息請(qǐng)求未被確認(rèn)。這有助于防止 NFC 消息和時(shí)鐘補(bǔ)償序列發(fā)生沖突。參數(shù) CC_FREQ_FACTOR 確定 CC 序列的頻率。任何增加或減少參數(shù)的嘗試都應(yīng)該經(jīng)過(guò)仔細(xì)的分析和測(cè)試。

確保選擇的持續(xù)時(shí)間和周期足以校正所用時(shí)鐘頻率之間的最大差異。不要在彼此的八個(gè)周期內(nèi)執(zhí)行多個(gè)時(shí)鐘校正序列。用CC 序列替換長(zhǎng)的空閑序列(>12 個(gè)周期)可以降低EMI。

使用小端支持

Aurora 8B/10B 內(nèi)核默認(rèn)支持大端格式的用戶界面。它還支持小端格式以無(wú)縫連接到符合 AXI4-Stream 的 IP 內(nèi)核。

reference

PG046

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場(chǎng)。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請(qǐng)聯(lián)系:editor@netbroad.com
覺(jué)得內(nèi)容不錯(cuò)的朋友,別忘了一鍵三連哦!
贊 1
收藏 2
關(guān)注 14
成為作者 賺取收益
全部留言
0/200
成為第一個(gè)和作者交流的人吧