首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏数字IC经典电路设计

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

    T = ( Ma+(M+1)b )/ a+b,这里我们发现组成小数分频使用了a个M分频和b个M+1分频整数分频电路。 五、整数分频 5.1 占空比50%整数分频 对于使用小数分频法得到的,以3.5分频为例,需要使用一个四分频和一个三分频,七个周期内,输出两个1,但是信号时序难以得到保障,时钟信号的质量得不到保证。 那有没有新的方法可以优化整数分频呢? 可以这样实现整数分频: (1)在源时钟上升沿分别产生由 4 个和 3 个源时钟周期组成的 2 个分频时钟。 整数分频整数分频小数分频的特殊情况,之所以会拎出来单独讲,是因为根据小数分频的双模前置法做出来的波形时序较差。如果需要得50%的整数分频怎么办? 首先做出两个上升沿和下降沿二分频信号,通过在整数两边寻找相邻的的奇数和偶数(决定信号电平周期数),然后做逻辑运算即可以得到占空比50%的整数分频

    11.5K40编辑于 2023-05-18
  • 来自专栏FPGA探索者

    Verilog笔记——奇数分频小数分频

    偶数分频 简单,只是注意时钟翻转的条件是(N/2)还是(N/2)-1,非阻塞赋值在下一个时钟才会更新值。 2. 奇数分频 奇数分频比偶数分频复杂一些,当不要求分频的占空比时,对输入时钟clk上升沿计数,可以设置两个计数的翻转点,一个是(N-1)/2,一个是(N-1),计数到(N-1)时输出时钟翻转且将计数器清零 以7分频为例,代码如下: /******************************************** 计数器实现 7 分频 ********************* ); reg [2:0] count_p; //上升沿计数 reg [2:0] count_n; //下降沿计数 reg clk_p; //上升沿分频 小数分频 N+0.5分频,如N=3时进行3.5分频。 先将clk时钟周期的一记作clk_half,即一个高电平或一个低电平时间。

    1.1K30发布于 2021-03-15
  • 来自专栏FPGA开源工作室

    Verilog实现偶数、奇数、整数、分数(小数分频,画电路图用D触发器实现分频

    通常我们说对原时钟进行N分频,即分频后的时钟的一个周期是原时钟周期的N倍。N可以为偶数、奇数、整数、分数(小数)。 clk_c : clk_a; endmodule 3 整数分频 说明:占空比非50% 网上广为流传的一种分频结果是,半分频多出来那半个周期为高电平,其余为低电平。 图4整数分频的波形 给出Verilog设计: module for_practice( input clk, input arst, output clk_div ); parameter 参考[3] 4分数(小数分频 此部分主要参考[1][2]. 说明:占空比非50% 比如8.7分频。 分数分频器的原理可以用下图来概括。 ? 图5分数分频的原理 用整数部分zn(=8)作为一个分频系数,zn加1(=9)作为另外一个分频系数组成一个小数分频器。

    4.3K10发布于 2020-03-06
  • 来自专栏FPGA探索者

    笔试 | Verilog分频器代码——50%占空比奇数分频、0.5型小数分频

    偶数分频 简单,只是注意时钟翻转的条件是(N/2)还是(N/2)-1,非阻塞赋值在下一个时钟才会更新值。 2. 奇数分频 奇数分频比偶数分频复杂一些,当不要求分频的占空比时,对输入时钟clk上升沿计数,可以设置两个计数的翻转点,一个是(N-1)/2,一个是(N-1),计数到(N-1)时输出时钟翻转且将计数器清零 以7分频为例,代码如下: /******************************************** 计数器实现 7 分频 ******************** ); reg [2:0] count_p; //上升沿计数 reg [2:0] count_n; //下降沿计数 reg clk_p; //上升沿分频 小数分频 N+0.5分频,如N=3时进行3.5分频。 先将clk时钟周期的一记作clk_half,即一个高电平或一个低电平时间。

    3.2K30编辑于 2022-05-26
  • 来自专栏瓜大三哥

    整数分频模块

    整数分频模块有两种实现方法,分别为分频比交错法和累加器分频法。下面分别进行介绍。 1.分频比交错法 分频比交错法,顾名思义就是在一定时间间隔T内,由不同的分频比电路交叉着对输入信号进行分频,从而在T时间内达到小数分频的目的。 假设要实现8.666666分频,则可以以6次分频为一个周期,每个周期内进行2次9分频和4次8分频,这样,输出F_OUT均为F_IN的8.666666分频,该类分频器的程序结构如图所示。 在这种方法中,为使分频输出信号的占空比尽可能均匀,8分频9分频应交替进行。 ? 2.累加器分频法 累加器分频法的结构如图所示,通过调整步长STEP 的值来实现不同的分频比。假设累加器位数为8,则累加器的模值N为28=256。若STEP=27,则分频比K为: ?

    1.1K81发布于 2018-02-24
  • 来自专栏数字IC小站

    【005】数字IC笔面试常见题

    代码核心如下: 偶数分频 偶数分频器的实现简单,用计数器在上升沿或者下降沿计数,当计数器的值等于分频系数的一或等于分频系数时,信号翻转。 奇数分频 奇数分频器跟偶数分频器一样,当计数器的值等于分频系数(加1或者减1)的一或等于分频系数时,时钟信号翻转。 分数分频 分数分频也叫小数分频器,比如8.7分频。 分数分频器的原理可以用下图来概括。 用整数部分zn(=8)作为一个分频系数,zn加1(=9)作为另外一个分频系数组成一个小数分频器。 小数分频是达不到50%的占空比的。

    61910编辑于 2022-08-26
  • 来自专栏OpenFPGA

    UltraScale时钟资源和时钟管理模块

    预触发器D,用于降低输入时钟的频率,然后将其送入相位/频率比较器;反馈分频器M,由于在将它送给相位比较器之前,其将VCO的输出频率进行分频,所以其充当乘法器的角色。 可以在配置时,对每个分频器进行编程,分频因子为1~128中的任意整数。 MMCM有3个输入抖动过滤器选项:低带宽、高带宽和优化模式;其中: (1)低带宽模式有最好的抖动衰减。 MMCM也有一个小数计数器,它位于反馈路径(充当乘法器)或者输出路径。小数计数器允许非整数的1/8增量。因此,增加频率合成能力8倍。 7系列FPGA中,时钟区域的宽度(水平方向)为芯片宽度的一,而UltraScale不再有这种限制。 BUFGCE_DIV具有分频功能,对于简单的分频,相比于MMCM/PLL,BUFGCE_DIV在功耗上更具优势,而且如果分频时钟和源时钟有跨时钟域路径,那么相应的Clock Skew会更小。

    3.8K10发布于 2021-09-07
  • 来自专栏FPGA探索者

    【收藏】FPGA数字IC刷题58个Verilog代码及讲解(状态机、跨时钟、同步异步FIFO、DMUX、奇数小数分频

    24to128 VL9整数倍数据位宽转换8to12 VL10 整数倍数据位宽转换8to16 VL11 非重叠的序列检测 VL12 重叠序列检测 VL13 时钟分频(偶数) VL14 自动贩售机1 VL15 自动贩售机2 VL16 占空比50%的奇数分频 VL17 任意小数分频(8.7分频) VL18 无占空比要求的奇数分频 VL19 根据状态转移写状态机-三段式 VL20 根据状态转移写状态机-两段式 7 分频,50% 占空比。 d6 ) begin clk_n <= ~clk_n; end end end assign clk_out7 = clk_p | clk_n; endmodule VL17 任意小数分频 下方给出的代码能够通过测试,5分频,占空比40%,简单易理解。

    4K60编辑于 2022-11-01
  • AD9528的时钟分布特性

    分频器的占空比校正设置为提供标称50%的占空比,即使进行奇数分频也是如此。请注意,在更改分频值后必须发出同步输出命令,以确保在通道输出处产生预期的分频比的时钟。 数字粗延迟 AD9528芯片支持通过已 VCXO分频器输出频率的周期为增量,实现0到63个步进(6位)的可编程相位偏移。 模拟精密延迟 每个通道均配备一个4位精密模拟延迟模块,其延迟步长显著小于 VCXO分频器输出频率的周期。 同理,在HSTL模式中,9 mA电流同样会在100 Ω负载电阻上产生900 mV峰值电压。 时钟分配同步 图35展示了时钟分配同步功能的框图。 虽然分频器运行时无法调整数字粗相位偏移量,但无需关闭PLL1和PLL2即可实现所有输出信号间的相对相位调节。

    23310编辑于 2026-03-23
  • 来自专栏晶振

    麦斯塔MST8011AA-12系列宽温晶振:解锁频率与电压的精准搭配之道

    如果采样率需要20kHz,可以选择1MHz、2MHz、4MHz等标准频率晶振,并通过分频器或定时器设定相应的整数分频系数。选择合适的频率可以简化硬件设计,并保证采样的精度。 在这种情况下,可以选择12MHz或更高频率的晶振,通过分频实现所需的采样率。例如,12MHz晶振可以轻松分频为48kHz或96kHz,满足音频处理的需求。 特殊频率的选择技巧如果应用中需要的采样率或时钟频率不是晶振频率的整数倍,例如需要将12.288MHz晶振分频为20kHz,会得到一个非整数分频系数。 在这种情况下,可以考虑使用小数分频、PLL(相位锁环)或高端FPGA/MCU等复杂方案。虽然这些方案会增加系统的设计难度和硬件成本,但可以实现更灵活的频率调整和更高的精度。

    37910编辑于 2025-11-03
  • 来自专栏瓜大三哥

    动态时钟频率

    所以配置 D 的值为 1 ,表示分频为 1 。 ? 调整参数 M 在手册中查找 CLKOUT0 输出参数 M 的寄存器地址为0x200,默认值为0x01010A00,其中 Bit[15:8]表示的就是参数 M 整数部分值。 小数部分为 Bit[25:16] 表示参数 M 的小数部分。 ? 调整参数 O 在手册中查找 CLKOUT0 输出参数 O 的寄存器地址为0x208,默认值为0x0004000A,其中 Bit[7:0]表示的就是参数 O 整数部分值。 所以配置 M 的值为 A ,相当于分频 10 倍。小数部分为 Bit[17:8] 表示参数 O 的小数部分。 ?

    4.1K30发布于 2020-09-22
  • 来自专栏FPGA技术江湖

    源码系列:基于FPGA的任意分频器设计(附源工程)

    今天给大侠带来基于FPGA的任意分频器设计,附源码,获取源码,请在“FPGA技术江湖”公众号内回复“任意分频器设计源码”,可获取源码文件。话不多说,上货。 ? 设计概述 在FPGA设计中,分频器一直都担任着很重要的角色,我相信很多人都已经想到了利用计算器来计算想要使用的时钟频率,但问题是仅仅利用计数器来分频,只可以实现偶数分频,而如果我需要三分频,五分频,七分频等等奇数类分频 在这里,让我介绍一个可以实现任意整数分频的方法,这个办法也是同样利用了计数器来计算,跟偶数分频不一样的地方是任意整数分频利用了两个计数器来实现。 ? 设计原理 本次设计主要是设计一个可调的分频器,设置其参数,可以调节其输出的占空比,占空比的意思就是高电平所占周期的多少。 通过对两个计数器的计数,一个计算到了跳转下一个状态,等下一计数器计数到了又调回第一个状态,从而完成任意分频器的设计。 ?

    87910发布于 2020-12-29
  • 来自专栏FPGA技术江湖

    源码系列:基于FPGA的任意分频器设计(附源工程)

    今天给大侠带来基于FPGA的任意分频器设计,话不多说,上货。 设计概述 在FPGA设计中,分频器一直都担任着很重要的角色,我相信很多人都已经想到了利用计算器来计算想要使用的时钟频率,但问题是仅仅利用计数器来分频,只可以实现偶数分频,而如果我需要三分频,五分频,七分频等等奇数类分频 在这里,让我介绍一个可以实现任意整数分频的方法,这个办法也是同样利用了计数器来计算,跟偶数分频不一样的地方是任意整数分频利用了两个计数器来实现。 设计原理 本次设计主要是设计一个可调的分频器,设置其参数,可以调节其输出的占空比,占空比的意思就是高电平所占周期的多少。 设计架构 设计框架图: 状态转移图: 通过对两个计数器的计数,一个计算到了跳转下一个状态,等下一计数器计数到了又调回第一个状态,从而完成任意分频器的设计。

    49910编辑于 2025-01-13
  • 来自专栏全栈程序员必看

    Java异或什么意思_0与0异或

    异或 ^ 的几个作用 一、交换两个整数的值而不必用第三个参数 a = 9; b = 11; a=a^b; 1001^1011=0010 b=b^a; 1011^0010=1001 a=a ^b; 0010^1001=1011 a = 11; b = 9; 二、奇偶判断 ^a操作就是将a中的每一位按位逐一进行异或,例如a=4’b1010,则b=1^0^1^0=0,由此可以判断a中为1 奇数分频电路:   奇数分频电路常用的是错位“异或”法的原理。 这样实现的三分频占空比为1/3或2/3.如果要实现占空比为50%的三分频时钟,可通过待分频的时钟上升沿触发计数器和下降沿触发计数器进行三分频,然后将上升沿和下降沿产生的三分频时钟进行相或预算,即可得到占空比为 50%的三分频时钟。

    1.7K30编辑于 2022-11-09
  • 来自专栏Linux知识

    STM32F10x从零开始配置时钟

    ,通过这些分频和倍频器就能产生各种需要的频率,但是只有PLL电路才可以倍频,即产生高于输入频率的频率,例如将8MHz的HSE作为PLL基准输入,最高可以9倍频,产生72MHz的输出频率提供给系统时钟;其余的电路只能进行分频 ,如TIM、USART等这些外设时钟都是通过系统时钟分频而来,所以它们的最大频率不会超过系统主时钟。 /APB2 不分频 72M PLL配置 RCC->CFGR = ((7 & 0xf) << 18)|(RCC->CFGR & ~(0xf << 18));//PLL输出9倍频 8M*9=72M 如果在系统中没有高频率的时钟,即HCLK频率较低时,闪存的访问只需半个HCLK周期(周期的闪存访问只能在时钟频率低于8MHz时进行,使用HSI或HSE并且关闭PLL时可得到这样的频率);在闪存访问控制寄存器中有一个控制位 注意:当使用了预取缓冲器和 AHB 时钟的预分频系数不为 ’1’ 时,不能使用周期访问方式。

    1.2K10编辑于 2025-02-19
  • 来自专栏FPGA技术江湖

    FPGA系统性学习笔记连载_Day11【奇分频、偶分频

    连载《叁芯智能fpga设计与研发-第11天》 【奇分频、偶分频】之【设计原理、verilog代码实现及示波器验证】 原创作者:紫枫术河 转载请联系群主授权,否则追究责任 这篇文章记录奇分频、偶分频的设计原理 、verilog代码实现及示波器验证 一、时钟 时钟:是一个占空比为50%的周期信号,在数字电路中用这个信号来做时间基准,下图展示一个50MHz的时钟信号 二、时钟分频 时钟分频:分为奇分频和偶分频, 三、奇分频分频:意思对一个时钟进行奇数次分频 假如:我们有一个50MHz的基准信号,我们要得到10MHz信号,该怎么做? 3、50Mhz分频为10Mhz 1)、首先我们要进行5分频 5分频分频后的周期为之前的5个周期电平。 2)、如果周期电平确定为5个,那么我们就需要2.5个周期就改变一次电平状态,才能满足5分频。 3)、实现:在FPGA中,我们没有小数,也就没法实现2.5个周期时,进行电平翻转 4、我们可以将50Mhz分2次计数 1)、上升沿计数:计数周期为5,当计数为2时,翻转电平,当计数为5时,翻转电平 2)

    1.3K00发布于 2021-04-06
  • 来自专栏开源FPGA

    数字电路基础

    题目:数制转换 R进制数转换为十进制数:按权展开,相加 十进制数转化为R进制数:整数部分,除R取余法,除到商为0为止。小数部分,乘R取整法,乘到积为0为止。 二进制数转化八进制数:三位一组,整数部分左边补0,小数部分右边补0。反之亦然。 二进制数转化十六进制数:四位一组,整数部分左边补0,小数部分右边补0。反之亦然。 题目:用D触发器带同步高置数和异步高复位端的二分频的电路,画出逻辑电路,Verilog描述。 ? begin 3 if(rst == 1'b1) 4 Q <= 1'b0; 5 else if(set == 1'b1) 6 Q <= 1'b1; 7 else 8 Q <= ~Q; 9

    1.2K10发布于 2018-12-04
  • 来自专栏数字积木

    AD9528芯片介绍及配置详解

    两路参考输入和VCXO路径上的数字时钟分频分频数均为10比特,1--1023之间的任意整数分频。 VCO到鉴相器路径上有两个分频计数器(M1,N2)。M1可配置为 3,4,5 。N2为8比特计数器,支持1-256的任意整数分频。 K的值介于0到65535之间,总分频系数为2×K,是在K分频器寄存器中编程值的两倍。 同时各个通道存在8比特的分频计数器。 Out6 / / / / 未使用 Out7 ADC_SYSREF_1 0.78125 SYSREF(PLL2) / Out8 ADC_DCLK_1 200.00 PLL2/divider 5 Out9

    4.6K22发布于 2021-09-14
  • 来自专栏全栈程序员必看

    STM32独立看门狗

    分频器的值由寄存器TIMx_PSC设定,是一个16位正整数值。 预分频器的工作的工作原理是,定时器时钟源每tick一次,预分频器计数器值+1,直到达到预分频器的设定值,然后再tick一次后计数器归零,同时,CNT计数器值+1。 比如想对时钟源进行72分频,那么预分频器的值就应该设置为71。 所以freq=40*预分频系数 预分频系数与预分频因子互为倒数,所以freq=40/预分频因子。 Tout公式中的prer是IWDG_PR寄存器中位2:0的十进制值。 根据手册中该寄存器的配置关系是:000对应4分频,001对应8分频,010对应16分频…由此得出预分频因子与prer的值关系是:预分频因子=4*2prer=2(prer+2)。

    79920编辑于 2022-09-01
  • 来自专栏个人测试

    FPGA学习-7偶分频——六分频

    一、分频器 1.定义 分频器是数字系统设计中最常见的基本电路之一。所谓“分频”,就是把输入信号的频率变成成倍数地低于输入频率的输出信号。 分频器分为偶数分频器和奇数分频器,和计数器非常类似,有时候甚至可以说就是一个东西。 3.奇偶分频分频:成倍数低于输入频率的输出信号有2、4、6、8分频分频:成倍数低于输入频率的输出信号有3、5、7、9分频 分频就是输出信号的一个周期对应clk的6个周期 凡是时钟信号都要连接到全局时钟网络 4.实现偶分频方式 方式一:在分频之后的时钟产生的(分频) 方式二:在系统信号中产生的(降频) 其区别如下,实现的条件一个是在分频之后为条件,另外一个是在系统时钟下产生的,我们建议使用第二种方式 图片 sys_rst_n <= 1’b0; #20 sys_rst_n <= 1’b1; end always #10 sys_clk = ~sys_clk; initial begin $timeformat(-9,0

    1.5K80编辑于 2022-08-16
领券