VHDL 仿真出现 UUUUUUUU 红线
出现UUUUUU可能的原因
1.未初始化:
解决方案
在Test Bench 中使用 := 符号进行初始化
library IEEE;
use IEEE.std_logic_1164.all;
entity SAM_tb is
end SAM_tb;
architecture arch of SAM_tb is
component SAM is
port (
A, B: in std_logic_vector(7 downto 0);
Start: in std_logic;
RST: in std_logic;
CLK: in std_logic;
Y: out std_logic_vector(7 downto 0);
Done: out std_logic;
Err: out std_logic);
end component;
--**************************************************************
-- 这里就是信号的初始化
signal Start,RST,CLK,Done,Err: std_logic:='0';
signal A, B,Y : std_logic_vector(7 downto 0):= "00000000";
--**************************************************************
2. 没有复位
解决方案
复位
signal Start,RST,CLK,Done,Err: std_logic:='0';
signal A, B,Y : std_logic_vector(7 downto 0):= "00000000";
begin
UUT: SAM port map(A, B,Start,RST,CLK,Y,Done,Err);
clk_proc: process
begin
CLK <= '0';
wait for 10 ns;
CLK <= '1';
wait for 10 ns;
end process;
sim_proc: process
begin
B<="00001000";
A<="00000101";
--***************************************************
--复位
RST<='1';
--***************************************************
Start<='0';
wait for 40 ns;
RST<='0';
Start<='1';
wait for 20 ns;
RST<='0';
Start<='0';
wait for 40 ns;
RST<='0';
Start<='1';
wait for 20 ns;
RST<='0';
Start<='0';
wait for 40 ns;
RST<='0';
Start<='1';
wait for 20 ns;
RST<='0';
Start<='0';
wait for 40 ns;
wait;
end process;
end arch;
3. 忘记设置连线
在architecture中忘记连线了,结果肯定无。
解决方案
回去检查是不是忘记连线了。
使用<=
进行硬件连线。