奇分频和偶分频

本文介绍了如何在FPGA中通过Verilog实现占空比为50%的奇偶分频。奇分频和偶分频的原理和Verilog代码实现过程被详细阐述,包括计数器的设计和中间时钟的生成。通过仿真结果展示了不同分频系数下的工作状态。
摘要由CSDN通过智能技术生成

奇分频和偶分频

前言

在数字电路中,时钟占据着重要的作用,在FPGA的开发中,都是以时钟为基本单位来计算时间的,一般在我们使用的FPGA开发板中,只有一个晶振用来产生时钟。因此,在开发板设计好之后,只能有一个频率的时钟,但是我们在实际开发的过程过,使用的时钟远远不止一个,这个时候就需要我们产生新的时钟。通常称为分频和倍频,产生分频有两种方式:使用PLL核verilog代码自己实现;而倍频我们只能通过PLL核来实现;分频总体上可以分为偶分频、奇分频和小数分频三种,在本文中将为大家介绍如何通过verilog自己实现占空比为50%的奇偶分频

偶分频

首先以一个四分频为例来向大家讲解。

在开始之前,为了便于理解,首先在这里提供一个图(手绘的,不太标准,但是意思能表达出来):

在这里插入图片描述

假设原来的时钟为clk,四分频之后的时钟为clk_4,则四分频就是把原来的四个时钟周期变成现在的一个时钟周期。我们假设一个计数器为div_cnt,初始值为0,每来一个clk的上升沿,就给div_cnt加1,则当div_cnt = 3时,正好来了4个clk(因为div_cnt的值是从0开始加的,所以从0到3计数值为4),正好构成了一个clk_4,然后让div_cnt又从0开始计数,产生下一个clk_4

因为我们要产生一个占空比为50%的四分频,所以现在考虑什么时候是clk_4的上升沿,什么时候是下降沿。我们任然从div_cnt这个计数器来考虑,因为div_cnt的值为0、1、2、3,当为3时正好是clk_4的一个时钟周期。又因为占空比为50%,所以clk_4的高电平和低电平各占一半,对应到div_cnt上,可以设定为clk_4的低电平部分对应的是div_cnt0和1clk_4的高电平对应的是div_cnt2和3

四分频的div_cnt的变化是从0到3,分频之后的时钟clk_4由低电平变为高电平是在div_cnt为1的时刻,我们用上面同样的方式分析,可以知道,当为六分频时,div_cnt的变换是从0到5,分频之后的时钟由低电平变为高电平是在div_cnt为3的时刻。

当我们要产生任意偶分频时,我们假设分频系数为DIV_CLK_FACTOR,也就是我们要几分频,计数器仍然为di

  • 5
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值