Verilog实现偶数、奇数、半整数、分数(小数)分频,画电路图用D触发器实现分频

本文详细介绍了如何使用Verilog实现偶数、奇数、半整数及分数(小数)分频,通过D触发器构建分频器,并提供了具体的设计原理和Verilog代码示例。对于奇数分频,通过延迟技巧实现了50%占空比,而分数分频则通过整数部分和小数部分的组合分频实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.偶数分频

2.奇数分频

3.半整数分频

4.分数(小数)分频

参考资料:


通常我们说对原时钟进行N分频,即分频后的时钟的一个周期是原时钟周期的N倍。N可以为偶数、奇数、半整数、分数(小数)。

1.偶数分频

Verilog:N为偶数,使用一个计数器循环0-(N-1)进行计数,在N/2-1与N-1分别将输出取反,即完成了N分频。

若果采用D触发器画出分频器,单个D触发器的反向输出到输入就构成了一个简单的2分频器,以此为基础,其分频输出作为下一级D触发器的时钟,如此串联起来,x个串联就是2^x分频,属于偶数分频,如图1[1].

图1 用D触发器分频

2.奇数分频

Verilog:N为奇数,使用一个计数器循环0-(N-1)进行计数,控制(N-1)/2个高电平,(N+1)/2个低电平,称为A;然后将此A电平信号延迟半个时钟周期称为B,最后输出C = A|B,即为占空比为50%的奇数分频器。另一种方案是(N+1)/2个高电平,(N-1)/2个低电平,那么最后输出C=A&B。
以C = A|B为例,将A延时半个时钟周期的方法有2种,方法1是直接使用下降沿的锁存器对A锁存得到B,方法2得到B的原理与A相同,不过是在下降沿检测(假设A是上升沿检测)。

图2 奇数分频波形

采用D触发器的话,采用方法1,用一个下降沿的D触发器锁存A=clkp1得到信号B=clkn1,把信号A和信号B做逻辑“与”就得到了占空比50%的分频时钟信号clkout[1]。

图3奇数分频
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值