Xilinx IOBUF相关原语总结

概述

Xilinx自带有很多IO原语,主要用于对端口时钟信号及其他重要信号的缓冲和驱动,满足综合布线规则,并充分利用FPGA全局时钟树资源。下面将开发过程中用到的IO原语和网上阅读资料整理总结如下。

一、原语说明

1、IBUFG

IBUFG全局输入缓冲,其中I表示为从IO输入,BUF表示缓冲,G表示全局。通过FPGA全局时钟引脚输入的时钟信号必须首先连接到内部IBUFG,这是FPGA内部硬件电路结构布局决定的,并通过全铜的FPGA全局时钟树走线,到达内部各个模块时钟延时和抖动最小。后续可以尝试用普通信号,使用全局时钟引脚和IBUFG的效果。

2、BUFG

BUFG全局缓冲,个人理解与IBUFG的区别是没有I,即不是从IO进来的系统时钟信号,而是FPGA内部logic需要用到的关键时钟信号,例如内部logic之间的接口时钟信号,同样使用BUFG到达内部各个模块时钟延时和抖动最小。

3、BUFGCE

带CE使能端的BUFG,与BUFG相比多了CE,通过CE控制是否输出。在实际工程,可以通过CE端控制何时输出时钟,一来可以降低待机功耗,二来可以等到FPGA加载完成后再使用时钟输出,减小启动电流。

4、BUFGMUX

带MUX选择的BUFG,通过SEL信号,双入单出。

5、IBUFGDS

IBUG的差分形式,其中DS表示差分,必须从FPGA全局时钟差分引脚输入。

6、IBUFDS

与IBUFGDS相比少了G,个人理解可以从普通引脚输入。

7、BUFGDLL(DCM)

数字时钟管理单元,对全局时钟倍频、分频、相移,可以理解为数字锁相环。

二、使用方法

1、IBUFG+BUFG

IBUFG+BUFG是最常用的使用方法,可以用BUFGP,BUFGP=IBUFG+BUFG。

2、IBUFG+DCM+BUFG

首先通过DCM数字锁相环调整,然后再通过BUFG利用全局时钟树走线。

3、logic+BUFG

FPGA内部的普通logic信号也可以通过通过BUFG利用全局时钟树走线,需要注意的是logic到BUFG之间大概有10ns的延时。

4、logic+DCM+BUFG

FPGA内部的普通logic信号也可以首先通过DCM数字锁相环调整,然后再通过BUFG利用全局时钟树走线。

5、IBUFGDS+BUFG

差分时钟信号的组合使用方法。

6、IBUFDS+BUFG

差分普通信号的组合使用方法。

猜你喜欢

转载自blog.csdn.net/weixin_39789553/article/details/114312738