马春杰杰博客
致力于深度学习经验分享!

[mcj]使用FPGA实现任意分频、二分频

最新目录

分频

二分频应该是最简单的,就是每当检测到输入时钟的高电平时就将输出翻转一下就行了。

实例如下:

激励文件如下:

!!!在这里出现了一个问题,always @ (posedge clk or negedge reset) 如果这样写的话,就会报错Assignment under multiple single edges is not supported for synthesis 只有把negedge换成posege才行,目前还不知道为什么会这样。

三分频

三分频的思想就是通过一个计数器,当累积到一定的数量的时候,就让输出信号进行翻转。这里的3分频占空比不是50%,而是75%。

实例如下

下面这个是我自己写的三分频:

激励文件如下:

任意分频

偶分频N

仿照之前3分频,当计数器记到2的时候,进行翻转。为什么这样呢?因为0代表第一个上升沿,1代表第二个上升沿,2代表第三个上升沿,所以我们想3分频,就需要在第三个上升沿的时候进行翻转,即N分频,就需要在第N个上升沿的时候进行翻转。

实例如下:

激励文件如下:

奇分频N

下面是实例程序,还没有看

关于奇分频的原理,讲解上是这么说的:

实现奇数(N)分频,分别用上升沿计数到(N-1)/2,再计数到N-1;用下降沿计数到(N-1)/2,再计数到N-1,得到两个波形,然后把它们相或即可得到N分频。

任意的

最后一个是非常经典的,可以任意分频,只需要更改K的值即可。

下面是激励文件(只需要更改k的值即可,不过要注意寄存器的大小,不要超了):

赞(392) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《[mcj]使用FPGA实现任意分频、二分频》
文章链接:https://www.machunjie.com/hardware/82.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

:smile: :sad: :arrow: :cool: :confused: :cry: :eek: :evil: :exclaim: :idea: :lol: :mad: :mrgreen: :neutral: :question: :razz: :redface: :rolleyes: :surprised: :wink: :biggrin: :twisted: