D@TOC
时钟切换电路
1.有毛刺的时钟切换电路
如图所示,这个时钟切换电路是一个纯组合逻辑,输出时钟(OUT CLOCK)由选择信号(SELECT)控制,当SELECT为1时输出CLK1,反之,输出CLK0.
对上图的Verilog描述:
assign outclk = (clk1 & select) | (~select & clk0);
但是,这种设计会在时钟切换时产生毛刺,波形图如下:
Q:这种设计为什么会产生毛刺呢?
A:选通信号select可以随时改变,因此产生斩波输出时钟或在输出端产生毛刺的可能性。也就是说,当select拉高时,输出时钟立刻发生变化。此时out_clk会选择clk1,而此时clk1仍然为低,就会产生一小段毛刺。 当选择信号sel发生变化时,这样纯组合逻辑输出得到的clk_out就完全有可能会产生毛刺,所以需要改进电路 。