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

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

3天内不再提示

奇数分频器的设计

CHANBAEK 来源:Andy的ICer之路 作者:AndyICer 2023-03-23 15:06 次阅读

上一篇文章介绍了偶分频,今天来介绍一下奇数分频器的设计。

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

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

    关注

    1

    文章

    121

    浏览量

    23833
  • 分频器
    +关注

    关注

    43

    文章

    433

    浏览量

    49313
  • 分频
    +关注

    关注

    0

    文章

    237

    浏览量

    24731
  • 触发器
    +关注

    关注

    14

    文章

    1677

    浏览量

    60402
  • 代码
    +关注

    关注

    30

    文章

    4555

    浏览量

    66766
收藏 人收藏

    评论

    相关推荐

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

    奇数分频如何得到呢? 第一部分  奇数分频 奇数分频方法: N倍奇数分频,首先进行上升沿触发进行模N计数,计数到(N-1)/2时输出时钟翻转,同时进行下降沿触发的模N计数,计数到(
    的头像 发表于 12-28 15:49 2662次阅读

    如何实现一种占空比为50%的奇数分频器设计呢?

    在进行数字电路设计的过程中,分频器是设计中使用频率较高的一种基本设计之一
    的头像 发表于 11-07 17:29 971次阅读
    如何实现一种占空比为50%的<b class='flag-5'>奇数分频器</b>设计呢?

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

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

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

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

    FPGA实现小数分频器

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

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

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

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

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

    奇数分频器的介绍和实现

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

    关于奇数分频器

    第一步:分别使用原时钟上升沿和下降沿产生两个计数器(基于上升沿计数的cnt1和基于下降沿计数的cnt2),计数器在计数到2N时,计数器归零重新从零开始计数,依次循环
    发表于 08-22 09:54 646次阅读

    数分频器的设计

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

    数分频器的设计

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

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

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

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

    入门从简单开始,先来个三分频分析一下。三分频其实就是把输入时钟的三个周期当作一个周期,具体波形如图所示。
    的头像 发表于 06-05 16:57 811次阅读
    介绍一下<b class='flag-5'>奇数分频器</b>的设计

    FPGA学习-分频器设计

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