前面一篇文章介绍了经典的时钟切换电路,对于时钟切换电路这种使用频次很高的基础电路,Xilinx 以源语的形式提供了该电路在 FPGA 中的实现,并且功能更加丰富。以 Xilinx 7 系列 FPGA 为例,时钟切换电路的原型为 BUFGCTRL,以及由 BUFGCTRL 派生出的 6 个时钟缓存电路,这 7 个时钟缓存电路又叫做全局时钟缓存(Global Clock Buffer)。本篇文章以全局时钟缓存为例,介绍 Xilinx 7 系列 FPGA 全局时钟缓存(Global Clock Buffer)源语的用法。
参考文档:UG472: 7 Series FPGAs Clocking Resource User Guide
根据 Xilinx 官方文档 ug472 中的介绍,7 系列 FPGA 全局时钟缓存源语共有 7 中,如下图所示。
其中,BUFGCTRL 为原型,后面的 6 种皆有 BUFGCTRL 派生而来。
- BUFG,不带控制引脚,一般在 FPGA 时钟的输入输出时使用;
- BUFGCE 和 BUFGCE_1,带使能的全局时钟 buffer,二者之间的区别在于时钟信号的低电平使能还是高电平使能;
- BUFGMUX 和 BUFGMUX_1,带时钟选择功能的全局时钟 buffer,通过 S 控制 CE0 和 CE1 来完成时钟的切换,BUFGMUX 和 BUFGMUX_1 二者之间的区别在于时钟信号的低电平切换还是高电平切换;
- BUFGMUX_CTRL,同样是带时钟选择功能的全局时钟 buffer,通过 S 控制 S0 和 S1 来完成时钟的切换。
BUFGCTRL
BUFGCTRL 引出了所有的输入输出和控制引脚:
- 输入:I0, I1
- 输出:O
- 控制:CE0, CE1, IGNORE0, IGNORE1, S0, S1
对应的电路原型如下图所示。
BUFGCTRL 的真值表:
BUFGCTRL 的时钟切换功能:
BUFGCTRL 的属性:
扫码关注尚为网微信公众号
每天学习电路设计和嵌入式系统的专业知识,关注一波,没准就用上了。
原创文章,作者:sunev,如若转载,请注明出处:https://www.sunev.cn/embedded/1268.html