目录
题目
用verilog实现无毛刺时钟切换电路。
核心思路
0:无毛刺的时钟切换英文名叫:Glitch-free clock switching circuit
1:如果单纯的在sel高是选择clka输出,sel为低时选择clkb输出,那么很有可能在时钟切换的时刻出现毛刺,这甚至会导致电路故障。所以要进行专门的时钟切换电路的设计,保证电路切换中不会有毛刺的出现,这一根本原理在时钟切换过程中,要在原时钟和待切换时钟的低电平进行切换。
2:clk0和clk1是无关时钟,如何实现二者之间的一个无毛刺切换是接下来需要解决的问题?
先从最容易相当的设计说起:
可以使用纯组合逻辑来设计时钟切换电路,但是这种设计不可避免的产生毛刺:
如下,两种一个道理:
![]()
如何改进这种设