任意小数分频

任意小数分频

题目描述
请设计一个可以实现任意小数分频的时钟分频器,比如说8.7分频的时钟信号
注意rst为低电平复位
提示:
其实本质上是一个简单的数学问题,即如何使用最小公倍数得到时钟周期的分别频比。
设小数为nn,此处以8.7倍分频的时钟周期为例。
首先,由于不能在硬件上进行小数的运算(比如2.1个时钟这种是不现实的,也不存在3.3个寄存器),小数分频不能做到分频后每个时钟周期都是源时钟的nn倍,也无法实现占空比为1/2,因此,考虑小数分频,其实现方式应当为53个clkout时钟周期是10个clkin时钟周期的8.7倍。

信号示意图:
在这里插入图片描述
题目解读
其实本质上是一个简单的数学问题,即如何使用最小公倍数得到时钟周期的分别频比。
设小数为nn,此处以8.7倍分频的时钟周期为例。

首先,由于不能在硬件上进行小数的运算(比如2.1个时钟这种是不现实的,也不存在3.3个寄存器),小数分频不能做到分频后每个时钟周期都是源时钟的nn倍,也无法实现占空比为1/2,因此,考虑小数分频,其实现方式应当为87个clkout时钟周期是10个clkin时钟周期的8.7倍。

所以很简单,根据提示,我们可以进行如下假设:首先设置有两个整数分频电路,一个是奇数一个是偶数,设其分频比为a和b,然后其分别的时钟占N/M个周期。则我们可以得到:
aN+bM = 87
N+M = 10
如果使用 8 和 9分频,则有:
8N+9M = 87
N+M = 10
因此 M为7, N为3。

具体步骤:
1)设计一个计数次数87的计数器,即0-86
2)分别生成8分频和9分频的计数器,计数次数分别为0-6和0-2
3)输出波形根据总计数器和8、9分频计数器的数值控制输出脉冲翻转

`timescale 1ns/1nsmodule div_M_N(input  wire clk_in,input  wire rst,output wire clk_out
);
parameter M_N = 8'd87; 
parameter c89 = 8'd24; // 8/9时钟切换点
parameter div_e = 5'd8; //偶数周期
parameter div_o = 5'd9; //奇数周期reg [6:0] cnt;
reg [3:0] cnt_e;
reg [3:0] cnt_o;
reg clk_MN;
assign clk_out = clk_MN;//总计数器
always @(posedge clk_in or negedge rst) beginif(!rst)cnt <= 6'b0;else beginif(cnt == M_N - 1'b1)cnt <= 6'b0;elsecnt <= cnt + 1'b1;end 
end always @(posedge clk_in or negedge rst) begin if(!rst) begincnt_e <= 4'b0;cnt_o <= 4'b0;end else if(cnt<=c89-1'b1) begincnt_o <= 4'd0;if(cnt_e == div_e - 1'b1)cnt_e <= 4'd0;elsecnt_e <= cnt_e + 1'b1;end else if(cnt>c89-1'b1) begincnt_e <= 4'd0;if(cnt_o == div_o - 1'b1)cnt_o <= 4'd0;elsecnt_o <= cnt_o + 1'b1;end
endalways @(posedge clk_in or negedge rst) beginif(!rst)clk_MN <= 1'b0;else beginif(cnt<c89) beginif(cnt_e == 4'd0 || cnt_e == div_e/2)clk_MN <= ~clk_MN;endif(cnt>=c89) beginif(cnt_o == 4'd0 || cnt_o == (div_o - 1'b1)/2)clk_MN <= ~clk_MN;endend 
endendmodule

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/243054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不是每一个缺钱的人都能贷款!

有没有那么一刻&#xff0c;你会觉得无助和绝望&#xff0c;感受到了人性的冷淡&#xff0c;仿佛整个人生都进入了寒冬&#xff1f;答&#xff1a;借钱&#xff01;绝大多数人都知道&#xff0c;借钱二字&#xff0c;只要说出口&#xff0c;无论多亲近的人都会产生隔阂。因为&a…

无占空比的奇数分频

无占空比的奇数分频 题目描述&#xff1a; 请设计一个同时输出5分频的时钟分频器&#xff0c;本题对占空比没有要求 注意rst为低电平复位 信号示意图&#xff1a; timescale 1ns/1nsmodule odd_div ( input wire rst ,input wire clk_in,output wire clk_out5…

这些明星日入斗金,为什么还要贷款?

白百何出轨了&#xff0c;他们夫妻两长期分居&#xff0c;据说陈羽凡为了生活费豁出去&#xff0c;抵押房子贷了几百万。看来陈羽凡对贷款也是蛮在行的&#xff0c;据媒体报道&#xff0c;早在2000年10月&#xff0c;陈羽凡购买了中地房地产开发有限公司位于北京东四十条华普花…

根据状态转移写状态机-三段式

根据状态转移写状态机-三段式 题目描述 如图所示为两种状态机中的一种&#xff0c;请根据状态转移图写出代码&#xff0c;状态转移线上的0/0等表示的意思是过程中data/flag的值。 要求&#xff1a; 1、 必须使用对应类型的状态机 2、 使用三段式描述方法&#xff0c;输出判断…

马云有自己的银行,为什么还要贷款?

小伙伴们&#xff0c;你们只知道你们的马云爸爸很有钱&#xff0c;阿里巴巴家大业大&#xff0c;可是你们可能不知道&#xff0c;你们的马云爸爸可是一个贷款狂人。我们先来晒一晒阿里巴巴在2016年的业绩。2016 年阿里的电商平台成交额突破3万亿大关&#xff0c;达到 3.092 万亿…

揭穿现金贷的真实面目

自从P2P网贷近两年开始猖狂盛行&#xff0c;在央行对消费金融的一系列规范和整顿后&#xff0c;又出现了新的消费金融名词——现金贷。现金贷&#xff0c;在美国称Payday loan&#xff08;发薪日贷款&#xff09;&#xff0c;一般指7-30天&#xff0c;1000元以下&#xff08;美…

根据状态转移写状态机-二段式

根据状态转移写状态机-二段式 题目描述 如图所示为两种状态机中的一种&#xff0c;请根据状态转移图写出代码&#xff0c;状态转移线上的0/0等表示的意思是过程中data/flag的值。 要求&#xff1a; 1、 必须使用对应类型的状态机 2、 使用二段式描述方法 注意rst为低电平复位…

提前还清贷款为什么还要付违约金?

大家在签贷款合同的时候有没有注意到一个条例&#xff0c;就是违约条例&#xff0c;违约条例包括提前还款等&#xff0c;一般贷款合同对提前还钱都会有书面规定要交多少违约金&#xff0c;一般是按剩余未还金额的1%—5%收取&#xff0c;不同的公司收取的比例不一样。对于房贷来…

借呗逾期是如何催收的?

没钱怎么办&#xff1f;借呗在手&#xff0c;说有就有&#xff01;借呗的推出确实方面了很多人&#xff0c;让贷款变得更加简便快捷&#xff0c;让原本难搞的贷款走进了千家万户。据阿里巴巴官方数据显示&#xff0c;借呗推出10个月&#xff0c;已经累积放款3000亿&#xff0c;…

17家银行工资单:招行人均45万夺冠

从目前披露的17家银行年报来看&#xff0c;相比2015年&#xff0c;2016年这17家银行的员工共减少了8540名&#xff0c;减幅仅有0.39%&#xff0c;非常有限。而薪酬则是有增无减&#xff0c;上述17家银行去年员工薪酬总支出达到2020.8亿元&#xff0c;上升0.7%。2016年“最佳好雇…

贷款必看:如何信审电话才能提高贷款通过率?

信审是贷款不可避免的一个环节&#xff0c;不论是抵押贷款还是信用贷款&#xff0c;都会涉及到信审&#xff0c;有的信审可能是当面谈&#xff0c;有的信审是通过电话来沟通&#xff0c;信审也是影响贷款能否顺利放款的重要一环&#xff0c;稍有不慎&#xff0c;甚至有可能直接…

信用卡如何安全取现?

信用卡有一个功能那就是取现&#xff0c;取现可以解决短期内急用钱问题&#xff0c;而且简单快速高效&#xff0c;是个不错的功能。但是信用卡取现不仅费用高&#xff0c;而且也是有一定的风险&#xff0c;稍不小心就会被银行冻结卡片或销卡&#xff0c;因此对于经常取现的朋友…

格雷码计数器

格雷码计数器 题目描述 实现4bit位宽的格雷码计数器。 电路的接口如下图所示 题目解读 格雷码计数器&#xff0c;分为三部分进行设计&#xff0c;格雷码转二进制、加法器、二进制转格雷码。 格雷码转二进制将格雷码转换为二进制&#xff0c;并将值输出用于加法器进行加法运算…

这些贷款冷知识你知道多少?

贷款是一门学问&#xff0c;说起来简单&#xff0c;但是实际上还是比较深奥的&#xff0c;有些信贷经理虽然长期在信贷行业摸爬滚打&#xff0c;但对于一些知识不一定了解&#xff0c;今天我们就来看看贷款行业的一些冷知识&#xff0c;看看你知道多少。什么叫子弹式贷款&#…

拉格朗日插值拟合

pre define typedef struct Operators {std::vector<float> Operatos;}Operators;// 定义一个点 class PointF { public:PointF(){X Y 0.0f;}PointF(IN const PointF &point){X point.X;Y point.Y;}PointF(IN float x,IN float y){X x;Y y;}PointF operator(IN…

多bit MUX同步器

多bit MUX同步器 题目描述 在data_en为高期间,data_in将保持不变,data_en为高至少保持3个B时钟周期。表明,当data_en为高时,可将数据进行同步。 本题中data_in端数据变化频率很低,相邻两个数据间的变化,至少间隔10个B时钟周期。 电路的接口如下图所示。端口说明如下表所…

鲶鱼效应:为什么要适当的贷款?

说到鲶鱼效应&#xff0c;估计大家并不陌生。挪威人喜欢吃沙丁鱼&#xff0c;尤其是活鱼。市场上活鱼的价格要比死鱼高许多。所以渔民总是想方设法的让沙丁鱼活着回到渔港。可是虽然经过种种努力&#xff0c;绝大部分沙丁鱼还是在中途因窒息而死亡。但却有一条渔船总能让大部分…

哪些行为会影响个人征信?

征信大家都知道它的重要性&#xff0c;可是很多人并不知道什么行为会影响个人征信。很多不良征信都是在不经意之间造成的。个人征信报告样式虽然个人征信有时候无意造成不良记录&#xff0c;但是金融机构看征信只看结果&#xff0c;不看你的过程&#xff0c;一旦出现不良征信&a…

脉冲同步电路

脉冲同步电路 题目解析 从A时钟域提取一个单时钟周期宽度脉冲,然后在新的时钟域B建立另一个单时钟宽度的脉冲。 A时钟域的频率是B时钟域的10倍;A时钟域脉冲之间的间隔很大,无需考虑脉冲间隔太小的问题。 电路的接口如下图所示。data_in是脉冲输入信号,data_out是新的脉冲信…

贷款审批到底会考核哪些内容?

经常贷款的朋友应该知道&#xff0c;贷款看着简单&#xff0c;其实要经过层层的审核程序&#xff0c;有时候明明觉得自己的条件还不错&#xff0c;可是贷款审批结果要么是直接被拒贷&#xff0c;要么就是额度很低。那贷款到底会审核哪些内容呢&#xff1f;下面我们就来看看。以…