FPGA学习——分频

本文介绍了FPGA中实现分频的基本原理,通过计数器捕捉输入时钟的边沿,实现频率转换。讨论了两种分频方法:手动除以2和使用条件判断进行分频。这两种方法都能有效地将高频信号转化为低频输出。
摘要由CSDN通过智能技术生成

        分频,简单来说就是根据输入时钟,使用计数器计数输入时钟的上升沿个数或者时钟下降沿个数,而后在你想设置分频数的位置进行输出信号的高低电平翻转,以此实现将输入信号的高频率信号转变为低频率输出信号。

        下面介绍分频的两种方式,原理都是一样的,只是代码编写略有不同。

1.常规操作,手动将分频系数除以2

        在此处进行设置分频系数时,可手动除以2,例如设置的分频系数为4,则此处的div直接设置成2即可。

module fenpin(
    clk,    //system clock
    rst,    //reset
    div,    //分频系数
    clk_out //输出时钟
);

input       clk;
input       rst;
input [3:0] div;    //自行设置

output      clk_out;

reg   [3:0] cnt;    //计数器

always @(posedge clk or negedge rst)
  begin
    if(!rst)
      begin
        cnt     <= 4'b1;
        clk_out <= 1'b0;
      end
     else
       begin
         if(cnt==div)    //此处设置时就将分频系数先除以2
           begin
             cnt     <= 4'b1;
             clk_out <= ~clk_out;
           end
         else 
           cnt <= cnt+1'b1;
       en
  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值