1
2-- Copyright (C) 2001 Bill Billowitch.
3
4-- Some of the work to develop this test suite was done with Air Force
5-- support.  The Air Force and Bill Billowitch assume no
6-- responsibilities for this software.
7
8-- This file is part of VESTs (Vhdl tESTs).
9
10-- VESTs is free software; you can redistribute it and/or modify it
11-- under the terms of the GNU General Public License as published by the
12-- Free Software Foundation; either version 2 of the License, or (at
13-- your option) any later version.
14
15-- VESTs is distributed in the hope that it will be useful, but WITHOUT
16-- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
17-- FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
18-- for more details.
19
20-- You should have received a copy of the GNU General Public License
21-- along with VESTs; if not, write to the Free Software Foundation,
22-- Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
23
24-- ---------------------------------------------------------------------
25--
26-- $Id: tc758.vhd,v 1.2 2001-10-26 16:30:04 paw Exp $
27-- $Revision: 1.2 $
28--
29-- ---------------------------------------------------------------------
30
31package c01s01b01x01p05n02i00758pkg is
32
33--UNCONSTRAINED ARRAY OF TYPES FROM STANDARD PACKAGE
34--Index type is natural
35  type boolean_vector       is array (natural range <>) of boolean;
36  type severity_level_vector    is array (natural range <>) of severity_level;
37  type integer_vector       is array (natural range <>) of integer;
38  type real_vector       is array (natural range <>) of real;
39  type time_vector       is array (natural range <>) of time;
40  type natural_vector       is array (natural range <>) of natural;
41  type positive_vector    is array (natural range <>) of positive;
42
43  constant C1    : boolean    := true;
44  constant C2    : bit       := '1';
45  constant C3    : character    := 's';
46  constant C4    : severity_level:= note;
47  constant C5    : integer    := 3;
48  constant C6    : real       := 3.0;
49  constant C7    : time       := 3 ns;
50  constant C8    : natural    := 1;
51  constant C9    : positive    := 1;
52  constant C10    : string    := "shishir";
53  constant C11    : bit_vector    := B"0011";
54  constant C12    : boolean_vector:= (true,false);
55  constant C13    : severity_level_vector := (note,error);
56  constant C14    : integer_vector:= (1,2,3,4);
57  constant C15    : real_vector    := (1.0,2.0,3.0,4.0);
58  constant C16    : time_vector    := (1 ns, 2 ns, 3 ns, 4 ns);
59  constant C17    : natural_vector:= (1,2,3,4);
60  constant C18    : positive_vector:= (1,2,3,4);
61
62end c01s01b01x01p05n02i00758pkg;
63
64use   work.c01s01b01x01p05n02i00758pkg.ALL;
65ENTITY c01s01b01x01p05n02i00758ent IS
66  generic(
67    zero    : integer := 0;
68    one     : integer := 1;
69    two     : integer := 2;
70    three   : integer := 3;
71    four    : integer := 4;
72    five    : integer := 5;
73    six     : integer := 6;
74    seven   : integer := 7;
75    eight   : integer := 8;
76    nine    : integer := 9;
77    fifteen   : integer:= 15;
78    Cgen1    : boolean := true;
79    Cgen2    : bit := '1';
80    Cgen3    : character := 's';
81    Cgen4    : severity_level := note;
82    Cgen5    : integer := 3;
83    Cgen6    : real := 3.0;
84    Cgen7    : time := 3 ns;
85    Cgen8    : natural := 1;
86    Cgen9    : positive := 1;
87    Cgen10    : string := "shishir";
88    Cgen11    : bit_vector := B"0011";
89    Cgen12    : boolean_vector := (true,false);
90    Cgen13    : severity_level_vector := (note,error);
91    Cgen14    : integer_vector := (1,2,3,4);
92    Cgen15    : real_vector := (1.0,2.0,3.0,4.0);
93    Cgen16    : time_vector := (1 ns, 2 ns, 3 ns, 4 ns);
94    Cgen17    : natural_vector := (1,2,3,4);
95    Cgen18    : positive_vector := (1,2,3,4)   );
96  port(
97    Vgen1    : boolean    := true;
98    Vgen2    : bit       := '1';
99    Vgen3    : character    := 's';
100    Vgen4    : severity_level:= note;
101    Vgen5    : integer    := 3;
102    Vgen6    : real       := 3.0;
103    Vgen7    : time       := 3 ns;
104    Vgen8    : natural    := 1;
105    Vgen9    : positive    := 1;
106    Vgen10    : string    := "shishir";
107    Vgen11    : bit_vector    := B"0011";
108    Vgen12    : boolean_vector:= (true,false);
109    Vgen13    : severity_level_vector := (note,error);
110    Vgen14    : integer_vector:= (1,2,3,4);
111    Vgen15    : real_vector    := (1.0,2.0,3.0,4.0);
112    Vgen16    : time_vector    := (1 ns, 2 ns, 3 ns, 4 ns);
113    Vgen17    : natural_vector:= (1,2,3,4);
114    Vgen18    : positive_vector:= (1,2,3,4)
115    );
116END c01s01b01x01p05n02i00758ent;
117
118ARCHITECTURE c01s01b01x01p05n02i00758arch OF c01s01b01x01p05n02i00758ent IS
119
120BEGIN
121  assert Vgen1 = C1 report "Initializing signal with generic Vgen1 does not work" severity error;
122  assert Vgen2 = C2 report "Initializing signal with generic Vgen2 does not work" severity error;
123  assert Vgen3 = C3 report "Initializing signal with generic Vgen3 does not work" severity error;
124  assert Vgen4 = C4 report "Initializing signal with generic Vgen4 does not work" severity error;
125  assert Vgen5 = C5 report "Initializing signal with generic Vgen5 does not work" severity error;
126  assert Vgen6 = C6 report "Initializing signal with generic Vgen6 does not work" severity error;
127  assert Vgen7 = C7 report "Initializing signal with generic Vgen7 does not work" severity error;
128  assert Vgen8 = C8 report "Initializing signal with generic Vgen8 does not work" severity error;
129  assert Vgen9 = C9 report "Initializing signal with generic Vgen9 does not work" severity error;
130  assert Vgen10 = C10 report "Initializing signal with generic Vgen10 does not work" severity error;
131  assert Vgen11 = C11 report "Initializing signal with generic Vgen11 does not work" severity error;
132  assert Vgen12 = C12 report "Initializing signal with generic Vgen12 does not work" severity error;
133  assert Vgen13 = C13 report "Initializing signal with generic Vgen13 does not work" severity error;
134  assert Vgen14 = C14 report "Initializing signal with generic Vgen14 does not work" severity error;
135  assert Vgen15 = C15 report "Initializing signal with generic Vgen15 does not work" severity error;
136  assert Vgen16 = C16 report "Initializing signal with generic Vgen16 does not work" severity error;
137  assert Vgen17 = C17 report "Initializing signal with generic Vgen17 does not work" severity error;
138  assert Vgen18 = C18 report "Initializing signal with generic Vgen18 does not work" severity error;
139
140  TESTING: PROCESS
141  BEGIN
142
143    assert NOT(     Vgen1 = C1 and
144                    Vgen2 = C2 and
145                    Vgen3 = C3 and
146                    Vgen4 = C4 and
147                    Vgen5 = C5 and
148                    Vgen6 = C6 and
149                    Vgen7 = C7 and
150                    Vgen8 = C8 and
151                    Vgen9 = C9 and
152                    Vgen10 = C10 and
153                    Vgen11 = C11 and
154                    Vgen12 = C12 and
155                    Vgen13 = C13 and
156                    Vgen14 = C14 and
157                    Vgen15 = C15 and
158                    Vgen16 = C16 and
159                    Vgen17 = C17 and
160                    Vgen18 = C18 )
161      report "***PASSED TEST: c01s01b01x01p05n02i00758"
162      severity NOTE;
163    assert(        Vgen1 = C1 and
164                   Vgen2 = C2 and
165                   Vgen3 = C3 and
166                   Vgen4 = C4 and
167                   Vgen5 = C5 and
168                   Vgen6 = C6 and
169                   Vgen7 = C7 and
170                   Vgen8 = C8 and
171                   Vgen9 = C9 and
172                   Vgen10 = C10 and
173                   Vgen11 = C11 and
174                   Vgen12 = C12 and
175                   Vgen13 = C13 and
176                   Vgen14 = C14 and
177                   Vgen15 = C15 and
178                   Vgen16 = C16 and
179                   Vgen17 = C17 and
180                   Vgen18 = C18 )
181      report "***FAILED TEST: c01s01b01x01p05n02i00758 - Generic can be used to specify the size of ports."
182      severity ERROR;
183    wait;
184  END PROCESS TESTING;
185
186END c01s01b01x01p05n02i00758arch;
187