8.16 数字频率计 VHDL 程序与仿真
--文件名:plj.vhd。
--功能:频率计。具有 4 位显示,能自动根据 7 位十进制计数的结果,自动选择有效数据的
--高 4 位进行动态显示。小数点表示是千位,即 KHz。
--最后修改日期:2004.4.9。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity plj is
port ( start:in std_logic; --复位信号
clk :in std_logic; --系统时钟
clk1:in std_logic; --被测信号
yy1:out std_logic_vector(7 downto 0); --八段码
w1 :out std_logic_vector(3 downto 0)); --数码管位选信号
end plj;
architecture behav of PLj is
signal b1,b2,b3,b4,b5,b6,b7:std_logic_vector(3 downto 0); --十进制计数器
signal bcd:std_logic_vector(3 downto 0); --BCD 码寄存器
signal q :integer range 0 to 49999999; --秒分频系数
signal qq : integer range 0 to 499999; --动态扫描分频系数
signal en,bclk:std_logic; --使能信号,有效被测信号
signal sss : std_logic_vector(3 downto 0); --小数点
signal bcd0,bcd1,bcd2,bcd3 : std_logic_vector(3 downto 0);