lustrec-tests / vhdl_json / vhdl_files / 2-exportOK / ghdl / ghdl / testsuite / vests / vhdl-93 / billowitch / compliant / tc1139.vhd @ 3fd18385
History | View | Annotate | Download (2.24 KB)
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: tc1139.vhd,v 1.2 2001-10-26 16:29:39 paw Exp $ |
27 |
-- $Revision: 1.2 $ |
28 |
-- |
29 |
-- --------------------------------------------------------------------- |
30 |
|
31 |
ENTITY c06s05b00x00p05n02i01139ent IS |
32 |
END c06s05b00x00p05n02i01139ent; |
33 |
|
34 |
ARCHITECTURE c06s05b00x00p05n02i01139arch OF c06s05b00x00p05n02i01139ent IS |
35 |
|
36 |
BEGIN |
37 |
TESTING: PROCESS |
38 |
type ENUM1 is (M1, M2, M3, M4, M5); |
39 |
type ABASE is array (ENUM1 range <>) of BOOLEAN; |
40 |
subtype A1 is ABASE(ENUM1 range M1 to M5); |
41 |
function F(i : integer) return ENUM1 is |
42 |
begin |
43 |
return M2; |
44 |
end F; |
45 |
|
46 |
function G(j : integer) return ENUM1 is |
47 |
begin |
48 |
return M4; |
49 |
end G; |
50 |
variable ii : integer; |
51 |
variable jj : integer; |
52 |
variable V1 : A1 ; -- := (others=>TRUE); |
53 |
variable V4 : A1 ; -- := (others=>TRUE); |
54 |
variable V2, V3: ENUM1; |
55 |
BEGIN |
56 |
V1(M1 to M3) := V1(F(ii) to G(jj)); |
57 |
assert NOT(V1(M1 to M3)=(false,false,false)) |
58 |
report "***PASSED TEST: c06s05b00x00p05n02i01139" |
59 |
severity NOTE; |
60 |
assert (V1(M1 to M3)=(false,false,false)) |
61 |
report "***FAILED TEST: c06s05b00x00p05n02i01139 - Dynamic expressions are permitted in lower and upper bounds in range specifications in array slices." |
62 |
severity ERROR; |
63 |
wait; |
64 |
END PROCESS TESTING; |
65 |
|
66 |
END c06s05b00x00p05n02i01139arch; |