软件:Quartus
语言:Verilog
代码功能:
频率计设计:
基本要求:8位数码管显示结果,闸门时间固定1S;
扩展:闸门时间用按键进行切换,四个闸门时间:1S,0.1S,0.01S,0.001S。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 仿真图
整体仿真图
控制信号产生模块
计数器模块
控制锁存器模块
数码管驱动显示(加分频器)模块
部分代码展示:
//频率计 module?Freq_top( input?clk,//50MHz input?reset,//复位 input?signal_in,//被测信号 output?[7:0]?LED_BIT,//数码管位选,8个数码管 output?[7:0]?LED_SEG//数码管段选 ); wire?en; wire?rst; wire?lat; wire?[31:0]?number; wire?[31:0]?store_number;//锁存值 //控制信号产生模块(控制器) Frq_Ctrl?i_Frq_Ctrl( .?clk(clk),//50MHz .?en(en),////1S闸门信号 .?rst(rst),//清零 .?lat(lat)//锁存 ); //计数器模块 counter?i_counter?( .?signal_in(signal_in),//被测信号 .?en(en),////1S闸门信号 .?rst(rst),//清零 .?number(number)//计数值 ); //锁存器模块 data_store?i_data_store( .?reset(reset),//复位 .?lat(lat),//锁存 .?number(number),//计数值 .?store_number(store_number)//锁存值 ); //数码管驱动显示(加分频器) LED_DISP?i_LED_DISP( .?clk(clk),// .?store_number(store_number),//锁存值 .?LED_BIT(LED_BIT),//数码管位选,4个数码管 .?LED_SEG(LED_SEG)//数码管段选 ); endmodule
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=423
阅读全文
400