Verilog学习心得之一-----时钟无缝切换

本文深入探讨了Verilog中时钟切换的两种情况,包括相关时钟源和无关时钟源,并通过代码实例解释了如何实现无毛刺的时钟切换。在讨论中提到了时钟切换的潜在问题,如毛刺产生、采样边沿选择以及复位初始化值的影响,旨在帮助理解并优化时钟管理电路设计。
摘要由CSDN通过智能技术生成

本文讨论了时钟切换的两种基本情况以及两种基本电路结构,讨论了一些问题:

下图是一个时钟选择的简单实现以及时序图,使用AND-OR多路复用逻辑,其中SELECT信号为时钟选择信号,如图中所示,直接切换会产生毛刺(glitch)




时钟切换分为两种情况:(1)CLK0与CLK1为相关时钟源,即CLK0与CLK1成整数倍关系;(2)CLK0与CLK1之间没有关系;

(1)CLK0与CLK1为相关时钟源


(2)CLK0与CLK1为无关时钟源


时钟切换源代码:

`timescale 1ns/1ns
module clk_syn_tst (
                rst_n,
                clka, 
                clkb, 
                sel_clkb, 
                clk_o
                   );
input rst_n;
input clka;
input clkb;
input sel_clkb;

output clk_o;

reg    sel_clka_d0;
reg    sel_clka_d1;
reg    sel
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值