|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
--顶层结构
ENTITY FreqMeter IS
PORT(
input :IN STD_LOGIC;
clock :IN STD_LOGIC;
display :OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
dp :OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
sample :OUT STD_LOGIC
);
END FreqMeter;
ARCHITECTURE FreqMeter_arch OF FreqMeter IS
COMPONENT ClockGen
PORT(
clkHF :IN STD_LOGIC;
clk10 :OUT STD_LOGIC;
clk100 :OUT STD_LOGIC;
clk1k :OUT STD_LOGIC
);
END COMPONENT;
COMPONENT Center
PORT(
clk10 :IN STD_LOGIC;
digitalHF:IN STD_LOGIC_VECTOR(31 DOWNTO 0);
digitalLF:IN STD_LOGIC_VECTOR(11 DOWNTO 0);
fr_high :IN STD_LOGIC;
fr_low :IN STD_LOGIC;
fr_vlow : IN STD_LOGIC;
busy :IN STD_LOGIC;
display :OUT STD_LOGIC_VECTOR(31 DOWNTO 0);
dp :OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
sample :OUT STD_LOGIC;
set :BUFFER STD_LOGIC;
clr :BUFFER STD_LOGIC;
ce :BUFFER STD_LOGIC
);
END COMPONENT;
COMPONENT HiCnt
PORT(
input :IN STD_LOGIC;
enable :IN STD_LOGIC;
clr :IN STD_LOGIC;
digital :BUFFER STD_LOGIC_VECTOR(31 DOWNTO 0)
);
END COMPONENT;
COMPONENT Divide
PORT(
set :IN STD_LOGIC;
clk :IN STD_LOGIC;
count :IN STD_LOGIC_VECTOR(9 DOWNTO 0);
digital :OUT STD_LOGIC_VECTOR(9 DOWNTO 0)
);
END COMPONENT;
COMPONENT LowCnt
PORT(
input :IN STD_LOGIC;
clk1k :IN STD_LOGIC;
clk100 :IN STD_LOGIC;
clk10 :IN STD_LOGIC;
clr :IN STD_LOGIC;
count :OUT STD_LOGIC_VECTOR(9 DOWNTO 0);
busy :BUFFER STD_LOGIC;
fr_high :BUFFER STD_LOGIC;
fr_low :BUFFER STD_LOGIC;
fr_vlow : BUFFER STD_LOGIC
);
END COMPONENT;
SIGNAL clk10,clk100,clk1k:STD_LOGIC;
SIGNAL ce,clr,ser,busy:STD_LOGIC;
SIGNAL fr_high,fr_low,fr_vlow:STD_LOGIC;
SIGNAL count:STD_LOGIC_VECTOR(9 DOWNTO 0);
SIGNAL digitalHF:STD_LOGIC_VECTOR(31 DOWNTO 0);
SIGNAL digitalLF:STD_LOGIC_VECTOR(11 DOWNTO 0);
BEGIN
u1: ClockGen PORT MAP (clock,clk10,clk100,clk1k);
u2: Center PORT MAP (clk10,digitalHF,digitalLF,fr_high,fr_low,
fr_vlow,busy,display,dp,sample,set,clr,ce);
u3: HiCnt PORT MAP (input,ce,clr,digitalHF);
u4: LowCnt PORT MAP (input,clk1k,clk100,clk10,
clr,count,busy,fr_high,fr_low,fr_vlow);
u5: Divide PORT MAP (set,clock,count,digitalLF);
END FreqMeter_arch;
错误提示 80) bject "set" is used but not declarer |
|