aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/ghdl-issues/issue2373/tb_dut-star.vhdl
blob: 32dfd33c33dd40472353f65c210c7a77b0b8537b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
library ieee;
use ieee.std_logic_1164.all;

entity tb_dut is
	port(
		clk_in: in std_logic;

		dut1_a1_in: in std_logic;
		dut1_b1_out: out std_logic;
		dut1_a2_in: in std_logic;
		dut1_b2_out: out std_logic;

		dut2_a1_in: in std_logic;
		dut2_b1_out: out std_logic;
		dut2_a2_in: in std_logic;
		dut2_b2_out: out std_logic
	);
end;

architecture tb of tb_dut is
begin
	dut_1: entity work.dut
		port map(
			clk_in => clk_in,
	                a1_in => dut1_a1_in,
			b1_out => dut1_b1_out,
			a2_in => dut1_a2_in,
			b2_out => dut1_b2_out
		);

	dut_2: entity work.dut
		port map(
			clk_in => clk_in,
			a1_in => dut2_a1_in,
			b1_out => dut2_b1_out,
			a2_in => dut2_a2_in,
			b2_out => dut2_b2_out
		);



	default clock is rising_edge(clk_in);

--	stability_1: assert 
--		{(dut1_a1_in = dut2_a1_in and dut1_a2_in = dut2_a2_in)[+];
--		{(dut1_a1_in = dut2_a1_in and dut1_a2_in = dut2_a2_in)[*1 to inf];
--			dut1_a1_in /= dut2_a1_in and dut1_a2_in = dut2_a2_in} |->
--		{dut1_b1_out = dut2_b1_out}!;

	stability_2: assert 
--        {(dut1_a1_in = dut2_a1_in and dut1_a2_in = dut2_a2_in)[+];
	  {(dut1_a1_in = dut2_a1_in and dut1_a2_in = dut2_a2_in)[*1 to inf];
		dut1_a1_in = dut2_a1_in and dut1_a2_in /= dut2_a2_in} |->
		{dut1_b2_out = dut2_b2_out}!;

end;