您现在的位置: 主页 > 嵌入式处理器 > FPGA > UltraScale– UltraScale FPGA中IODelay相比7Series FPGA的改变
本文所属标签:
为本文创立个标签吧:

UltraScale– UltraScale FPGA中IODelay相比7Series FPGA的改变

来源: 网络用户发布,如有版权联系网管删除 2018-08-11 

IODelay是Xilinx FPGA IO结构内,一个很有用处的单元,至少从Spartan6/Virtex5时代开始,就已经集成了这一技术,在很多高速接口互联时,我们都可能找到IODelay的用武之地。在最新的Ultrascale系列FPGA中,IODelay这一单元的具体用法,跟7Series中相比产生了一些变化。本文总结下,供读者参考。

UltraScale– UltraScale FPGA中IODelay相比7Series FPGA的改变

1. 7Series FPGA中IODelay的用法
在7Series中,IODelay都需要配合IOdelayCtrl来使用。其延迟步进阶数总共为64个Taps,每个Tap精度是tREFCLK/64。REFCLK提供3种设置,分别是200Mhz,300Mhz,和400Mhz,所以相对应的延迟精度分别为:5ns/64=78ps,3.333ns/64=52ps,2.5ns/64=39ps。

 7Series FPGA中IODelay的用法

 

2.在Ultrascale FPGA中

相比7Series,最大的区别是,IODelayCtrl补偿时,针对的是整个delayline,而不是单个的delay tap element。

IODelay提供了2种使用模式供用户选择,分别是TIME Mode和COUNT Mode

TIME Mode中,延迟是加入了温度补偿的,因此延迟值比较精确。在COUNT Mode中,不配合使用IDelayCtrl,每个TAP的延迟值在2.5ps-15ps之间随机不固定。一般我们都会使用TIME Mode,因此重点说下这个Mode的使用方法。

TIME Mode下,我们可以在IP配置初始时指定延迟的具体数值,单位是ps,范围是0-1250ps。这种模式对应的DELAY_TYPE属性是FIXED。

如果在TIME Mode下,我们想动态的调整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 > UltraScale– UltraScale FPGA中IODelay相比7Series FPGA的改变
 

"UltraScale– UltraScale FPGA中IODelay相比7Series FPGA的改变"的相关文章

网站地图

围观()