名称:数字频率计设计VHDL代码Quartus? Storm_IV开发板
软件:Quartus
语言:VHDL
代码功能:
数字频率计
八位数码管显示,测量范围0到99999999,误差越小越好
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在Storm_IV开发板验证,Storm_IV开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 管脚分配
6. 仿真图
整体仿真图
计数模块
锁存模块
控制模块
显示模块
部分代码展示:
LIBRARY?ieee; ???USE?ieee.std_logic_1164.all; ???USE?ieee.std_logic_unsigned.all; --计数器模块 ENTITY?counter?IS ???PORT?( ??????signal_in??:?IN?STD_LOGIC;--被测信号 ??????en?????????:?IN?STD_LOGIC;--1S闸门信号 ??????rst????????:?IN?STD_LOGIC;--复位 --gear???????:?OUT?STD_LOGIC;--档位,高电平表示1Hz档位,低电平表示0.0001HZ ??????number?????:?OUT?STD_LOGIC_VECTOR(31?DOWNTO?0)--频率值32位,8个数,每个数4位,共32位 ???); END?counter; ARCHITECTURE?trans?OF?counter?IS --最大99MHz=99_000_000Hz共8个 ???SIGNAL?num_0?:?STD_LOGIC_VECTOR(3?DOWNTO?0)?:=?"0000"; ???SIGNAL?num_1?:?STD_LOGIC_VECTOR(3?DOWNTO?0)?:=?"0000"; ???SIGNAL?num_2?:?STD_LOGIC_VECTOR(3?DOWNTO?0)?:=?"0000"; ???SIGNAL?num_3?:?STD_LOGIC_VECTOR(3?DOWNTO?0)?:=?"0000"; ???SIGNAL?num_4?:?STD_LOGIC_VECTOR(3?DOWNTO?0)?:=?"0000"; ???SIGNAL?num_5?:?STD_LOGIC_VECTOR(3?DOWNTO?0)?:=?"0000"; ???SIGNAL?num_6?:?STD_LOGIC_VECTOR(3?DOWNTO?0)?:=?"0000"; ???SIGNAL?num_7?:?STD_LOGIC_VECTOR(3?DOWNTO?0)?:=?"0000"; BEGIN ??? ???number?<=?(num_7?&?num_6?&?num_5?&?num_4?&?num_3?&?num_2?&?num_1?&?num_0);--单位Hz --???PROCESS?(num_0,num_1,num_2,num_3,num_4,num_5,num_6,num_7,rst) --???BEGIN --????????IF(num_7="0000"?and?num_6="0000"?and?num_5="0000"?and?num_4="0000")THEN --gear<='0'; --ELSIF(num_7>"0000")THEN --gear<='1'; --END?IF; --???END?PROCESS;
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1090
							阅读全文
							
						
					
								
								
								
431