任意小数分频

任意小数分频

题目描述
请设计一个可以实现任意小数分频的时钟分频器,比如说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,一经查实,立即删除!

相关文章

Booting ARM Linux SMP on MPCore

http://www.linux-arm.org/LinuxBootLoader/SMPBoot

C++17标准制定完成

据Herb Sutter的博客所写&#xff0c;在美国夏威夷Kona举行的冬季会议上&#xff0c;ISO C标准委员会最终完成了C17标准的制定工作。下面对C17的主要特性做简要概括。\u0026#xD;\n\u0026#xD;\nKona会议的主要议程是解决来自一些国家机构的审查意见&#xff0c;并修复一些软件故…

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

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

REHL yum的配置(本地和centos源)

本地yum源设置&#xff0c;将yum源设置成本地RHEL镜像里面的Server&#xff0c;这样使用yum的时候就可以直接调用这里面的rpm&#xff0c; 1、挂载DVD镜像&#xff0c;并将命令写入/etc/rc.d/rc.local自启动 mkdir /media/RHELDVD mount -t iso9660 /dev/hdc /media/RHELDVD 2、…

无占空比的奇数分频

无占空比的奇数分频 题目描述&#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;陈羽凡购买了中地房地产开发有限公司位于北京东四十条华普花…

RHEL6.0使用centos的YUM更新源

1、卸载自身yum # rpm -aq|grep yum|xargs rpm -e --nodeps 2、安装 centos 的YUM rpm -ivh http://mirrors.163.com/centos/6.2/os/i386/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm rpm -ivh http://mirrors.163.com/centos/6.2/os/i386/Packages/yum-metadata-p…

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

根据状态转移写状态机-三段式 题目描述 如图所示为两种状态机中的一种&#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;美…

RHEL 6.0安装Qt

1、下载 qt-everywhere-opensource-src-4.8.6.tar.gz 一切按默认进行&#xff0c;默认安装路径:/usr/local/Trolltech/Qt-4.8.6 解压并安装&#xff1a; # tar -zxvf qt-everywhere-opensource-src-4.8.6.tar.gz # cd qt-everywhere-opensource-src-4.8.6 # ./configure # …

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

根据状态转移写状态机-二段式 题目描述 如图所示为两种状态机中的一种&#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;…

转的网络资料

Deep Learning&#xff08;深度学习&#xff09;&#xff1a; ufldl的2个教程(这个没得说&#xff0c;入门绝对的好教程&#xff0c;Ng的&#xff0c;逻辑清晰有练习)&#xff1a;一 ufldl的2个教程(这个没得说&#xff0c;入门绝对的好教程&#xff0c;Ng的&#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;看看你知道多少。什么叫子弹式贷款&#…