BUFG的各种变形
1、BUFGCTRL
BUFGCTRL保留了该缓冲器的所有接口,有四个选择线S0、S1、CE0和CE1,两条额外的控制线IGNORE0和IGNORE1。这六个控制线用于控制输入信号I0和I1的输出。如同3-1-3是BUFGCTRL的真值表。
图3-1-3 BUFGCTRL真值表
其中“O”是输出时钟,I0和I1是出入时钟,其它六个信号是用不用控制的,CE是使能信号,S是选择信号,IGNORE是旁路信号。这也是为啥CE和S都是1的时候才能表示选择了该路,所以这两个信号都可以用于时钟选择,例如S1和S0都是1,用CE进行选择,或反之。CE和S也是有区别的,CE用于选择需要保证建立时间和保持时间,否则会出现毛刺,用S没有这个问题,顶多晚一个时钟周期,我觉得用S比较好。
IGNORE本身就是忽视的意思,从《ug472》的第40页来看置1就忽视了对应的时钟属于与选择,但仿真来看是置0就忽略了对应时钟和选择,所以还是按照实际的来吧。
BUFGCTRL还有三个配置参数,其中INIT_OUT有三个作用,确定初始输出值、敏感沿和切换后的时钟电平。如果设置0则初始输出为低电平,在下降沿时切换且切换后的是低电平。PRESELECT是预选择时钟的意思,选择“true”表示就使用对应时钟,无论怎么操作都不会改变的,但仿真看不是,可能是有区别吧。
了解了BUFGCTRL,其他时钟也就好说了,因为都是在这基础上的更改。
2、BUFG
BUFG如下所示,选择使能等位置固定置,输入即输出,这也是用的最多的BUFG。
3、BUFGCE和BUFGCE_1
如下图所示,也就是加了一个使能信号,是用的CE0,也可以用CE1,是没有区别的。
如下是时序图
4、BUFGMUX and BUFGMUX_CTRL
是用来做时钟选择的,这个有两个,从样子上看没啥区别,实际上就是选择用S和CE的差别,这也导致了在时钟切换时候的时序差别。
快来扫描下方二维码关注公众号,领取站内所有相关资料,所有哦~
有建议、有需求、有疑问、联系我