在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2571|回复: 9

[讨论] 系统高速与低速工作时,时钟无毛刺切换

[复制链接]
发表于 2021-8-13 08:59:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
系统有高速与低速时钟,高速时钟达到400MH,低速模式下时钟为20M,为保证系统稳定性,高速与低速失踪需进行无毛刺切换,这种结构的时钟切换电路是否可以保证系统的稳定性,或者说上升沿触发的寄存器打拍问题问题,打几拍比较合适。

image.png
发表于 2021-8-13 09:29:45 | 显示全部楼层
可以实现无毛刺切换,  高频和 低频相差较大, 要注意两个 and门 CG 的 setup hold check。
发表于 2021-8-13 12:31:44 | 显示全部楼层
你这是打算用于FPGA的设计?还是?
 楼主| 发表于 2021-8-13 14:15:36 来自手机 | 显示全部楼层


innovation 发表于 2021-8-13 12:31
你这是打算用于FPGA的设计?还是?


根据一个协议手册做的ASIC设计,高速与低速时钟是根据从机属性计算出来的
发表于 2021-8-13 19:07:25 | 显示全部楼层


liulanger666 发表于 2021-8-13 14:15
根据一个协议手册做的ASIC设计,高速与低速时钟是根据从机属性计算出来的 ...


哦,好的。ASIC设计我不了解。。。如果是FPGA的话,至少对Xilinx的来说,不推荐这样设计。
 楼主| 发表于 2021-8-15 17:16:04 | 显示全部楼层


innovation 发表于 2021-8-13 19:07
哦,好的。ASIC设计我不了解。。。如果是FPGA的话,至少对Xilinx的来说,不推荐这样设计。
...


对Xilinx系类的FPGA来说,对与这种频率相差较大的时钟切换有什么好方法吗。
发表于 2021-8-15 18:04:22 | 显示全部楼层
本帖最后由 innovation 于 2021-8-15 18:28 编辑


liulanger666 发表于 2021-8-15 17:16
对Xilinx系类的FPGA来说,对与这种频率相差较大的时钟切换有什么好方法吗。 ...


采用它的BUFGMUX呀,这是Xilinx FPGA内部的专用时钟切换电路,如下(摘自Xilinx UG382):
image.png

image.png

image.png

发表于 2021-8-15 18:07:30 | 显示全部楼层
本帖最后由 innovation 于 2021-8-15 18:23 编辑


liulanger666 发表于 2021-8-15 17:16
对Xilinx系类的FPGA来说,对与这种频率相差较大的时钟切换有什么好方法吗。 ...


对于Xilinx 的BUFGMUX来说,两个输入的频率之差不是问题,只是需要满足它的数据手册中BUFGMUX的输入信号的最高频率的要求,如下(摘自Xilinx DS162):
image.png

发表于 2021-8-15 18:14:24 | 显示全部楼层
本帖最后由 innovation 于 2021-8-15 18:23 编辑


liulanger666 发表于 2021-8-15 17:16
对Xilinx系类的FPGA来说,对与这种频率相差较大的时钟切换有什么好方法吗。 ...


当然,BUFGMUX在使用时,也有一些限制,例如,如果你预计你的两个输入时钟有可能停止翻转,那么你应该将BUFGMUX的属性设为异步(ASYNC),这样的话,即便一个输入停止翻转,选择信号S仍然有效,可以切换到另一个输入,异步模式下的缺陷是,如果两个输入都在正常翻转,在改变S信号状态时,BUFGMUX在切换输出时将没有毛刺滤除的功能,见下图(摘自Xilinx UG382):
image.png
发表于 2021-8-15 18:19:53 | 显示全部楼层
本帖最后由 innovation 于 2021-8-15 22:00 编辑


liulanger666 发表于 2021-8-15 17:16
对Xilinx系类的FPGA来说,对与这种频率相差较大的时钟切换有什么好方法吗。 ...


当然,我提出的对于Xilinx的FPGA不建议如一楼那样的方案来切换时钟的原因是因为:
对于FPGA来说,要保证时序性能,触发器的时钟必须由FPGA内的全局时钟缓冲器来驱动,也就是说,无论你怎么切换,最后都必须送入BUFGMUX驱动FPGA内的全局时钟布线资源后,才能用作触发器的时钟信号,而Xilinx的BUFGMUX本来就和一楼的方案有着非常类似的时钟切换电路,综上,对于Xilinx的FPGA来说,不建议自行如一楼那样采用FPGA内部的通用LUTs和FFs设计时钟切换电路

顺便附上一个我司CPCI/PXI模块的FPGA时钟切换方案,供大家参考。模块的上位机总线是PCI总线,此部分采用PCI总线的33MHz时钟,命名为SysClk,主体逻辑采用经过切换的板载晶振时钟或PXI背板时钟,命名为LocalClk,时钟切换可通过PCI BAR0的特定寄存器由上位机软件控制。如下图:


Okai_PXI-4021_DCM.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-10 20:07 , Processed in 0.035851 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表