0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

介绍一下奇数分频器的设计

冬至子 来源:Andy的ICer之路 作者:AndyICer 2023-06-05 16:57 次阅读

入门从简单开始,先来个三分频分析一下。三分频其实就是把输入时钟的三个周期当作一个周期,具体波形如图所示。(本文只针对于占空比为50%的分析)

图片

此处还是用计数器的方式完成设计,但是与偶分频有所区别。因为奇数分频的频率与输入的时钟频率有相位差,因此需要增加一些信号完成设计。

clk_n是下降沿触发的信号,clk_p是上升沿触发的信号,通过计数并且因为不同的边沿触发而形成一定的相位差,并将两个信号进行或门处理,最后输出的就是奇数分频结果了。

缺点分析:奇数分频需要在两个触发器之后再加一个组合逻辑门,这个组合逻辑门不仅会增加时钟的延时,而且在设计当中可能出现毛刺。

具体的占空比为50%的任意奇数分频的代码如下所示。

`timescale 1ns/1ps
module CLK_DIV #(parameter DIV_NUM=3)(
    input clk,
    input rst_n,
    output clk_out
    );



  //all odd div
  reg [4:0] cnt1,cnt2;
  reg clk_p,clk_n;

  always @(posedge clk,negedge rst_n)
  if(!rst_n) begin
    cnt1 <= 0;
    clk_p <= 1'b0;
  end
  else begin
    if(cnt1 == DIV_NUM-1) begin
      cnt1 <= 0;
      clk_p <= clk_p;
    end
    else begin
    cnt1 <= cnt1 + 1'b1;
    if(cnt1 == ((DIV_NUM-1)/2)-1 || cnt1 == DIV_NUM-2)
      clk_p <= ~clk_p;
    end
  end

  always @(negedge clk,negedge rst_n)
    if(!rst_n) begin
      cnt2 <= 0;
      clk_n <= 1'b0;
    end
  else begin
    if(cnt2 == DIV_NUM-1) begin
      cnt2 <= 0;
      clk_n <= clk_n;
    end
  else begin
    cnt2 <= cnt2 + 1'b1;
    if(cnt2 == ((DIV_NUM-1)/2)-1 || cnt2 == DIV_NUM-2)
      clk_n <= ~clk_n;
    end
  end

  assign clk_out = clk_p | clk_n;
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 分频器
    +关注

    关注

    43

    文章

    447

    浏览量

    49876
  • 计数器
    +关注

    关注

    32

    文章

    2256

    浏览量

    94476
  • 触发器
    +关注

    关注

    14

    文章

    2000

    浏览量

    61132
  • 输入时钟
    +关注

    关注

    0

    文章

    3

    浏览量

    7255
  • CLK
    CLK
    +关注

    关注

    0

    文章

    127

    浏览量

    17158
收藏 人收藏

    评论

    相关推荐

    奇数分频如何得到呢? 解读奇数分频和逻辑分析仪(ILA)的使用

    前言: 偶数分频容易得到:N倍偶数分频,可以通过由待分频的时钟触发计数计数,当计数从0计数到N/2-1时,输出时钟进行翻转,并给计数
    的头像 发表于 12-28 15:49 2942次阅读

    基于FPGA的任意数值分频器的设计

    【摘要】:介绍了基于FPGA的任意分频系数的分频器的设计,该分频器能实现分频系数和占空比均可以调节的3类
    发表于 04-26 16:09

    需要讲解个占空比50%的奇数分频器的原理

    本帖最后由 haozix521 于 2013-10-4 20:42 编辑 想做个占空比50%的奇数分频器,但是不是很了解这其中的意思。网上的资料都是这样讲的“对于实现占空比为50%的N倍奇数分频
    发表于 10-04 20:35

    基于FPGA 的等占空比任意整数分频器的设计

    基于FPGA 的等占空比任意整数分频器的设计 给出了种基于FPGA 的等占空比任意整数分频电路的设计方法。首先简要介绍了FPGA 器件的特点和应用范围, 接着讨论了
    发表于 02-22 14:22 39次下载

    FPGA实现小数分频器

    介绍种基于FPGA的双模前置小数分频器分频原理及电路设计,并用VHDL编程实现分频器的仿真.
    发表于 11-29 16:43 48次下载
    FPGA实现小<b class='flag-5'>数分频器</b>

    用Verilog实现基于FPGA的通用分频器的设计

    用 Verilog实现基于FPGA 的通用分频器的设计时钟分频包括奇数和偶数分频
    发表于 07-14 11:32 46次下载

    文解析主动分频器和被动分频器的优缺点

    本文首先介绍分频器的分类及电子分频器的工作原理,其次介绍了主动分频器的优缺点,最后介绍了被动
    的头像 发表于 05-28 14:52 5w次阅读

    分频器的作用是什么 半整数分频器原理图分析

    分频器主要分为偶数分频奇数分频、半整数分频和小数分频,如果在设计过程中采用参数化设计,就可以随时改变参量以得到不同的
    发表于 02-01 01:28 1.7w次阅读
    <b class='flag-5'>分频器</b>的作用是什么 半整<b class='flag-5'>数分频器</b>原理图分析

    奇数分频器介绍和实现

    因为偶数分频器过于简单,所以我们从奇数分频器开始说起8 01 奇数分频器     假设我们要实现个2N+1分频
    的头像 发表于 03-12 15:44 6444次阅读
    <b class='flag-5'>奇数分频器</b>的<b class='flag-5'>介绍</b>和实现

    数分频器的设计

    所谓“分频”,就是把输入信号的频率变成成倍数地低于输入频率的输出信号。数字电路中的分频器主要是分为两种:整数分频和小数分频。其中整数分频又分
    的头像 发表于 03-23 15:06 1840次阅读
    偶<b class='flag-5'>数分频器</b>的设计

    奇数分频器的设计

    篇文章介绍了偶分频,今天来介绍一下奇数分频器的设计。
    的头像 发表于 03-23 15:06 1071次阅读
    <b class='flag-5'>奇数分频器</b>的设计

    数分频器的设计

    前面分别介绍了偶数和奇数分频(即整数分频),接下来本文介绍数分频
    的头像 发表于 03-23 15:08 1148次阅读
    小<b class='flag-5'>数分频器</b>的设计

    数分频奇数分频、半整数分频和小数分频详解

    初学 Verilog 时许多模块都是通过计数与分频完成设计,例如 PWM 脉宽调制、频率计等。而分频逻辑往往通过计数逻辑完成。本节主要对偶数分频奇数分频、半整
    的头像 发表于 03-29 11:38 4959次阅读
    偶<b class='flag-5'>数分频</b>、<b class='flag-5'>奇数分频</b>、半整<b class='flag-5'>数分频</b>和小<b class='flag-5'>数分频</b>详解

    基于Verilog的分数分频电路设计

    篇文章时钟分频系列——偶数分频/奇数分频/分数分频,IC君介绍了各种
    的头像 发表于 04-25 14:47 1798次阅读
    基于Verilog的分<b class='flag-5'>数分频</b>电路设计

    FPGA学习-分频器设计

    是用于满足设计的需求。 分频:产生比板载时钟小的时钟。 倍频:产生比板载时钟大的时钟。 二:分频器的种类 对于分频电路来说,可以分为整数分频和小数分
    的头像 发表于 11-03 15:55 1905次阅读
    FPGA学习-<b class='flag-5'>分频器</b>设计