Verilog设计思路05——时钟动态切换

一、Verilog时钟切换

1、时钟切换问题

直接采用选择逻辑对时钟进行切换的电路如下图:
在这里插入图片描述
如果时钟选择信号sel_clk1与两个时钟都是异步的,则就会产生glitch
在这里插入图片描述

2、时钟切换方案

在两个电平相反的时候切换时钟,肯定会有毛刺,电平相同的时候,即使不产生毛刺,时钟切换后的第一个时钟周期占空比也是不理想的,所以,为避免毛刺,需要在两个时钟都为低电平的时候进行时钟切换。
一种典型的时钟切换电路:
在这里插入图片描述
该电路利用时钟下降沿对时钟选择信号sel_clk1进行缓冲,同时一个时钟选择信号对另一个时钟进行反馈控制,保证用一时刻只能一路时钟有效。最后采用“或操作”将两路时钟合并,完成时钟切换过程。
在这里插入图片描述
考虑到选择信号可能是异步信号,则需要在时钟选择信号的缓存寄存器之前加两级触发器进行同步处理,来减少亚稳态的传播,结构如下:
在这里插入图片描述

源码见附件:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逻辑森林

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值