备忘_数字IC_verilog_分频

本文详细介绍了如何使用Verilog实现数字集成电路的分频功能,包括偶数分频、奇数分频和任意分频。对于偶数分频,通过计数到(N/2-1)时翻转输出;奇数分频则考虑占空比,通过正负边沿计数和“错位相或”实现50%占空比;任意分频基于相位累加原理,通过计数器步长控制输出频率。此外,还讨论了小数分频,利用脉冲删除方法实现特定比例的分频。
摘要由CSDN通过智能技术生成

备忘_数字IC_verilog_分频

1.偶数

要实现一个N分频(N为偶数)的分频器,可以先写一个计数器,当计数到(N/2-1)时,让输出状态翻转,并将计数器清零,这样输出的信号就是输入时钟的N分频

偶数分频器示例,20分频即N=20,占空比50%

module clk_div(

clk,
rst,
div,
clk_out

);
input clk; //50MHZ
input rst;
input div; //divide number ,int

output clk_out;

reg clk_out = 1'b0;

reg [31:0] cnt;

wire [31:0] div;

always @(posedge clk) begin
    if (rst) begin
	cnt <= 32'b0;
	clk_out <= 1'b0;
end

else if (cnt == ((div/2) - 32'd1)) begin
	clk_out <= ~clk_out;
	cnt <= 32'b0;
end
else begin
	cnt <= cnt + 1'b1;
end
end

endmodule

2.奇数

如果对占空比没有明确的要求,则可以直接对上升沿计数,计数到(N-1)/2 时让输出翻转,计数到(N-1)时让输出状态再次翻转,并将计数器清零,这样就可以得到一个占空比为2:3的N分频(N为奇数)的分频器。而如果要实现50%的占空比,可以通过“错位相

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值