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: tc996.vhd,v 1.2 2001-10-26 16:30:04 paw Exp $ 27-- $Revision: 1.2 $ 28-- 29-- --------------------------------------------------------------------- 30 31-- too mangled up to fix for me 32 33PACKAGE c06s03b00x00p08n01i00996pkg IS 34-- 35-- This packages contains declarations of User attributes 36-- 37-- ---------------------------------------------------------------------- 38-- 39 TYPE RESISTANCE IS RANGE 0 TO 1E9 40 UNITS 41 pf; 42 nf = 1000 pf; 43 mf = 1000 nf; 44 END UNITS; 45 46 TYPE t_logic IS ( 47 U, D, 48 Z0, Z1, ZDX, DZX, ZX, 49 W0, W1, WZ0, WZ1, WDX, DWX, WZX, ZWX, WX, 50 R0, R1, RW0, RW1, RZ0, RZ1, RDX, DRX, RZX, ZRX, RWX, WRX, RX, 51 F0, F1, FR0, FR1, FW0, FW1, FZ0, FZ1, FDX, DFX, FZX, ZFX, FWX, WFX, FRX, RFX, FX 52 ); 53-- 54-- Scalar types Declarations 55-- 56 SUBTYPE st_scl1 IS BOOLEAN; 57 SUBTYPE st_scl2 IS BIT; 58 SUBTYPE st_scl3 IS CHARACTER; 59 SUBTYPE st_scl4 IS INTEGER; 60 SUBTYPE st_scl5 IS REAL; 61 SUBTYPE st_scl6 IS TIME; 62 SUBTYPE st_scl7 IS RESISTANCE; 63 SUBTYPE st_scl8 IS t_logic; 64-- 65-- character string types 66-- 67 SUBTYPE st_str1 IS STRING; 68 SUBTYPE st_str2 IS STRING (1 TO 4); 69 70-- --------------------------------------------------------------------- 71-- Attribute Declarations 72-- --------------------------------------------------------------------- 73-- 74 ATTRIBUTE atr_scl1 : st_scl1; 75 ATTRIBUTE atr_scl2 : st_scl2; 76 ATTRIBUTE atr_scl3 : st_scl3; 77 ATTRIBUTE atr_scl4 : st_scl4; 78 ATTRIBUTE atr_scl5 : st_scl5; 79 ATTRIBUTE atr_scl6 : st_scl6; 80 ATTRIBUTE atr_scl7 : st_scl7; 81 ATTRIBUTE atr_scl8 : st_scl8; 82 ATTRIBUTE atr_str1 : st_str1; 83 ATTRIBUTE atr_str2 : st_str2; 84 85END; 86 87USE WORK.c06s03b00x00p08n01i00996pkg.all; 88ENTITY c06s03b00x00p08n01i00996ent IS 89 GENERIC ( 90 p_scl1 : st_scl1; 91 p_scl2 : st_scl2; 92 p_scl3 : st_scl3; 93 p_scl4 : st_scl4; 94 p_scl5 : st_scl5; 95 p_scl6 : st_scl6; 96 p_scl7 : st_scl7; 97 p_scl8 : st_scl8; 98 p_str1 : st_str1; 99 p_str2 : st_str2; 100 labelid : STRING ); 101END c06s03b00x00p08n01i00996ent; 102 103ARCHITECTURE c06s03b00x00p08n01i00996arch OF c06s03b00x00p08n01i00996ent IS 104-- This entity behavior checks the values of attributes referenced at the configuration. 105BEGIN 106 PROCESS 107 BEGIN 108 ASSERT p_scl1 = TRUE 109 REPORT "ERROR: Wrong value for " & labelid & "'atr_scl1" SEVERITY FAILURE; 110 ASSERT p_scl2 = '0' 111 REPORT "ERROR: Wrong value for " & labelid & "'atr_scl2" SEVERITY FAILURE; 112 ASSERT p_scl3 = 'z' 113 REPORT "ERROR: Wrong value for " & labelid & "'atr_scl3" SEVERITY FAILURE; 114 ASSERT p_scl4 = 0 115 REPORT "ERROR: Wrong value for " & labelid & "'atr_scl4" SEVERITY FAILURE; 116 ASSERT p_scl5 = 10.0 117 REPORT "ERROR: Wrong value for " & labelid & "'atr_scl5" SEVERITY FAILURE; 118 ASSERT p_scl6 = 10 ns 119 REPORT "ERROR: Wrong value for " & labelid & "'atr_scl6" SEVERITY FAILURE; 120 ASSERT p_scl7 = 10000 pf 121 REPORT "ERROR: Wrong value for " & labelid & "'atr_scl7" SEVERITY FAILURE; 122 ASSERT p_scl8 = FX 123 REPORT "ERROR: Wrong value for " & labelid & "'atr_scl8" SEVERITY FAILURE; 124 ASSERT p_str1 = "signal" 125 REPORT "ERROR: Wrong value for " & labelid & "'atr_str1" SEVERITY FAILURE; 126 ASSERT p_str2 = "XXXX" 127 REPORT "ERROR: Wrong value for " & labelid & "'atr_str2" SEVERITY FAILURE; 128 129 assert NOT( p_scl1 = TRUE 130 and p_scl2 = '0' 131 and p_scl3 = 'z' 132 and p_scl4 = 0 133 and p_scl5 = 10.0 134 and p_scl6 = 10 ns 135 and p_scl7 = 10000 pf 136 and p_scl8 = FX 137 and p_str1 = "signal" 138 and p_str2 = "XXXX") 139 report "***PASSED TEST: c06s03b00x00p08n01i00996" 140 severity NOTE; 141 assert ( p_scl1 = TRUE 142 and p_scl2 = '0' 143 and p_scl3 = 'z' 144 and p_scl4 = 0 145 and p_scl5 = 10.0 146 and p_scl6 = 10 ns 147 and p_scl7 = 10000 pf 148 and p_scl8 = FX 149 and p_str1 = "signal" 150 and p_str2 = "XXXX") 151 report "***FAILED TEST: c06s03b00x00p08n01i00996 - Expanded name denotes a primary unit contained in design library test failed." 152 severity ERROR; 153 wait; 154 END PROCESS; 155END; 156 157 158USE WORK.c06s03b00x00p08n01i00996pkg.all; 159ENTITY c06s03b00x00p08n01i00996ent_a IS 160END c06s03b00x00p08n01i00996ent_a; 161 162ARCHITECTURE c06s03b00x00p08n01i00996arch OF c06s03b00x00p08n01i00996ent IS 163-- 164 COMPONENT c06s03b00x00p08n01i00996ent_a 165 END COMPONENT; 166 167BEGIN 168 check : c06s03b00x00p08n01i00996ent_a; 169END c06s03b00x00p08n01i00996arch; 170 171USE WORK.c06s03b00x00p08n01i00996pkg.all; 172CONFIGURATION c06s03b00x00p08n01i00996cfg OF c06s03b00x00p08n01i00996ent IS 173 ATTRIBUTE atr_scl1 OF c06s03b00x00p08n01i00996cfg: CONFIGURATION IS TRUE; 174 ATTRIBUTE atr_scl2 OF c06s03b00x00p08n01i00996cfg: CONFIGURATION IS '0'; 175 ATTRIBUTE atr_scl3 OF c06s03b00x00p08n01i00996cfg: CONFIGURATION IS 'z'; 176 ATTRIBUTE atr_scl4 OF c06s03b00x00p08n01i00996cfg: CONFIGURATION IS 0; 177 ATTRIBUTE atr_scl5 OF c06s03b00x00p08n01i00996cfg: CONFIGURATION IS 10.0; 178 ATTRIBUTE atr_scl6 OF c06s03b00x00p08n01i00996cfg: CONFIGURATION IS 10 ns; 179 ATTRIBUTE atr_scl7 OF c06s03b00x00p08n01i00996cfg: CONFIGURATION IS 10000 pf; 180 ATTRIBUTE atr_scl8 OF c06s03b00x00p08n01i00996cfg: CONFIGURATION IS FX; 181 ATTRIBUTE atr_str1 OF c06s03b00x00p08n01i00996cfg: CONFIGURATION IS "signal"; 182 ATTRIBUTE atr_str2 OF c06s03b00x00p08n01i00996cfg: CONFIGURATION IS "XXXX"; 183 184 FOR c06s03b00x00p08n01i00996arch 185 FOR check : c06s03b00x00p08n01i00996ent_a USE ENTITY WORK.c06s03b00x00p08n01i00996ent_a(c06s03b00x00p08n01i00996arch_a) 186 GENERIC MAP ( 187 c06s03b00x00p08n01i00996cfg'atr_scl1, 188 c06s03b00x00p08n01i00996cfg'atr_scl2, 189 c06s03b00x00p08n01i00996cfg'atr_scl3, 190 c06s03b00x00p08n01i00996cfg'atr_scl4, 191 c06s03b00x00p08n01i00996cfg'atr_scl5, 192 c06s03b00x00p08n01i00996cfg'atr_scl6, 193 c06s03b00x00p08n01i00996cfg'atr_scl7, 194 c06s03b00x00p08n01i00996cfg'atr_scl8, 195 c06s03b00x00p08n01i00996cfg'atr_str1, 196 c06s03b00x00p08n01i00996cfg'atr_str2, 197 "work.c06s03b00x00p08n01i00996cfg" ); 198 END FOR; 199 END FOR; 200END c06s03b00x00p08n01i00996cfg; 201