FPGA面试题【Verilog实现无毛刺时钟切换】

目录

题目

核心思路

答案

FPGA全貌

题目

用verilog实现无毛刺时钟切换电路。

核心思路

0:无毛刺的时钟切换英文名叫:Glitch-free clock switching circuit

1:如果单纯的在sel高是选择clka输出,sel为低时选择clkb输出,那么很有可能在时钟切换的时刻出现毛刺,这甚至会导致电路故障。所以要进行专门的时钟切换电路的设计,保证电路切换中不会有毛刺的出现,这一根本原理在时钟切换过程中,要在原时钟和待切换时钟的低电平进行切换。


2:

clk0和clk1是无关时钟,如何实现二者之间的一个无毛刺切换是接下来需要解决的问题?

先从最容易相当的设计说起:

可以使用纯组合逻辑来设计时钟切换电路,但是这种设计不可避免的产生毛刺:

如下,两种一个道理:

 

如何改进这种设计呢?

相关时钟源的时钟切换电路:

 从前面组合逻辑时钟切换电路的设计,我们得出的切换波形如上:

可见,会产生毛刺,而产生毛刺的原因在于sel信号改变的位置没有和需要切换的时钟对齐。

如何改进这种问题呢?

我们可以用当前时钟的下降沿来采样(sel与反馈的输出相与的结果),可以简单地理解为采样sel信号。具体的设计如下:

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值