急求各位高手帮忙解决一个问题,郁闷了小弟很多天!谢谢!LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
ENTITY DIGITAL1 IS --数字频率计整程序
PORT(CON_GATE,STD,BEICE,Z_RST:IN STD_LOGIC; --beice为被测信号,con_gate为门控信号
FREQUENCE:OUT STD_LOGIC_VECTOR(31 DOWNTO 0);--频率输出
SLJI:OUT INTEGER RANGE 0 TO 15); --频率数量级
END ENTITY;
ARCHITECTURE BHV OF DIGITAL1 IS
COMPONENT COUNT IS --计数模块元件
PORT(STDF,BCF,GATE:IN STD_LOGIC;
BOUT,SOUT:OUT STD_LOGIC_VECTOR(31 DOWNTO 0));
END COMPONENT;
COMPONENT DIV1 IS --除法模块元件
PORT (CLK,RST:IN STD_LOGIC;
BEI,CHU:IN STD_LOGIC_VECTOR(31 DOWNTO 0);--被除数,除数
SHANG:OUT STD_LOGIC_VECTOR(31 DOWNTO 0);--商
DIAN:OUT INTEGER RANGE 0 TO 15 );--小数点
END COMPONENT;
SIGNAL A,B:STD_LOGIC_VECTOR(31 DOWNTO 0); --连接信号
SIGNAL B_REG,S_REG:STD_LOGIC_VECTOR(31 DOWNTO 0);--连接
BEGIN
U1:COUNT PORT MAP (STD,BEICE,CON_GATE,A,B);--计数模块
PROCESS(STD)
BEGIN
IF(STD='0' AND STD'EVENT) THEN
B_REG <=A;
S_REG <=B;
END IF;
END PROCESS; --到此时_REG,S_REG都正确输出
U2:DIV1 PORT MAP (STD,Z_RST,B_REG,S_REG,FREQUENCE,SLJI);--除法模块
--为什么我的两个模块分别编译时正确,但通过元件component后,
--B_REG,S_REG都没通过div1模块赋值到被除数,除数
--提示Warning: Ignored node in vector source file. Can't find corresponding node name div1:U2|BEI in design.
-- Warning: Ignored node in vector source file. Can't find corresponding node name div1:U2|CHU in design.
END ARCHITECTURE;