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