名称:频率设计与仿真Verilog代码vivado? ego1开发板
软件:vivado
语言:Verilog
代码功能:
要求:
1、波形:方波;
2、测频范围为100MHz以下;
3、测频精度为1Hz;
4、能够将測得的频率以十进制方式显示在8个数码管上。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在?ego1开发板验证,?ego1开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 资源占用
6. 管脚分配
7. Testbench
8. 仿真图
整体仿真图
控制模块仿真图
计数器模块仿真图
锁存器模块仿真图
显示模块仿真图
部分代码展示:
//频率计 module?Freq_top( input?clk,//100MHz input?reset,//复位 input?signal_in,//被测信号 output?[7:0]?LED_BIT,//数码管位选,8个数码管 output?[7:0]?LED_SEG_1,//数码管段选 output?[7:0]?LED_SEG_2//数码管段选 ); wire?en; wire?rst; wire?lat; wire?[31:0]?number; wire?[31:0]?store_number;//锁存值 //控制模块 Frq_Ctrl?i_Frq_Ctrl( .?clk(clk),//100MHz .?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),//数码管位选,8个数码管 .?LED_SEG_1(LED_SEG_1),//数码管段选 .?LED_SEG_2(LED_SEG_2)//数码管段选 ); endmodule
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=448
							阅读全文
							
						
					
								
								
								
384