任意分频器设计Verilog代码Quartus仿真
名称:任意分频器设计Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
任意分频器设计
1、可以通过参数控制分频比,即可以配置分频器的分母、分子
2、可以控制分频输出信号的占空比
设计思路为任意分频都可以拆分为2分频和3分频交叉组合而成(即最小的偶数分频和最小的奇数分频的组合)。
假设19/9分频,利用公式,(19/9)*(a+b)=2a+3b;计算a和b的值
即可以由8个2分频+1个3分频,在8*2+1*3=19个参考时钟周期内,实现19/9分频。
parameter fenzi=440;//分子
parameter fenmu=24;//分母
parameter duty=70;//占空比
fenzi/fenmu分频。换个说法,即fenzi个参考时钟refclk里,划分fenmu段
因为分母是fenmu,所以计数器是+fenmu计算的,
如果超过fenzi,意味着当前两个上升沿之间的周期大于期望周期值,
余数需要考虑进下一个周期里。
总共需要的周期数,就是前文的2a+3b=fenzi个参考时钟周期内。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件

2. 程序文件

3. 程序编译

4. Testbench

5. 仿真图





部分代码展示:
//任意分频设计 module clk_div( input clk,//输入时钟 input rstn,//复位,低电平有效 output reg clk_div//输出分频信号 ); //设计思路为任意分频都可以拆分为2分频和3分频交叉组合而成(即最小的偶数分频和最小的奇数分频的组合)。 //假设19/9分频,利用公式,(19/9)*(a+b)=2a+3b;计算a和b的值 //即可以由8个2分频+1个3分频,在8*2+1*3=19个参考时钟周期内,实现19/9分频。 parameter fenzi=440;//分子 parameter fenmu=24;//分母 parameter duty=70;//占空比 wire [31:0] para_cnt; assign para_cnt=fenzi*duty/100;//根据占空比计算高电平计数值 //fenzi/fenmu分频。换个说法,即fenzi个参考时钟refclk里,划分fenmu段 //因为分母是fenmu,所以计数器是+fenmu计算的, //如果超过fenzi,意味着当前两个上升沿之间的周期大于期望周期值, //余数需要考虑进下一个周期里。 //总共需要的周期数,就是前文的2a+3b=fenzi个参考时钟周期内。
代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 任意分频器设计Verilog代码Quartus仿真
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 任意分频器设计Verilog代码Quartus仿真