新聞中心

EEPW首頁 > 電源與新能源 > 設計應用 > UltraScaleC UltraScale FPGA中IODelay相比7Series FPGA的改變

UltraScaleC UltraScale FPGA中IODelay相比7Series FPGA的改變

作者: 時間:2018-07-24 來源:網(wǎng)絡 收藏

IODelay是Xilinx IO結構內,一個很有用處的單元,至少從Spartan6/Virtex5時代開始,就已經(jīng)集成了這一技術,在很多高速接口互聯(lián)時,我們都可能找到IODelay的用武之地。在最新的Ultrascale系列中,IODelay這一單元的具體用法,跟7Series中相比產生了一些變化。本文總結下,供讀者參考。

本文引用地址:http://butianyuan.cn/article/201807/383580.htm

1. 7Series 中IODelay的用法

在7Series中,IODelay都需要配合IOdelayCtrl來使用。其延遲步進階數(shù)總共為64個Taps,每個Tap精度是tREFCLK/64。REFCLK提供3種設置,分別是200Mhz,300Mhz,和400Mhz,所以相對應的延遲精度分別為:5ns/64=78ps,3.333ns/64=52ps,2.5ns/64=39ps。

2.在Ultrascale FPGA中

相比7Series,最大的區(qū)別是,IODelayCtrl補償時,針對的是整個delayline,而不是單個的delay tap element。

IODelay提供了2種使用模式供用戶選擇,分別是TIME Mode和COUNT Mode

在TIME Mode中,延遲是加入了溫度補償?shù)模虼搜舆t值比較精確。在COUNT Mode中,不配合使用IDelayCtrl,每個TAP的延遲值在2.5ps-15ps之間隨機不固定。一般我們都會使用TIME Mode,因此重點說下這個Mode的使用方法。

在TIME Mode下,我們可以在IP配置初始時指定延遲的具體數(shù)值,單位是ps,范圍是0-1250ps。這種模式對應的DELAY_TYPE屬性是FIXED。

如果在TIME Mode下,我們想動態(tài)的調整IODELAY的延遲值該怎么辦呢?方法如下,首先需要把DELAY_TYPE屬性配置成VARIABLE或者VAR_LOAD,然后遵循以下步驟:

①. Deassert (Low) the EN_VTC pin.

②. Wait a minimum of 10 clock cycles.

③. Use the CE and INC ports to increment or decrement the delay line.

④. Wait a minimum of 5 clock cycles.

⑤. (Option for multiple updates) Increment or decrement of the delayline needs to be performed. Go to step 3, or else proceed to step 6.

⑥. Wait a minimum of 10 clock cycles.

⑦. Assert the EN_VTC pin.



關鍵詞: FPGA

評論


相關推薦

技術專區(qū)

關閉