IT评测·应用市场-qidao123.com

标题: 数字分频器设计(偶数分频、奇数分频、小数分频、半整数分频、状态机分频|v [打印本页]

作者: 徐锦洪    时间: 2023-5-14 10:25
标题: 数字分频器设计(偶数分频、奇数分频、小数分频、半整数分频、状态机分频|v
目录


数字IC经典电路设计
经典电路设计是数字IC设计里基础中的基础,盖大房子的第一部是打造结实可靠的地基,每一篇笔者都会分门别类给出设计原理、设计方法、verilog代码、Testbench、仿真波形。然而实际的数字IC设计过程中考虑的问题远多于此,通过本系列希望大家对数字IC中一些经典电路的设计有初步入门了解。能力有限,纰漏难免,欢迎大家交流指正。
快速导航链接如下:
个人主页链接
1.数字分频器设计
2.序列检测器设计
3.序列发生器设计
4.序列模三检测器设计
5.奇偶校验器设计
6.自然二进制数与格雷码转换
一、前言

作为IC设计中经典电路之一,数字分频器在IC(集成电路)设计中有广泛的应用。以下是数字分频器在IC设计中的一些应用:
时钟发生器:时钟发生器的原理是时钟分频,数字分频器可以用来将时钟信号分频为所需的频率。例如,如果需要一个1Hz的时钟信号,可以使用数字分频器将10Hz的时钟信号分频为1Hz,满足模块时序要求外还可以达到降低功耗的作用。时钟发生器是数字系统中非常重要的组件,你就说重不重要!
数字锁相环(DLL):数字分频器可以用于数字锁相环的设计中,以实现时钟的相位同步。在 IC 设计中,时钟同步是非常重要的一部分,因为时钟信号的稳定性和精度直接影响到整个系统的性能和可靠性。数字锁相环是数字系统中的一种重要的时钟同步技术之一。你就说重不重要!
数字频率合成器(DDS):数字分频器可以用于数字频率合成器的设计中,以产生所需的频率。在频率合成器中,数字分频器可以用于将高频信号分频为多个低频信号,然后通过DSP进行数字信号处理和合成,最终生成一个高频信号。虽然分频只能将高频分解成低频信号,但是与DSP结合可以合成高频信号。可分解高频信号亦可合成高频信号,你就说重不重要!
总之,数字分频器在IC设计中有广泛的应用。它是数字系统中重要的组件之一,可以实现各种复杂的数字信号处理和时钟同步技术。它是现代电子技术中不可或缺的一部分。所以掌握数字分频器的设计是十分重要的!
二、偶数分频

2.1 触发器级联法

采用触发器反向输出端连接到输入端的方式,寄存器级联法能实现2^N的偶数分频,具体是采用寄存器结构的电路,每当时钟上升沿到来的时候输出结果进行翻转,以此来实现偶数分频。
根据以上原理,可实现简单的 2 分频电路,以此为基础进行串联,可构成 4 分频和8 分频电路。电路结构如下图所示,用 Verilog 描述时只需使用简单的取反逻辑即可。

在此基础上可画出2分频、4分频、8分频电路的波形图(图由TimeGen绘制,该软件功能实用,推荐使用),如下图所示。

2分频设计:只需要使用基准时钟在第1个时钟周期输出高电平(或低电平),在第2个时钟周期输出相反电平。
同理,4分频设计:使用基准时钟在第1、2个时钟周期输出高电平(或低电平),在第3、4个时钟周期输出相反电平。
同理,8分频设计:使用基准时钟在第1、2、3、4个时钟周期输出高电平(或低电平),在第5、6、7、8个时钟周期输出相反电平。
2.2  计数器法

如果偶数分频系数过大或者寄存器级联法无法实现对应的分频,可以采用计数器法进行分频,计数器法可以实现任意偶数分频。在计数周期达到分频系数中间数值 (N/2-1) 时进行时钟翻转,可保证分频后时钟的占空比为 50%。
Tips:中间数值(N/2-1) 需要减1是因为从0开始计数
以六分频为例,电路需要实现的是:计数器从0开始计数至2,计数器到0时信号翻转,具体的时序图如下(图由TimeGen绘制,该软件功能实用,推荐使用)。

因为是偶数分频,只要对分频系数中间数值进行循环计数,在对应的地方让信号进行反转即可得到任意分频的分频器。
2.3 verilog代码

[code]//偶数分频电路设计(2分频、4分频、8分频、6分频)//触发器法实现2分频、4分频、8分频//计数器法实现6分频module clk_div_even(    input                 rst_n,                        //复位信号    input                 clk,                        //源时钟信号    output                 clk_div2,                //输出2分频    output                 clk_div4,                //输出4分频    output                 clk_div6,                //输出6分频    output                 clk_div8                //输出8分频    );//定义4个中间寄存器和1个计数器    reg         clk_div2_r;reg                 clk_div4_r;reg                 clk_div6_r;reg                 clk_div8_r;reg [3:0] cnt;//2分频时钟输出模块//源时钟上升沿触发,低电平异步复位always @(posedge clk or negedge rst_n) begin    if (!rst_n) begin                //低电平复位        clk_div2_r




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4