-- Copyright (C) 2001 Bill Billowitch. -- Some of the work to develop this test suite was done with Air Force -- support. The Air Force and Bill Billowitch assume no -- responsibilities for this software. -- This file is part of VESTs (Vhdl tESTs). -- VESTs is free software; you can redistribute it and/or modify it -- under the terms of the GNU General Public License as published by the -- Free Software Foundation; either version 2 of the License, or (at -- your option) any later version. -- VESTs is distributed in the hope that it will be useful, but WITHOUT -- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- for more details. -- You should have received a copy of the GNU General Public License -- along with VESTs; if not, write to the Free Software Foundation, -- Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -- --------------------------------------------------------------------- -- -- $Id: tc90.vhd,v 1.2 2001-10-26 16:30:02 paw Exp $ -- $Revision: 1.2 $ -- -- --------------------------------------------------------------------- ENTITY c04s03b02x00p01n01i00090ent IS END c04s03b02x00p01n01i00090ent; ARCHITECTURE c04s03b02x00p01n01i00090arch OF c04s03b02x00p01n01i00090ent IS Procedure Variable_params_of_subp ( VARIABLE cp1 : in Boolean := FALSE; VARIABLE cp2 : in Bit := '0'; VARIABLE cp3 : in Character := '$'; VARIABLE cp4 : in SEVERITY_LEVEL := FAILURE; VARIABLE cp5 : in Integer := 5 + 6 ; VARIABLE cp6 : in Real := 2.45 ; VARIABLE cp7 : in TIME := 0 fs; VARIABLE cp8 : in Natural := 10; VARIABLE cp9 : in Positive := 99; -- VARIABLE cp12 : out Boolean ; VARIABLE cp13 : out Bit ; VARIABLE cp14 : out Character ; VARIABLE cp15 : out SEVERITY_LEVEL ; VARIABLE cp16 : out Integer ; VARIABLE cp17 : out Real ; VARIABLE cp18 : out TIME ; VARIABLE cp19 : out Natural ; VARIABLE cp20 : out Positive ; -- VARIABLE cp23 : inout Boolean ; VARIABLE cp24 : inout Bit ; VARIABLE cp25 : inout Character ; VARIABLE cp26 : inout SEVERITY_LEVEL ; VARIABLE cp27 : inout Integer ; VARIABLE cp28 : inout Real ; VARIABLE cp29 : inout TIME ; VARIABLE cp30 : inout Natural ; VARIABLE cp31 : inout Positive ) is begin -- assign ins to outs cp12 := cp1 ; cp13 := cp2 ; cp14 := cp3 ; cp15 := cp4 ; cp16 := cp5 ; cp17 := cp6 ; cp18 := cp7 ; cp19 := cp8 ; cp20 := cp9 ; -- assign ins to inouts cp23 := cp1 ; cp24 := cp2 ; cp25 := cp3 ; cp26 := cp4 ; cp27 := cp5 ; cp28 := cp6 ; cp29 := cp7 ; cp30 := cp8 ; cp31 := cp9 ; end Variable_params_of_subp; BEGIN TESTING: PROCESS VARIABLE v1 : Boolean := false; VARIABLE v2 : Bit := '1'; VARIABLE v3 : Character := '%'; VARIABLE v4 : SEVERITY_LEVEL := NOTE; VARIABLE v5 : Integer := 22121; VARIABLE v6 : Real := 2.545; VARIABLE v7 : TIME := 12 ns; VARIABLE v8 : Natural := 90; VARIABLE v9 : Positive := 101; VARIABLE v12 : Boolean ; VARIABLE v13 : Bit ; VARIABLE v14 : Character ; VARIABLE v15 : SEVERITY_LEVEL ; VARIABLE v16 : Integer ; VARIABLE v17 : Real ; VARIABLE v18 : TIME ; VARIABLE v19 : Natural ; VARIABLE v20 : Positive ; VARIABLE v23 : Boolean ; VARIABLE v24 : Bit ; VARIABLE v25 : Character ; VARIABLE v26 : SEVERITY_LEVEL ; VARIABLE v27 : Integer ; VARIABLE v28 : Real ; VARIABLE v29 : TIME ; VARIABLE v30 : Natural ; VARIABLE v31 : Positive ; BEGIN Variable_params_of_subp ( v1,v2,v3,v4,v5,v6,v7,v8,v9, v12,v13,v14,v15,v16,v17,v18,v19,v20, v23,v24,v25,v26,v27,v28,v29,v30,v31 ); assert v12 = v1 report " v12 /= v1" severity failure; assert v13 = v2 report " v13 /= v2" severity failure; assert v14 = v3 report " v14 /= v3" severity failure; assert v15 = v4 report " v15 /= v4" severity failure; assert v16 = v5 report " v16 /= v5" severity failure; assert v17 = v6 report " v17 /= v6" severity failure; assert v18 = v7 report " v18 /= v7" severity failure; assert v19 = v8 report " v19 /= v8" severity failure; assert v20 = v9 report " v20 /= v9" severity failure; assert v23 = v1 report " v23 /= v1" severity failure; assert v24 = v2 report " v24 /= v2" severity failure; assert v25 = v3 report " v25 /= v3" severity failure; assert v26 = v4 report " v26 /= v4" severity failure; assert v27 = v5 report " v27 /= v5" severity failure; assert v28 = v6 report " v28 /= v6" severity failure; assert v29 = v7 report " v29 /= v7" severity failure; assert v30 = v8 report " v30 /= v8" severity failure; assert v31 = v9 report " v31 /= v9" severity failure; WAIT for 1 ns; assert NOT( v12 = v1 and v13 = v2 and v14 = v3 and v15 = v4 and v16 = v5 and v17 = v6 and v18 = v7 and v19 = v8 and v20 = v9 and v23 = v1 and v24 = v2 and v25 = v3 and v26 = v4 and v27 = v5 and v28 = v6 and v29 = v7 and v30 = v8 and v31 = v9 ) report "***PASSED TEST:c04s03b02x00p01n01i00090" severity NOTE; assert ( v12 = v1 and v13 = v2 and v14 = v3 and v15 = v4 and v16 = v5 and v17 = v6 and v18 = v7 and v19 = v8 and v20 = v9 and v23 = v1 and v24 = v2 and v25 = v3 and v26 = v4 and v27 = v5 and v28 = v6 and v29 = v7 and v30 = v8 and v31 = v9 ) report "***FAILED TEST: c04s03b02x00p01n01i00090 - Variables as the interface objects that appear as variable parameters of subprogram." severity ERROR; wait; END PROCESS TESTING; END c04s03b02x00p01n01i00090arch;