NO.1 基于verilogHDL的时钟分频与任意占空比调节

本文介绍了使用VerilogHDL进行时钟分频和占空比调节的基础知识,适合FPGA初学者。通过实例展示了如何实现偶数分频,并探讨了如何调整占空比以实现非50%占空比的时钟信号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于verilogHDL的时钟分频与任意占空比调节

学生,小白,刚开始了解FPGA,想要深入学习verilog这一硬件描述语言。
就从我学到的东西开始谈起吧。
我们在做fpga项目绝大部分要用到分频计数器及其占空比的调节,可以说是必备的技能。

时钟分频(偶数)

我们所写的程序将下载烧录到basys2FPGA开发板上,而开发板spartan-3E的时钟频率为50MHZ(周期为20ns),而我们在做譬如流水灯等实验时,需要观察LED灯的亮灭需要将其频率调至1HZ左右,即每一秒输出时钟沿跳变一次。

module div(clk_in,clk_out,rst);

    input clk_in;       //输入时钟,频率为50Mhz
    input rst;          //复位信号,低电平有效
    output reg clk_out;   //输出时钟信号
    reg [25:0]cn;        //模25计数器


    always@(posedge clk_in or negedge rst)begin
        if(~rst)
            begin
                cn <= 0;
                clk_out <= 0;
           end
        else if(cn == 24999999)    //计数器记到24_999_999,即2500个clk_in上升沿后,输出波形翻转         
                begin
                    cn <= 0;
                    clk_out <= ~clk_out;
                end
        else
                cn <= cn + 1;
    end

测试激励:

module tb_div;

    // Inputs
    reg clk_in;
    reg rst;

    // Outputs
    wire clk_out;

    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值