欢迎光临散文网 会员登陆 & 注册

VL64 时钟切换

2023-03-01 20:53 作者:潘潘潘潘c  | 我要投稿


说实话还是真正的面试题有含金量,时钟切换我学了这么久的IC其实都没怎么接触过,以为就是与一下,但是今天才发现会产生毛刺,如何不产生毛刺?

  1. 在时钟的下降沿切换,这样子比较稳定,并且不会在高电平切换导致周期不对

  2. 两个时钟之前用一个由sel控制的互斥电路,有clk0就没有clk1,这样子永远是先关闭一个,再打开一个,不会出现同时打开和关闭,导致glitch

  3. 如何产生互斥电路呢?,那就是下面这张图

可以看到控制clk1的sel会反馈!q0给q1前的组合逻辑,让其互斥,假设sel本来为1且稳定,此时sel变为0,当clk1的下降沿来,0传递到q0,关闭clk1,此时clk2还没打开,!q0传递到d1,等到clk2下降沿到了,此时打开clk2,实现时钟切换,当然如果sel是异步的,可以在前面加两级同步器防止亚稳态,具体代码非常简单,按照原理图写rtl


VL64 时钟切换的评论 (共 条)

分享到微博请遵守国家法律