名称:直接测频数字频率计Verilog代码vivado ego1开发板
软件:vivado
语言:Verilog
代码功能:
直接测频数字频率计
1、使用直接测频法测量频率;
2、测频范围1Hz到99999999Hz;
3、数码管显示频率。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在ego1开发板验证,ego1开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 引脚约束
6. 资源利用率
7. Testbench
8. 仿真图
整体仿真图
闸门信号产生模块(锁存,清零信号)
测频模块
数码管显示模块
仿真参数修改
部分代码展示:
//频率计 module Frequency_meter( input clk,//100MHz input Freq_in,//待测信号 //高电平点亮,高电平选通 output [7:0] dig_led_1,//数码管1段选 output [3:0] wei_led_1,//数码管1位选 output [7:0] dig_led_2,//数码管2段选 output [3:0] wei_led_2//数码管2位选 ); wire door_1s;//1s闸门信号 wire lock;//锁存信号 wire clear;//清零信号 wire [31:0] Freq_data;//频率值 //闸门信号产生 door i_door( . clk(clk),//100MHz . door_1s(door_1s),//1s闸门信号 . lock(lock),//锁存信号 . clear(clear)//清零信号 ); //测频模块 check_Freq i_check_Freq( . clk(clk),//100MHz . Freq_in(Freq_in),//待测信号 . door_1s(door_1s),//1s闸门信号 . lock(lock),//锁存信号 . clear(clear),//清零信号 . Freq_data(Freq_data)//频率值 ); //数码管显示模块 display i_display( . clk(clk),//标准时钟,100MHz . Freq_data(Freq_data),//频率值 . dig_led_1(dig_led_1),//数码管1段选 . wei_led_1(wei_led_1),//数码管1位选 . dig_led_2(dig_led_2),//数码管2段选 . wei_led_2(wei_led_2)//数码管2位选 ); endmodule
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=449
阅读全文
985