《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 其他 > 教程:基于FPGA的IDELAY2/ODELAY2

教程:基于FPGA的IDELAY2/ODELAY2

2022-10-24
來源:FPGA技術(shù)江湖
關(guān)鍵詞: 波形 FPGA

  FPGA項目開發(fā)之 7 系列 FPGA IDELAY2 / ODELAY2

  IO 靈活性是FPGA 最大的優(yōu)點之一。如果我們設(shè)計的 PCB 信號走線不完美,,IO的靈活性使我們能夠?qū)R進入設(shè)備的高速數(shù)據(jù),,幫助我們擺脫困境。

  設(shè)備 IO 結(jié)構(gòu)中一個經(jīng)常被忽視的功能是 IDELAY2 和 ODELAY2 原語,。這些原語為開發(fā)人員提供了一個由 32 個抽頭組成的可編程延遲線,,可提供可調(diào)節(jié)或固定的延遲,。

  實際可用的原語取決于我們正在使用的 IO bank 的類型,。High Performance IO (HP IO) 為用戶提供 IDELAY2 和 ODELAY2 原語,,而 High-Range IO (HR IO) 僅提供 IDELAY2 原語。

  我們可以同時使用 IDELAY 和 ODELAY 來消除信號之間的小延遲,。抽頭之間的分辨率取決于FPGA的時鐘頻率和速度等級,,7 系列 AC/DC 數(shù)據(jù)表如下所示:

 078.JPG

  當(dāng)我們提供 200 MHz 參考時鐘時,每個抽頭增量都會將延遲增加 78 ps,。這意味著總延遲約為 2.469 ns,。

  IDELAY 和 ODELAY 原語可以在四種模式下運行:

  FIXED——延遲在此模式下是固定的,不能在運行時更改,。

  VARIABLE – 這是一個可變延遲,,其中抽頭值可以使用簡單的界面增加或減少。

  VAR_LOAD – 與變量模式類似,,可以通過輸入向量設(shè)置抽頭延遲,。

  VAR_LOAD_PIPE – 這與 VAR_LOAD 類似,但是可以流水線化未來的延遲,。

  IDELAY2 模塊能夠延遲來自邏輯結(jié)構(gòu)或 IO 輸入的信號,。

  現(xiàn)在讓我們看下如何在應(yīng)用程序中實現(xiàn) IDELAY 功能,并創(chuàng)建一個不同模式下的實例,。

  要開始使用 IDELY 或 ODELAY,,我們需要實現(xiàn)一個 IDELAYCNTRL 模塊。該模塊不斷校準(zhǔn)其區(qū)域內(nèi)的各個延遲抽頭,。該模塊非常簡單,,需要參考時鐘和復(fù)位,RDY 輸出低時表示 IDELAYCNTRL 模塊需要復(fù)位,。

  077.JPG

  這些可以使用 Vivado 文本編輯器中提供的語言模板來實例化我們需要的模塊,。

 076.JPG

  我們也可以使用相同的語言模板來實例化 IDELAYCNTRL2。我們將要演示的設(shè)計將使用一個 IDELAYCNTRL 和兩個 IDELAY2 原語,。這就能測試不同配置 IDELAY2 時信號延遲之間的差異,。

  兩個 IDELAY2 原語都將以 VAR_LOAD 模式運行。允許使用 CNTVALUEIN 和簡單的 CE 和 INC 信號接口調(diào)整抽頭延遲,。

  075.JPG

  測試平臺將執(zhí)行以下步驟:

  重置 IDELAYCNTRL,。

  將兩個輸入信號 IDELAY2 設(shè)置為 0 延遲。

  設(shè)置兩個 IDELAY 延遲 2,,將兩個信號,。

  將第二個 IDELAY2 延遲增加 1 ,同時將第一個 IDELAY 保留為 2,。

  將第二個 IDELAY2 減 1 ,,讓兩者具有相同的延遲,。

  將第二個 IDELAY2 設(shè)置為具有 31 的最大可能延遲。

  可以在下面看到整體仿真延遲比較小,,無法看到該級別延遲的影響,。然而,隨著仿真執(zhí)行不同的測試,,我們將看到控制信號和抽頭值發(fā)生變化,。

 074.JPG

  測試一的波形如下所示。盡管沒有計算延遲,,但輸入信號和輸出信號之間存在大約 60 ps 的延遲,。

073.JPG

  當(dāng)延遲設(shè)置為 2 時,延遲為 756 ns,,即 156 ps(兩個 78 ps 的抽頭延遲)加上原來的 0.6 ns 延遲,。

 072.JPG

  第三個測試顯示信號一和信號二之間有 78 ps 的延遲。對應(yīng)于接頭設(shè)置的差異,,這也顯示在計數(shù)值輸出信號上,。

  071.JPG

  第四個測試將兩個信號路徑設(shè)置為具有相同的延遲,。測試三和四演示了簡單的遞增和遞減接口是如何工作的,。我們啟用 IDELAY2,并根據(jù) INC 的狀態(tài),,增加或減少抽頭延遲,。如果 INC 設(shè)置為與 CE 一致,則增加抽頭延遲,,否則減少抽頭延遲,。

  最后的測試將第二個信號路徑設(shè)置為最大延遲。在這里可以看到信號 2 延遲了 3.018 ns,。這是2.469 ns 的抽頭延遲加上原來的 0.6 ns,。

  070.JPG

  IDELAY 在我們的工具箱中是一個非常有用的工具,它提供了對 FPGA 中的輸入信號進行細(xì)粒度對齊的能力,。

  完整的工程:

  https://github.com/ATaylorCEngFIET/MZ_431



更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<

mmexport1621241704608.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。