前面分频器设计(一)和分频器设计(二)分别介绍了偶数和奇数分频(即整数分频),接下来本文介绍小数分频。


对于要求相位以及占空比严格的小数分频,建议采用模拟电路实现。而使用数字电路实现只能保证尽量均匀,在长时间内进行分频

在讨论小数分频之前,先问一个问题:设计中是否真的需要50%占空比的时钟?

在回答这个问题之前,可以先回顾之前我们写过的RTL设计,可以看一下之前的RTL设计代码中always块是不是大部分都是@(posedge clk)。对于绝大多数的触发器,其实只需要用到时钟的上升沿触发,很少用到下降沿。在这种情况下,只要上升沿和时钟频率有关系,什么时候来下降沿不重要!所以50%的占空比不是必须的

因此在小数分频器中我们关注的是如何得到一个尽量均匀的分频信号,而不是得到一个绝对50%占空比的分频信号。


下面以4.5倍的分频(非50%占空比)作为例子介绍,即每9个参考时钟包含2个对称脉冲。下面是4.5分频的设计步骤。

①:使用复位值为000000001的9位移位寄存器,可以在每个时钟上升沿使移位寄存器循环左移一位。

②:要产生第一个脉冲,必须使在半周期时移动第一位并将第一位与第二位进行或操作。

③:要产生第二个脉冲,第5位和第6位必须在半周期时移动并与原始第6位进行或操作。

注意:所有这些移位都是用来保证输出波形不含毛刺的必要条件。

上面产生的时钟占空比为40%,并且输出的时钟完全不含毛刺。

always@(posedge clk or negedge rst_n)  if(!rst_n)    cnt[9:1] <= 9'b000000001;  else    cnt[9:1] <= cnt[9:1] << 1;        always@(negedge clk or negedge rst_n)  if(!rst_n)begin    count1 <= 1'b0;    count5 <= 1'b0;    count6 <= 1'b0;  end  else begin    count1 <= cnt[1];    count5 <= cnt[5];    count6 <= cnt[6];    end  assign clkout = (cnt[6] | count5 | count6) |                 (cnt[0] | cnt[1] |count1);

微信公众号

建立了一个微信公众号“Andy的ICer之路”,此公众号主要分享数字IC相关的学习经验,文章主要在公众号上发,csdn会尽量同步更新,有兴趣的朋友可以关注一下!

分频器设计(三)小数分频相关推荐

  1. (95)分频器设计(偶数分频)

    (95)分频器设计(偶数分频) 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)分频器设计(偶数分频) 5)技术交流 6)参考资料 2 FPGA入门与提升课程介绍 1 ...

  2. (94)分频器设计(奇数分频)

    (94)分频器设计(奇数分频) 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)分频器设计(奇数分频) 5)技术交流 6)参考资料 2 FPGA入门与提升课程介绍 1 ...

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

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

  4. verilog将100mhz分频为1hz_50m 分频器设计——50MHZ(含verilog程序)

    50m 分频器设计--50MHZ(含verilog程序) 分频器设计 一.实验目的 1.熟悉分频器的原理: 2.掌握采用Verilog HDL语言设计分频器的方法: 3.进一步学习利用VerilogH ...

  5. verilog将100mhz分频为1hz_verilog—分频器设计

    常用分频器设计 (含 0.5hz . 1hz . 2hz . 100hz . 1khz . 100khz . 1MHZ ) 一. 原理图 二. 程序(输入频率为 50MHZ ) module divc ...

  6. verilog将100mhz分频为1hz_verilog—分频器设计 -

    常用分频器设计 (含0.5hz.1hz.2hz.100hz.1khz.100khz.1MHZ) 一. 原理图 二. 程序(输入频率为50MHZ) module divclk(clk,div05hz,d ...

  7. 4种FPGA时钟分频 【附源码】:1.偶数分频;2.奇数分频(占空比50%);3.奇数分频(任意无占空比);4.小数分频;

    题目来源于牛客网,完整工程源码:https://github.com/ningbo99128/verilog 目录 VL37 偶数分频 VL40 奇数分频(占空比50%) VL42 奇数分频(任意无占 ...

  8. FPGA设计开发(基础课题):分频器设计

    一.设计目的 1.掌握分频器的设计原理: 2.用HDL语言设计分频器. 二.设计原理 分频器与计数器类似,也是要对时钟脉冲进行计数,但其输出的不是对时钟脉冲个数的计数值,而是其频率与时钟的频率成固定比 ...

  9. 小数分频超详解+实例

    小数分频原理 在没有数字锁相环的情况下,要实现小数分频的方法是: 先设计两个不同分频比的整数分频器,然后通过控制两种分频比出现的不同次数来获得所需的小数分频值,从而实现平均意义上的小数分频. 假设我们 ...

最新文章

  1. 扫盲篇:用户体验不等于可用性
  2. maven根据profile动态选择配置文件
  3. in java中文版百度云 thinking_小程序订阅消息推送(含源码)java实现小程序推送,springboot实现微信消息推送...
  4. Numpy-矩阵的合并
  5. lamber表达式sql_lambda表达式转换sql
  6. 第三次学JAVA再学不好就吃翔(part43)--局部内部类访问局部变量
  7. 使用 vue-i18n 切换中英文
  8. 使用python game写一个贪吃蛇游戏
  9. Spring——IOC(控制反转)
  10. oracle数据库数据消失,,保存在数据库里的数据莫名其妙的消失
  11. 谈谈你对TCP三次握手和四次挥手的理解
  12. webstorm使用指南
  13. 单点登录原理及实现方式
  14. 电脑里有老版java删不掉,电脑上的一些文件老是删不掉怎么办 win7中经常出现一些文件夹删不掉...
  15. 视频用txt文件播放物联网
  16. ppt转换成pdf免费软件
  17. Linux中的split命令,文件切割
  18. 16.04编译android 7.0,[原创]使用ubuntu 16.04编译android-6.0.0_r1
  19. 互联网产品设计进阶(14)多一点设计,少一点代码
  20. 如何用 ffmpeg命令将avi视频转换为mp4

热门文章

  1. 项目众包 开源项目_在开源项目之前要问的4个问题
  2. java生成读取csv,从csv文件中获取Gatling
  3. gatling简单使用说明
  4. 迈德威视相机C#调用例程
  5. Java异步编程指南
  6. 你知道机器人奇点吗?机器人奇点问题应该如何解决?
  7. (C语言)求不重复的最长子串
  8. Spark 多维分析
  9. shell 免杀aspx_webshell免杀套路
  10. cf----2019-09-14(You Are Given a Decimal String...,XOR Guessing,Boxers)