上一篇文章介绍了偶分频,今天来介绍一下奇数分频器的设计。
入门从简单开始,先来个三分频分析一下。 三分频其实就是把输入时钟的三个周期当作一个周期,具体波形如图所示。 (本文只针对于占空比为50%的分析)
此处还是用计数器的方式完成设计,但是与偶分频有所区别。 因为奇数分频的频率与输入的时钟频率有相位差,因此需要增加一些信号完成设计。 clk_n是下降沿触发的信号,clk_p是上升沿触发的信号,通过计数并且因为不同的边沿触发而形成一定的相位差,并将两个信号进行或门处理,最后输出的就是奇数分频结果了。
缺点分析:奇数分频需要在两个触发器之后再加一个组合逻辑门,这个组合逻辑门不仅会增加时钟的延时,而且在设计当中可能出现毛刺。
具体的占空比为50%的任意奇数分频的代码如下所示。
`timescale 1ns/1psmodule clk_div #(parameter div_num=3)(input clk,input rst_n,output clk_out);//all odd divreg [4:0] cnt1,cnt2;reg clk_p,clk_n;always @(posedge clk,negedge rst_n)if(!rst_n) begincnt1 <= 0;clk_p <= 1'b0;endelse beginif(cnt1 == div_num-1) begincnt1 <= 0;clk_p <= clk_p;endelse begincnt1 <= cnt1 + 1'b1;if(cnt1 == ((div_num-1)/2)-1 || cnt1 == div_num-2)clk_p <= ~clk_p;endendalways @(negedge clk,negedge rst_n)if(!rst_n) begincnt2 <= 0;clk_n <= 1'b0;endelse beginif(cnt2 == div_num-1) begincnt2 <= 0;clk_n <= clk_n;endelse begincnt2 <= cnt2 + 1'b1;if(cnt2 == ((div_num-1)/2)-1 || cnt2 == div_num-2)clk_n <= ~clk_n;endendassign clk_out = clk_p | clk_n;
逆导晶闸管(RCT)是什么?
摩托车里程表可使用双极霍尔传感器AH402F,兼容SS360
Flash盘的FAT结构分析
电子标签辅助拣货系统在工业生产行业的未来可期
四通道RS-422差动线路驱动器,速率最高10Mbps,常用于电机编码器
奇数分频器的设计
江苏移动成功开通全球首个基于O-RAN架构的4G室分云基站
IGBT模块机械构造相关的电气特性参数
同惠LCR测试仪TH2817C+产品详解介绍
湖北电信抢抓进度,加速5G“新基建”
不只京东方AMOLED 四川已规划8条新型显示生产线
ABC三车齐驱,物联网发展将超出你的想象!
介绍一个飞向太空的RISC-V处理器
Avx推出可代替两个独立电容的多阳极电容
人工智能正从研究实验走向应用与生产 AI计算系统设计与优化愈发重要
WIFI无线网络技术详细分析
DAB DATA CHANNEL数据通道测试解决方案
认识电力系统中功率元器件的重要性
浅谈模数转换器(ADC)的时间交错
硅振荡器与晶体和陶瓷谐振器的对比及应用