首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

以下是数字分频器在IC设计中的一些应用: 时钟发生器:时钟发生器的原理是时钟分频,数字分频器可以用来将时钟信号分频为所需的频率。...2.3 verilog代码 //偶数分频电路设计(2分频、4分频、8分频、6分频) //触发器法实现2分频、4分频、8分频 //计数器法实现6分频 module clk_div_even( input...同时我们应当考虑分频信号的实现顺序 5分频和6分频的实现顺序一般有以下 4 种: (1)先进行 6 次 5 分频,再进行 4 次 6 分频; (2) 先进行 4 次 6分频,再进行 6 次 5 分频;...从前面的基本原理可以知道,通过双模前置法得到的小数分频波形是差强人意的,5.4小数分频通过5分频和6分频差值得到,2.6小数分频通过2分频和3分频差值得到,同样差一个cnt,对于2.6小数分频的波形破坏要比...小数分频:目前小数分频使用较多的方法是双模前置分频法,基本原理是在小数分频的两侧寻找相近的分频去插入,营造在一定的源时钟周期走过与小数分频相当的的时钟周期。

6.4K40

分频与偶分频

题目: 设计一个占空比1:1的三分频电路 怎么做暂且不讲,容我先念叨一下这类题的原理! 首先要明确的是:几分频就是输出的分频时钟中包含几个系统时钟。...其次分频有两种,一种是偶分频,另一种是奇分频,我们分开来讲。...一、偶分频 分频在FPGA通过计数器实现,偶分频计数只需计数到N/2-1,然后进行时钟翻转,同时将计数器清零,即可得到(偶数)N分频,很简单就不赘述了。...实现奇分频的方法有很多种,很常用的方法为相位异或法,该方法的总结:对于实现50%奇数N分频电路,首先进行进行上升沿进行模长N计数,计数选定到某一个值进行输出时钟翻转,然后再经过(N-1)/2(重点!...50%的奇数N分频时钟,两个占空比非50%的奇数N分频时钟相或运算,得到占空比50%的N分频时钟。

1.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    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,即一个高电平或一个低电平时间。

    87330

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

    一、分频器 1.定义 分频器是数字系统设计中最常见的基本电路之一。所谓“分频”,就是把输入信号的频率变成成倍数地低于输入频率的输出信号。...分频器分为偶数分频器和奇数分频器,和计数器非常类似,有时候甚至可以说就是一个东西。...2.实现分频 想得到比固定时钟频率更慢的时钟,可以将固定时钟进行分频 想得到比固定时钟频率更快的时钟,可以将固定时钟进行倍频 又两种方式实现分频与倍频 ①锁相环pll ②自己编写verilog语言来实现...3.奇偶分频分频:成倍数低于输入频率的输出信号有2、4、6、8分频分频:成倍数低于输入频率的输出信号有3、5、7、9分频 分频就是输出信号的一个周期对应clk的6个周期 凡是时钟信号都要连接到全局时钟网络...4.实现偶分频方式 方式一:在分频之后的时钟产生的(分频) 方式二:在系统信号中产生的(降频) 其区别如下,实现的条件一个是在分频之后为条件,另外一个是在系统时钟下产生的,我们建议使用第二种方式 图片

    1K80

    笔试 | 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,即一个高电平或一个低电平时间。

    2.1K30

    非整数分频模块

    非整数分频模块有两种实现方法,分别为分频比交错法和累加器分频法。下面分别进行介绍。...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为: ?

    78181

    STM32如何计算RTC时钟异步预分频和同步预分频

    实时时钟 (RTC) 是一个独立的 BCD 定时器/计数器,提供具有可编程闹钟中断功能的日历时钟/日历,可用于管理所有低功耗模式的自动唤醒单元。...在配置RTC时钟时预分频器是关键指标,通过配置预分频器可以自定义计数周期。 以STM32L0系列MCU为例,介绍RTC时钟的异步预分频和同步预分频配置方法。...预分频器分为 2 个可编程的预分频器:通过 RTC_PRER 寄存器的 PREDIV_A 位配置的 7 位异步预分频器(范围0~2^7),通过 RTC_PRER 寄存器的 PREDIV_S 位配置的 15...在参考文档中给出了(f ck_apre)异步预分频和(f ck_spre)同步预分频的计算公式,(f ck_apre)异步预分频主要是亚秒级计数,(f ck_spre)同步预分频是普通得日历计数(秒级别...),在计算两个预分频器时,推荐将异步预分频器(PREDIV_A)配置为较高的值,以最大程度降低功耗。

    1.2K20

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

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

    82300

    【嵌入式开发】ARM 看门狗 Watchdog ( 看门狗概念 | 看门狗原理 | 时钟控制寄存器 | 定时器数据寄存器 | 定时器计数寄存器 | 定时器中断清理寄存器 | 关闭看门狗代码编写 )

    看门狗 原理 (1) 看门狗 硬件模块 原理 ---- 看门狗 模块 原理 : 1.时钟产生模块 : PLCK 是看门狗的时钟源, 首先经过一个 8 位的 ① 预分频器 进行预分频处理 生成对应的...: 根据 预分频值 进行 预分频 ; 3.正式分频 : 根据 频率分割参数 进行 频率分割 ; 4.计数器计数 : 看门狗计数器 计数 操作 ; 5.根据 WTCON 中的设置 进行的操作 :...保留位 ) : 这是保留位, 常规操作必须设置为 00 值; 9.[15 : 8] 位 ( 预分频器值 ) : 设置预分频器 值; ( 1 ) 预分频器参数取值范围 : 0 ~ 2^8 -...pc 指针中 ldr pc, _software_interrupt @ 软中断异常 ldr pc, _prefetch_abort @ 取指令异常...software_interrupt: .word software_interrupt @ 软中断异常 _prefetch_abort: .word prefetch_abort @ 取指令异常

    3.8K40

    STM32使用定时器实现微秒(us)级延时

    前期准备 Keil 5 STM32CubeMX STM32F407MCU 介绍 系统时钟 可通过多个预分频器配置 AHB 频率、高速 APB (APB2) 和低速 APB (APB1)。...高级控制定时器(TIM1 和 TIM8)包含一个 16 位自动重载计数器,该计数器由可编程预分频器驱动。...使用定时器分频器和 RCC 时钟控制器预分频器,可将脉冲宽度和波形周期从几微秒调制 到几毫秒。 通用定时器包含一个 16 位或 32 位自动重载计数器,该计数器由可编程预分频器驱动。...使用定时器分频器和 RCC 时钟控制器预分频器,可将脉冲宽度和波形周期从几微秒调制 到几毫秒。 TIM9 到 TIM14 通用定时器包含一个 16 位自动重载计数器,该计数器由可编程预分频器 驱动。...使用定时器分频器和 RCC 时钟控制器预分频器,可将脉冲宽度和波形周期从几微秒调制到几毫秒。 基本定时器 TIM6 和 TIM7 包含一个 16 位自动重载计数器,该计数器由可编程预分频器驱动。

    3.8K20

    如何计算STM32定时器、独立看门狗和窗口看门狗

    目录 1、基本、通用类型定时器 2、独立看门狗定时器 3、窗口看门狗定时器 ---- 之前分享了STM32 GPIO的原理、特性、选型和配置、如何计算RTC时钟异步预分频和同步预分频,这次简要阐述STM32L011...1、基本、通用类型定时器 STM32基本、通用类型可编程定时器主要由一个 16 位及其相关的自动重载寄存器组成,在配置基本、通用类型的定时器时有三种关键寄存器:计数器寄存器 、预分频器寄存器和自动重载寄存器...,具体说明如下所示: 计数器寄存器:有递增计数、递减计数或同时递增和递减计数三类,计数器的时钟可通过预分频器进行分频; 预分频器寄存器:可对计数器时钟频率进行分频分频系数介于 1 和 65536...假设计数器寄存器数值为0xFC,采用2预分频,当使能计数器后,定时器时钟开始按照定时效果运行(定时由计数器寄存器和预分频器寄存器共同决定),计数器从0x00计数到0xFC后会产生中断,并更新时间开始新一轮的计数...PCLK 个周期递减一次,当它从 0x40 递减到 0x3F(T6 清零)时会产生复位; WDGTB[1:0] :定时器时基 ,有4种方式修改预分频器的时基:00:CK 计数器时钟 (PCLK div

    1.2K30

    STM32中定时器的配置与使用

    在STM32参考手册中,定时器分为3类,即高级控制定时器(TIM1和TIM8)、通用定时器(TIMx)以及基本定时器(TIM6和TIM7),要学会定时器要懂得分频设置、计数器设置。...1、高级控制定时器(TIM1和TIM8) 高级控制定时器(TIM1和TIM8)由一个16位的自动装载计数器组成,它由一个可编程的预分频器驱动。...使用定时器分频器和RCC时钟控制预分频器,可以实现脉冲宽度和波形周期从几个微秒到几个毫秒的调节。高级控制定时器(TIM1和TIM8)和通用定时器(TIMx)是完全独立的,它们不共享任何资源。...它们可以同步操作 2、通用定时器(TIMx) 通用定时器是一个通过可编程预分频器驱动的16位自动装载计数器构成。...使用定时器分频器和RCC时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。每个定时器都是完全独立的,没有互相共享任何资源。

    1.6K10

    STM32独立看门狗

    具有写保护能力,要操作先取消写保护 状态寄存器IWDG_SR:0~1位有效 预分频器(IWDG_PR) 在STM32的定时器中,预分频器(Prescaler-PSC)用来将定时器时钟源进行分频输出。...如果我们需要更长时间的定时间隔,那么就需要预分频器对时钟进行分频处理,以降低定时器时钟(CK_CNT)的频率。...预分频器的工作的工作原理是,定时器时钟源每tick一次,预分频器计数器值+1,直到达到预分频器的设定值,然后再tick一次后计数器归零,同时,CNT计数器值+1。...预分频器值寄存器TIMx_PSC存在影子寄存器(官方翻译为缓冲功能),所以在定时器启动后更改TIMx_PSC的值并不会立即影响当前定时器的时钟频率。要等到下一个更新事件(UEV)发生时才会生效。...比如下边这张图就体现了将分频系数由1修改为2(即TIMx_PSC由0更改为1)时整个定时器的时序图。

    40720

    【Arduino学习笔记】系列1 - 定时器配置一、Arduino定时器简介 二、定时器基本概念三、定时器配置代码

    二、定时器基本概念 1、预分频系数与比较匹配器 Arduino时钟以16MHz运行。计数器的一个刻度值表示1 / 16,000,000秒(~63ns),跑完1s需要计数值16,000,000。...因此,需要对时钟频率进行分频处理,即预分频器。通过预分频器控制定时计数器的增量速度。...预分频器与定时器的计数速度如下: 定时器速度(HZ) = Arduino时钟速度(16MHz) / 预分频器系数 因此,1预分频器将以16MHz递增计数器,8预分频器将在2MHz递增,64预分频器= 250kHz...三个定时器的预分频系数配置如表: ? ? ? 我将在下一步中解释CS12,CS11和CS10的含义。 现在您可以用以下步骤计算中断频率。...= [16,000,000Hz /(预分频器*所需的中断频率)] - 1 记住,当你使用定时器0和2时,这个数字必须小于256,对于timer1小于65536。

    7.5K20

    【STM32】TIM定时器

    一、简介 定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断 定时器最核心的部分叫做时基单元,由计数器、预分频器、自动重装寄存器构成 STM32定时器的功能十分丰富,不仅有定时中断功能,还有内外时钟源选择...基本定时器定时器里结构最简单的,功能最少的定时器,我们先从基本定时器开始学习 基本定时器只能接内部时钟,所以上方控制器相当于通路,然后连接到PSC预分频器上,这个预分频器就是用来对时钟分频的...CK_PSC是预分频器的输入时钟 CNT_EN是计数器使能,高电平计数器正常运行,低电平计数器停止 开始时,计数器未使能,定时器时钟不运行,使能后前半段预分频器系数为1,此时定时器时钟CK_CNT...与预分频器的输入时钟CK_PSC相同,后半段预分频器系数为2,此时定时器时钟CK_CNT一个周期等于预分频器的输入时钟CK_PSC两个周期 在计数器时钟的驱动下,计数器寄存器在时钟上升沿时自增,从图中可以看出自动重装器的数值为...36MHz,而因为APB1的预分频系数不为1,所以连接定时器2~7的频率要 * 2,也就是连接定时器2 ~ 7的时钟为72MHz APB2在SystemInit里配置的分配系数为1,所以APB2连接所有外设的时钟都是

    16810

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

    若果采用D触发器画出分频器,单个D触发器的反向输出到输入就构成了一个简单的2分频器,以此为基础,其分频输出作为下一级D触发器的时钟,如此串联起来,x个串联就是2^x分频,属于偶数分频,如图1[1]. ?...图3奇数分频 下面给出N为正整数的分频器设计,主要原理是N[0]=1为奇数分频,0为偶数分频。...分数分频器的原理可以用下图来概括。 ? 图5分数分频的原理 用整数部分zn(=8)作为一个分频系数,zn加1(=9)作为另外一个分频系数组成一个小数分频器。...ACC计数器设计,在这里ZN=8: ACC计数器就是控制做N次ZN分频和M次ZN+1次分频,具体控制过程可以分为以下几种情况: 第1种情况 :先做N次ZN分频,再做M次ZN+1次分频; 第2种情况:先做...M次ZN+1次分频,再做N次ZN分频; 第3种情况 :把N次ZN分频平均插入到M次ZN+1分频中; 第4种情况 :把M次ZN+1次分频平均插入到N次ZN分频中。

    3.3K10

    单片机入门学习十三 STM32单片机学习十 通用定时器

    使用定时器分频器和 RCC 时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒间调整。STM32 的每个通用定时器都是完全独立的,没有互相共享的任何资源。...APB1的分频系数= \dfrac{AHB时钟}{APB1时钟}=2 ,所以通用定时器时钟CK_INT=2*36M=72M。...内部触发器输入口1~4(ITR1、ITR2、ITR3、ITR4),用一个定时器作为另一定时器分频 外部捕捉比较引脚,引脚1(TI1FP1或TI1F_ED)、引脚2(TI2FP2) 外部引脚:ETR(使能...1:外部输入脚(TIx) 外部时钟模式2:外部触发输入(ETR) 内部触发输入(ITRx):使用一个定时器作为另一个定时器的预分频器,如可以配置一个定时器Timer1而作为另一个定时器Timer2...//psc:时钟预分频数 //这里使用的是定时器3!

    1.5K20
    领券