blob: 8a6f25e20ee78b892a0a33040015bff7901c7115 (
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
|
entity e1 is
port (
vector : in bit_vector(3 downto 0);
output : out bit
);
end entity;
architecture a1 of e1 is
signal zero : vector'element;
begin
zero <= vector(0);
process(all) is
variable z : vector'element;
begin
z := zero;
output <= z;
end process;
end architecture;
entity e1_tb is
end entity;
architecture top of e1_tb is
constant c1 : bit_vector(3 downto 0) := (others => '0');
signal vector : bit_vector(3 downto 0);
alias vector_type : bit_vector(1 downto 0) is vector(1 downto 0);
signal output : vector_type'element;
begin
l1: entity work.e1
port map (
vector => vector,
output => output
);
tb_proc: process
variable v1 : bit_vector(3 downto 0);
variable v2 : v1'element;
variable v3 : c1'element;
begin
v1 := (others => '0');
vector <= v1;
wait for 1 ns;
v1 := (others => '1');
vector <= v1;
wait for 1 ns;
v1 := (others => '0');
vector <= v1;
wait for 1 ns;
wait;
end process;
end architecture;
|