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中忘记连线了,结果肯定无。

解决方案

回去检查是不是忘记连线了。
使用<=进行硬件连线。

Guess you like

Origin blog.csdn.net/GreatSimulation/article/details/109682311