--以下代码为了 实现输入数据与+-1 相乘,亦即输入数据与方波相乘。
--
--当N=8 时,在QUARTUS 下仿真,OutData 输出正确结果,N=24 时结果异常
--但两次仿真均报告?
--Warning: Ignored node in vector source file.
--Can't find corresponding node name "ToutDataP[0]" in design.;
library IEEE;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
Entity TranInput IS
Generic ( N : integer:=24 );
port ( Reset,Clk : in Std_Logic;
DivFr : in std_logic;
InData : in std_logic_Vector(N-1 downto 0 );
TransFlg : out std_logic;
OutData : out std_logic_Vector(N-1 downto 0 ));
end TranInput;
Architecture a of TranInput IS
signal TOutDataN,ToutDataP : std_logic_Vector(N-1 downto 0);
begin
process(Clk,Reset)
begin
if Reset='1' then
TransFlg<='0';
elsif Clk'event and Clk='1' then
TOutDataN<=0-InData; --输入数据乘-1
TOutDataP<=0+InData;--输入数据乘 1
if DivFr='1' then
OutData<=TOutDataN;
else
OutData<=TOutDataP;
end if;
TransFlg<='1';
end if;
end process;
end a;