文章目录

  • 前言
  • 占空比不为50%的奇数分频
  • 占空比为50%的5分频电路
  • 扩展

前言

前文我们讲到,可以通过计数器的方法实现偶数分频,实现方式可以参考4分频电路实现
那么对于奇数分频电路应该如何实现呢?是否也可以通过计数器实现呢?答案是肯定的。这里我们仍然采用计数器的方法实现奇数分频。

占空比不为50%的奇数分频

对于占空比不为50%的电路来说比较简单,这里我们以5分频电路为例。用计数器计数到1时翻转时钟信号,在计数到4时再翻转时钟。这样即可实现5分频电路,且占空比为60%,这里给出实现代码如下:

`timescale 1ns/1nsmodule tb();reg clk, rst;wire clk_out;nequal_div_5 dut(.clk(clk),.rst(rst), .clk_out(clk_out));initial begin clk <= 0;forever begin#5 clk <= !clk;endendinitial beginrst <= 0;repeat(2) @(posedge clk);rst <= 1;endinitial begin #500 $finish;endendmodule//no equal divided_5  and the duty cycle is 60%module nequal_div_5(input clk, input rst, output clk_out);reg clk_out;reg [3:0] cnt;always @(posedge clk or negedge rst) begin //count generateif (!rst) begincnt <= 0;end else if (cnt == 3'b100)begincnt <= 0;endelse cnt <= cnt + 1'b1;endalways @(posedge clk or negedge rst) begin  //clk dividedif (!rst) beginclk_out <= 0;endelse if (cnt == 1'b1) beginclk_out <= ~clk_out;endelse if (cnt == 3'b100) beginclk_out <= ~clk_out;endelse clk_out <= clk_out;endendmodule

仿真结果如下图:

占空比为50%的5分频电路

对于占空比没有要求的奇数分频实现方式当然简单,那么如何实现%50占空比的要求呢?这里我们在代码中声明了两个新的输出时钟寄存器,分别是clk_p和clk_n,clk_p在计数到2时翻转信号,而clk_n则是在时钟下降沿采样clk_p的值,然后将两者求或,即可得到满足我们要求的输出时钟clk_out
代码如下:

`timescale 1ns/1ns
module tb();
reg clk,rst;
wire clk_out;equal_div_5 dut(.clk(clk),.rst(rst), .clk_out(clk_out));//clk generate              initial beginclk <= 0;forever begin#5 clk <= !clk;end
end//rst signalinitial begin#10 rst <= 0;repeat(2) @(posedge clk);rst <= 1;end//finish signalinitial begin#500 $finish;
end
endmodulemodule equal_div_5(input clk, input rst, output clk_out);reg [2:0]cnt;reg clk_p;reg clk_n;wire clk_out;always @(posedge clk or negedge rst)//count modulebeginif (!rst) begin;cnt <= 0;endelse if (cnt == 3'b100) begincnt  <= 0;endelse begincnt <= cnt +1'b1;end
endalways @(posedge clk or negedge rst)//clk dividedbeginif (!rst) beginclk_p <= 0;endelse if (cnt == 3'b010) beginclk_p <= ~clk_p;end else if (cnt == 3'b100) beginclk_p <= ~clk_p;endelse clk_p <= clk_p;endalways @(negedge clk) beginclk_n <= clk_p;endassign clk_out = clk_n | clk_p;
endmodule

仿真结果可以看到电路的占空比为50%

扩展

同理,我们可以实现任意大小的奇数分频,且占空比为50%。即对于n分频电路,首先在(n-1)/2处进行信号翻转并把值赋给一个寄存器,然后在再其时钟下降沿检测这个寄存器的值,并赋值给另外一个寄存器,然后二者求或,结果就是最终的分频时钟的值。

奇数分频电路—5分频(verilog实现)相关推荐

  1. java双音频文件分频_分频电路作用,怎么来理解二分频电路?

    音箱的高中低频主要靠分频器来区分.分频器按分频频段可分二分频.三分频和四分频.二分频是将音频信号的整个频带划分为高频和低频两个频段:三分频是将整个频带划分成高频.中频和低频三个频段:四分频将三分频多划 ...

  2. FPGA分频电路实现(奇数,偶数,小数半分频,任意分频)

    https://blog.csdn.net/weixin_43950612/article/details/104687942(简介明了,奇数,偶数,小数,任意分频) http://www.myexc ...

  3. 【数字IC手撕代码】Verilog奇数分频|题目|原理|设计|仿真(三分频,五分频,奇数分频及特殊占空比)

    芯片设计验证社区·芯片爱好者聚集地·硬件相关讨论社区·数字verifier星球 四社区联合力荐!近500篇数字IC精品文章收录! [数字IC精品文章收录]学习路线·基础知识·总线·脚本语言·芯片求职· ...

  4. 一、verilog编写三分频电路

    1.目标:使用verilog编写三分频电路,要求占空比大小为50%. 2.方法:分别使用上升沿和下降沿计数cnt_p以及cnt_n,并且计数从0到N-1(N为分频的次数,此时为3):分别对clk_p以 ...

  5. 奇数偶数分频电路(占空比50%)

    数字电路中经常会遇到需要将时钟信号进行分频,一般分为奇数分频和偶数分频,同时对占空比的要求也不一样,常见的是需要保持占空比仍为50%.本文通过Verilog代码实现简单的分频电路.文末附上所有代码和仿 ...

  6. 数字分频器设计(偶数分频、奇数分频、小数分频、半整数分频、状态机分频|verilog代码|Testbench|仿真结果)

    数字分频器设计 一.前言 二.偶数分频 2.1 触发器级联法 2.2 计数器法 2.3 verilog代码 2.4 Testbench 2.5 仿真结果 三.奇数分频 3.1 占空比非50%奇数分频 ...

  7. 【Verilog HDL 训练】第 11 天(分频电路)

    设计一个占空比50%的三分频电路. 针对这个分频器,博文的末尾会给出一个反面教材,这是我上次写的一个分频器,看起来很好,其实是不能综合的.针对其中的错误,我令立博文记录之:[ Verilog ]alw ...

  8. n分频器 verilog_时钟分频系列——分数分频电路的Verilog实现

    IC君的第47篇原创文章 上一篇文章时钟分频系列--偶数分频/奇数分频/分数分频,IC君介绍了各种分频器的设计原理,其中分数分频器较为复杂,这一篇文章IC君再跟大家聊聊分数分频的具体设计实现. 一个分 ...

  9. Verilog实现之任意分频电路

    一.行波时钟 任意分频电路,相信很多人都听说过这个专业名词,好多视频上都说不建议使用计数器产生的分频时钟.其实在FPGA领域当中,由寄存器分频产生的时钟还有一个学名叫做,行波时钟.是由时序逻辑产生比如 ...

最新文章

  1. linux c不占用cpu的延时,linux下写个C语言程序,要求有0.5微秒以下的延时,要怎样写...
  2. MATLAB数字图像处理学习笔记
  3. 用了vscode和clion我都裂开了
  4. oraclr 和mysql的不同_Mysql和Oracle中的不同
  5. 60-100-032-使用-MySQL大小写敏感的解决方法
  6. 详解:离线项目一: 为什么大数据面前没有秘密
  7. mysq;多表查询 总结
  8. 字符串的排列组合问题
  9. 计算机专业英语2013单词翻译,计算机专业英语词汇翻译
  10. 计算机中word2007,Word中2007版在电脑里发现打不开的解决方法
  11. Win 10 + Ubuntu 18.04双系统 卸载Ubuntu
  12. 【转载】太阳天顶角 太阳高度角 太阳方位角
  13. 全程不用usb数据线,adb通过网络连接Android设备
  14. 基于STM32设计的UNO卡牌游戏(双人、多人对战)
  15. python模型保存与恢复_tensorflow1.0学习之模型的保存与恢复(Saver)_python
  16. 2020山师计算机考研专业目录,2020年山东师范大学全日制学硕招生目录-008文学院...
  17. 苹果的教育优惠怎么弄_京东苹果自营如何使用教育优惠!
  18. 【CIPS 2016】(1-3章)词法、句法、语义、语篇分析(研究进展、现状趋势)
  19. 【板栗糖GIS】win11提示无法成功操作 因为文件包含病毒
  20. 分享三个游戏源码下载网站

热门文章

  1. 界面设计中如何增强CTA按钮召唤力?
  2. 微信小程序反编译获取源码
  3. 春运大幕开启 福建铁路预计发送旅客1575万人次
  4. 图像处理之计算二值连通区域的质心
  5. Android模拟登录教务系统(强智系统)
  6. matlab 根轨迹 系统单位阶跃响应,二阶系统单位阶跃响应MATLAB仿真设计.doc
  7. Linux 解决无法清空回收站问题
  8. 如何购买一台云服务器
  9. android直接gpu中取纹理数据,[Android-Camera开发]Android平台Camera实时预览数据处理即实时滤镜实现方法探讨(二)--GPUImage探讨...
  10. 解读 2022 诺贝尔生理学或医学奖 | MedChemExpress