FPGA項(xiàng)目開(kāi)發(fā)之 7 系列 FPGA IDELAY2 / ODELAY2
IO 靈活性是FPGA 最大的優(yōu)點(diǎn)之一。如果我們?cè)O(shè)計(jì)的 PCB 信號(hào)走線(xiàn)不完美,IO的靈活性使我們能夠?qū)R進(jìn)入設(shè)備的高速數(shù)據(jù),幫助我們擺脫困境。
設(shè)備 IO 結(jié)構(gòu)中一個(gè)經(jīng)常被忽視的功能是 IDELAY2 和 ODELAY2 原語(yǔ)。這些原語(yǔ)為開(kāi)發(fā)人員提供了一個(gè)由 32 個(gè)抽頭組成的可編程延遲線(xiàn),可提供可調(diào)節(jié)或固定的延遲。
實(shí)際可用的原語(yǔ)取決于我們正在使用的 IO bank 的類(lèi)型。High Performance IO (HP IO) 為用戶(hù)提供 IDELAY2 和 ODELAY2 原語(yǔ),而 High-Range IO (HR IO) 僅提供 IDELAY2 原語(yǔ)。
我們可以同時(shí)使用 IDELAY 和 ODELAY 來(lái)消除信號(hào)之間的小延遲。抽頭之間的分辨率取決于FPGA的時(shí)鐘頻率和速度等級(jí),7 系列 AC/DC 數(shù)據(jù)表如下所示:
當(dāng)我們提供 200 MHz 參考時(shí)鐘時(shí),每個(gè)抽頭增量都會(huì)將延遲增加 78 ps。這意味著總延遲約為 2.469 ns。
IDELAY 和 ODELAY 原語(yǔ)可以在四種模式下運(yùn)行:
FIXED——延遲在此模式下是固定的,不能在運(yùn)行時(shí)更改。
VARIABLE – 這是一個(gè)可變延遲,其中抽頭值可以使用簡(jiǎn)單的界面增加或減少。
VAR_LOAD – 與變量模式類(lèi)似,可以通過(guò)輸入向量設(shè)置抽頭延遲。
VAR_LOAD_PIPE – 這與 VAR_LOAD 類(lèi)似,但是可以流水線(xiàn)化未來(lái)的延遲。
IDELAY2 模塊能夠延遲來(lái)自邏輯結(jié)構(gòu)或 IO 輸入的信號(hào)。
現(xiàn)在讓我們看下如何在應(yīng)用程序中實(shí)現(xiàn) IDELAY 功能,并創(chuàng)建一個(gè)不同模式下的實(shí)例。
要開(kāi)始使用 IDELY 或 ODELAY,我們需要實(shí)現(xiàn)一個(gè) IDELAYCNTRL 模塊。該模塊不斷校準(zhǔn)其區(qū)域內(nèi)的各個(gè)延遲抽頭。該模塊非常簡(jiǎn)單,需要參考時(shí)鐘和復(fù)位,RDY 輸出低時(shí)表示 IDELAYCNTRL 模塊需要復(fù)位。
這些可以使用 Vivado 文本編輯器中提供的語(yǔ)言模板來(lái)實(shí)例化我們需要的模塊。
我們也可以使用相同的語(yǔ)言模板來(lái)實(shí)例化 IDELAYCNTRL2。我們將要演示的設(shè)計(jì)將使用一個(gè) IDELAYCNTRL 和兩個(gè) IDELAY2 原語(yǔ)。這就能測(cè)試不同配置 IDELAY2 時(shí)信號(hào)延遲之間的差異。
兩個(gè) IDELAY2 原語(yǔ)都將以 VAR_LOAD 模式運(yùn)行。允許使用 CNTVALUEIN 和簡(jiǎn)單的 CE 和 INC 信號(hào)接口調(diào)整抽頭延遲。
測(cè)試平臺(tái)將執(zhí)行以下步驟:
重置 IDELAYCNTRL。
將兩個(gè)輸入信號(hào) IDELAY2 設(shè)置為 0 延遲。
設(shè)置兩個(gè) IDELAY 延遲 2,將兩個(gè)信號(hào)。
將第二個(gè) IDELAY2 延遲增加 1 ,同時(shí)將第一個(gè) IDELAY 保留為 2。
將第二個(gè) IDELAY2 減 1 ,讓兩者具有相同的延遲。
將第二個(gè) IDELAY2 設(shè)置為具有 31 的最大可能延遲。
可以在下面看到整體仿真延遲比較小,無(wú)法看到該級(jí)別延遲的影響。然而,隨著仿真執(zhí)行不同的測(cè)試,我們將看到控制信號(hào)和抽頭值發(fā)生變化。
測(cè)試一的波形如下所示。盡管沒(méi)有計(jì)算延遲,但輸入信號(hào)和輸出信號(hào)之間存在大約 60 ps 的延遲。
當(dāng)延遲設(shè)置為 2 時(shí),延遲為 756 ns,即 156 ps(兩個(gè) 78 ps 的抽頭延遲)加上原來(lái)的 0.6 ns 延遲。
第三個(gè)測(cè)試顯示信號(hào)一和信號(hào)二之間有 78 ps 的延遲。對(duì)應(yīng)于接頭設(shè)置的差異,這也顯示在計(jì)數(shù)值輸出信號(hào)上。
第四個(gè)測(cè)試將兩個(gè)信號(hào)路徑設(shè)置為具有相同的延遲。測(cè)試三和四演示了簡(jiǎn)單的遞增和遞減接口是如何工作的。我們啟用 IDELAY2,并根據(jù) INC 的狀態(tài),增加或減少抽頭延遲。如果 INC 設(shè)置為與 CE 一致,則增加抽頭延遲,否則減少抽頭延遲。
最后的測(cè)試將第二個(gè)信號(hào)路徑設(shè)置為最大延遲。在這里可以看到信號(hào) 2 延遲了 3.018 ns。這是2.469 ns 的抽頭延遲加上原來(lái)的 0.6 ns。
IDELAY 在我們的工具箱中是一個(gè)非常有用的工具,它提供了對(duì) FPGA 中的輸入信號(hào)進(jìn)行細(xì)粒度對(duì)齊的能力。
-
FPGA
+關(guān)注
關(guān)注
1630文章
21803瀏覽量
606449 -
pcb
+關(guān)注
關(guān)注
4327文章
23179瀏覽量
400295 -
仿真
+關(guān)注
關(guān)注
50文章
4130瀏覽量
134078 -
應(yīng)用程序
+關(guān)注
關(guān)注
38文章
3298瀏覽量
57951
原文標(biāo)題:FPGA項(xiàng)目開(kāi)發(fā)之 7 系列 FPGA IDELAY2 / ODELAY2
文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
xilinx FPGA中oddr,idelay的用法詳解
如何在應(yīng)用程序中實(shí)現(xiàn) IDELAY 功能
如何在ModusToolbox?中檢查和設(shè)置應(yīng)用程序的內(nèi)存地址?
嵌入式應(yīng)用程序中的USB 3.0鏈路共享怎么實(shí)現(xiàn)?
如何在PC上測(cè)試固件應(yīng)用程序?
如何在應(yīng)用程序“CyMeCube”中查看端點(diǎn)?
CH32F103如何在應(yīng)用程序中響應(yīng)中斷?
如何在應(yīng)用程序中實(shí)現(xiàn)IDELAY功能并創(chuàng)建一個(gè)不同模式下的實(shí)例
FPGA高級(jí)SelectIO邏輯資源簡(jiǎn)析
如何在linux應(yīng)用程序中使用pwm捕獲?
如何在uclinux中添加自己應(yīng)用程序的詳細(xì)過(guò)程
如何在軟件中實(shí)現(xiàn)TI的觸摸屏控制器提供的各種功能詳細(xì)概述
![如<b class='flag-5'>何在</b>軟件<b class='flag-5'>中</b><b class='flag-5'>實(shí)現(xiàn)</b>TI的觸摸屏控制器提供的各種<b class='flag-5'>功能</b>詳細(xì)概述](https://file.elecfans.com/web1/M00/51/7A/pIYBAFsHg32AcWmqAABiFZHMlJA476.png)
評(píng)論