1 |
5 |
leonous |
vector_stim_in : process ( clock_tb )
|
2 |
|
|
variable i : integer := 0;
|
3 |
|
|
type out_vector is record
|
4 |
|
|
A : std_logic_vector(8 downto 1) ;
|
5 |
|
|
B : std_logic_vector(8 downto 1) ;
|
6 |
|
|
S : std_logic_vector(4 downto 1) ;
|
7 |
|
|
Y : std_logic_vector(8 downto 1) ;
|
8 |
|
|
CLR : std_logic ;
|
9 |
|
|
CLK : std_logic ;
|
10 |
|
|
C : std_logic ;
|
11 |
|
|
V : std_logic ;
|
12 |
|
|
Z : std_logic ;
|
13 |
|
|
end record;
|
14 |
|
|
type out_vectors is array (natural range <>) of out_vector;
|
15 |
|
|
constant vectors : out_vectors := (
|
16 |
|
|
("UUUUUUUU", "UUUUUUUU", "UUUU", "UUUUUUUU", '1', '1', 'U', 'U', 'U'),
|
17 |
|
|
("01010101", "00000001", "0000", "00000000", '1', '1', '0', '0', '0'),
|
18 |
|
|
("01010101", "00000000", "0000", "00000000", '1', '1', '0', '0', '0'),
|
19 |
|
|
("01010101", "00000010", "0000", "00000000", '1', '1', '0', '0', '0'),
|
20 |
|
|
("01010101", "00000000", "0000", "00000000", '1', '1', '0', '0', '0'),
|
21 |
|
|
("01010101", "00000100", "0000", "00000000", '0', '1', '0', '0', '0'),
|
22 |
|
|
("01010101", "00000100", "0000", "00000000", '0', '1', '0', '0', '0'),
|
23 |
|
|
("01010101", "00000100", "0000", "00000000", '0', '1', '0', '0', '0'),
|
24 |
|
|
("01010101", "00000000", "0000", "01011001", '0', '1', '0', '0', '0'),
|
25 |
|
|
("01010101", "00001000", "0000", "01011001", '0', '1', '0', '0', '0'),
|
26 |
|
|
("01010101", "00000000", "0000", "01010101", '0', '1', '0', '0', '0'),
|
27 |
|
|
("01010101", "00010000", "0000", "01011101", '0', '1', '0', '0', '0'),
|
28 |
|
|
("01010101", "00000000", "0000", "01010101", '0', '1', '0', '0', '0'),
|
29 |
|
|
("01010101", "00100000", "0000", "01100101", '0', '1', '0', '0', '0'),
|
30 |
|
|
("01010101", "00000000", "0000", "01010101", '0', '1', '0', '0', '0'),
|
31 |
|
|
("01010101", "01000000", "0000", "01110101", '0', '1', '0', '0', '0'),
|
32 |
|
|
("01010101", "00000000", "0000", "01010101", '0', '1', '0', '0', '0'),
|
33 |
|
|
("01010101", "10000000", "0000", "10010101", '0', '1', '0', '0', '0'),
|
34 |
|
|
("01010101", "00000001", "0010", "01010101", '0', '1', '0', '0', '0'),
|
35 |
|
|
("01010101", "00000000", "0010", "11010101", '0', '1', '0', '0', '0'),
|
36 |
|
|
("01010101", "00000010", "0010", "01010100", '0', '1', '0', '0', '0'),
|
37 |
|
|
("01010101", "00000000", "0010", "01010101", '0', '1', '0', '0', '0'),
|
38 |
|
|
("01010101", "00000100", "0010", "01010011", '0', '1', '0', '0', '0'),
|
39 |
|
|
("01010101", "00010000", "0010", "01010101", '0', '1', '0', '0', '0'),
|
40 |
|
|
("01010101", "01000000", "0010", "01010001", '0', '1', '0', '0', '0'),
|
41 |
|
|
("01010101", "00000000", "0010", "01000101", '0', '1', '0', '0', '0'),
|
42 |
|
|
("01010101", "10000000", "0010", "00010101", '0', '1', '0', '0', '0'),
|
43 |
|
|
("01010101", "00000001", "0100", "01010101", '0', '1', '0', '0', '0'),
|
44 |
|
|
("01010101", "00000000", "0100", "11010101", '0', '1', '0', '0', '0'),
|
45 |
|
|
("01010101", "00000010", "0101", "10101010", '0', '1', '0', '0', '0'),
|
46 |
|
|
("01010101", "00000000", "0101", "01010101", '0', '1', '0', '0', '0'),
|
47 |
|
|
("01010101", "00000100", "0100", "00010101", '0', '1', '0', '0', '0'),
|
48 |
|
|
("01010101", "00010000", "0101", "01010101", '0', '1', '0', '0', '0'),
|
49 |
|
|
("01010101", "01000000", "0010", "01010000", '0', '1', '1', '0', '0'),
|
50 |
|
|
("01010101", "00000000", "0010", "01010101", '0', '1', '0', '0', '0'),
|
51 |
|
|
("01010101", "10000000", "0010", "00010101", '0', '1', '0', '0', '0'),
|
52 |
|
|
("01010101", "10000000", "0010", "01010101", '0', '1', '0', '0', '0'));
|
53 |
|
|
begin
|
54 |
|
|
if (clock_tb'event and clock_tb = '1') then
|
55 |
|
|
if ( i <= vectors'high) then
|
56 |
|
|
A <= vectors(i).A;
|
57 |
|
|
B <= vectors(i).B;
|
58 |
|
|
S <= vectors(i).S;
|
59 |
|
|
--Y <= vectors(i).Y;
|
60 |
|
|
CLR <= vectors(i).CLR;
|
61 |
|
|
CLK <= vectors(i).CLK;
|
62 |
|
|
--C <= vectors(i).C;
|
63 |
|
|
--V <= vectors(i).V;
|
64 |
|
|
--Z <= vectors(i).Z;
|
65 |
|
|
|
66 |
|
|
i := i + 1;
|
67 |
|
|
else
|
68 |
|
|
finished <= '1';
|
69 |
|
|
end if;
|
70 |
|
|
else
|
71 |
|
|
CLK <= clock_tb;
|
72 |
|
|
end if;
|
73 |
|
|
|
74 |
|
|
end process vector_stim_in;
|
75 |
|
|
|