aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/vests/vhdl-93/billowitch/compliant/tc90.vhd
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/vests/vhdl-93/billowitch/compliant/tc90.vhd')
-rw-r--r--testsuite/vests/vhdl-93/billowitch/compliant/tc90.vhd195
1 files changed, 195 insertions, 0 deletions
diff --git a/testsuite/vests/vhdl-93/billowitch/compliant/tc90.vhd b/testsuite/vests/vhdl-93/billowitch/compliant/tc90.vhd
new file mode 100644
index 000000000..bbf9afe99
--- /dev/null
+++ b/testsuite/vests/vhdl-93/billowitch/compliant/tc90.vhd
@@ -0,0 +1,195 @@
+
+-- 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;