频率仿真Verilog代码Quartus软件AX301开发板

名称:Quartus频率仿真Verilog代码AX301开发板(文末获取)

软件:Quartus

语言:Verilog

代码功能:

6位频率计设计,测量范围1Hz~999999KHz

频率分2档,1Hz和1KHz,当检测到频率大于1MHz时,自动切换到KHz单位

本代码已在AX301开发板验证,开发板如下,其他开发板可以修改管脚适配:

AX301开发板照片.png

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. Testbench

7. 仿真图

整体仿真图

分频模块

计数模块

锁存模块

单位选择模块

超量程指示模块

数码管显示模块

部分代码展示:

//顶层模块
module frequency_detect(
input clk_in,//输入50M基准时钟
input reset_p,//复位信号
input signal_in,//待测频率输入
output gear_led,//单位指示灯
output over_load_led,//超量程指示灯
output div_signal_1,//12.5M
output div_signal_2,//1.5625M
output div_signal_3,//0.1953125M
output [5:0]en,//数码管位选
output [7:0]dataout//数码管段选
);
//分频信号,用于自测
signal_out i_signal_out(
.  clk(clk_in),
.  div_signal_1(div_signal_1),
.  div_signal_2(div_signal_2),
.  div_signal_3(div_signal_3)
);
wire doors_open;
wire [31:0] total_frequency;
wire [31:0] CNT1_buf;//基准时钟计数器寄存器
wire [31:0] CNT2_buf;//待测频率计数器寄存器
wire [31:0] display_frequency;//显示数值
分频模块,产生闸门信号
div_doors i_div_doors(
. clk_in(clk_in),//输入50M基准时钟
. reset_p(reset_p),//复位信号
. doors_open(doors_open)//闸门信号
);
//计数模块
count_cal i_count_cal(
. clk_in(clk_in),//输入50M基准时钟
. signal_in(signal_in),//待测频率输入
. doors_open(doors_open),
. CNT1_buf(CNT1_buf),//输出基准时钟计数器
. CNT2_buf(CNT2_buf)//输出待测频率计数器
);
//锁存模块
latch_buf i_latch_buf(
. clk_in(clk_in),//输入50M基准时钟
. doors_open(doors_open),
. total_frequency(total_frequency),//输出频率
. CNT1_buf(CNT1_buf),//输出基准时钟计数器
. CNT2_buf(CNT2_buf)//输出待测频率计数器
);
//单位选择模块
gear_position i_gear_position(
. clk(clk_in),
. total_frequency(total_frequency),//频率
. gear_led(gear_led),//单位指示灯
. display_frequency(display_frequency)//显示数值
);
//超量程指示模块
over_load i_over_load(
. clk(clk_in),
. total_frequency(total_frequency),//频率
. over_load_led(over_load_led)//超量程指示灯
);
//数码管显示模块
display i_display(
. clk(clk_in),
. dataout(dataout),//数码管段选
. en(en),//数码管位选
. display_frequency(display_frequency)//输出频率
);
endmodule
源代码

 扫描文章末尾的公众号二维码

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值