Verilog学习笔记(1)实现各类分频器

1. 偶数分频器

  • 偶数分频器的实现较为简单,用计数器即可实现
// 偶数分频器示例,20分频即N=10,占空比50%

module Fre_div_even(

	input clk,
	input rst_n,
	input [3:0] N, // N = 分频倍数/2
	output reg clk_out

    );


reg [3:0] cnt;


always @(posedge clk or negedge rst_n)
begin
    if(!rst_n)
    begin
        cnt <= 4'b0;
        clk_out <= 1'b0;
    end
    else
    begin
        if(cnt == N-1)
        begin
            clk_out <= ~clk_out;
            cnt <= 4'b0;
        end
        else
        begin
            cnt <= cnt + 4'b1;
        end
    end
end

endmodule

2. 奇数分频器

  • 奇数分频相对于偶数分频较为复杂,尤其是占空比为50%的奇数分频,可以采用错位相和的方法,即分别用上升沿和下降沿产生2:3占空比的N分频时钟,并将输出进行或运算得到
// 奇数分频器示例,5分频即N=5,占空比50%

module Fre_div_odd(
    input clk,
    input rst_n,
	input [
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值