如何使用循环中的断言在VHDL中为模块编写testbench?

时间:2018-03-30 16:35:15

标签: vhdl assert

我们用实体符号写了一个学校项目,输出1或0,并且应该用assert自己编写testbench。我们被告知它可以循环或不循环,但它必须通过断言。我对VHDL很陌生,所以对我来说编写测试平台有点困难。 ADDRESS是0到15之间的值,ROW和COLUMN是0到7之间的值,我应该完全检查一个符号(所有行和列),然后检查其他地址中的随机值。

ENTITY symbol IS
END symbol_tb;

ARCHITECTURE behavior OF symbol_tb IS 

COMPONENT symbol
PORT(
     ADDRESS : IN  std_logic_vector(3 downto 0);
     COLUMN : IN  std_logic_vector(2 downto 0);
     ROW : IN  std_logic_vector(2 downto 0);
     DATA : OUT  std_logic
    );
END COMPONENT;

signal DATA : std_logic 
signal ADDRESS : std_logic_vector(3 downto 0) := "0011";
signal COLUMN : std_logic_vector(2 downto 0) := "011";
signal ROW: std_logic_vector(2 downto 0) := "001";

BEGIN

-- Instantiate the Unit Under Test (UUT)
uut: symbol PORT MAP (
      ADDRESS => ADDRESS,
      COLUMN => COLUMN,
      ROW => ROW,
      DATA => DATA
    );

-- Stimulus process
stim_proc: process
begin       
wait for 5 ns;
end process;

END;

我的问题是,如何将断言置于循环中?对于有关VHDL中测试平台的任何建议,我将不胜感激。

0 个答案:

没有答案