1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
-- Copyright (C) 2001-2002 The University of Cincinnati.
-- All rights reserved.
-- This file is part of VESTs (Vhdl tESTs).
-- UC MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
-- SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
-- IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
-- OR NON-INFRINGEMENT. UC SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY
-- LICENSEE AS A RESULT OF USING, RESULT OF USING, MODIFYING OR
-- DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
-- By using or copying this Software, Licensee agrees to abide by the
-- intellectual property laws, and all other applicable laws of the U.S.,
-- and the terms of this license.
-- You may modify, distribute, and use the software contained in this
-- package under the terms of the "GNU GENERAL PUBLIC LICENSE" version 2,
-- June 1991. A copy of this license agreement can be found in the file
-- "COPYING", distributed with this archive.
-- 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: test139.ams,v 1.1 2002-03-27 22:11:18 paw Exp $
-- $Revision: 1.1 $
--
-- ---------------------------------------------------------------------
-----------------------------------------------------------------------
-- SIERRA REGRESSION TESTING MODEL
-- Develooped at:
-- Distriburted Processing Laboratory
-- University of cincinnati
-- Cincinnati
-----------------------------------------------------------------------
-- File : test139.ams
-- Author(s) : Geeta Balarkishnan(gbalakri@ececs.uc.edu)
-- Created : May 2001
-----------------------------------------------------------------------
-- Description :
-----------------------------------------------------------------------
-- this test checks the correctness of the record declaration as a type
-- it also checks for the usage of the record element declarations.
-- the assert statement is also checked.
-- the record is declared within a package
-- the test also checks the correctness of the function impelmentation.
-- the function accepts the record parameters and returns the result of
-- type real.
-----------------------------------------------------------------------
PACKAGE electricalsystem IS
SUBTYPE voltage IS real;
SUBTYPE current IS real;
NATURE electrical IS
voltage ACROSS
current THROUGH ground reference;
END PACKAGE electricalsystem;
PACKAGE types IS
TYPE cmodel IS RECORD
cj : real;
cjsw : real;
defw : real;
narrow : real;
END RECORD;
END PACKAGE types;
USE work.electricalsystem.all;
USE work.types.all;
ENTITY test IS
GENERIC (cnom : real := 0.0;
model : cmodel := (0.0, 0.0, 1.0e-6, 0.0);
l : real := 0.0;
w : real := 0.0;
ic : real := 0.0 );
PORT (TERMINAL t1,t2 : electrical);
END ENTITY test;
ARCHITECTURE atest OF test IS
FUNCTION c_init ( cnom : real;
model : cmodel;
l, w : real)
RETURN real IS
VARIABLE ceff : real; -- effective capacitance value
VARIABLE weff : real; -- effective channel width
BEGIN
IF cnom /= 0.0 THEN
ASSERT (model.cj = 0.0 AND model.cjsw = 0.0)
REPORT "Both cnom and model specified";
ceff := cnom;
ELSE
ASSERT (l > 0.0)
REPORT "Channel length not specified";
IF w = 0.0 THEN
weff := model.defw;
ELSE
weff := w;
END IF;
ASSERT (weff > 0.0)
REPORT "Channel width not specified";
ceff := model.cj*(l-model.narrow)*(weff-model.narrow) +
model.cjsw*(l+weff-2.0*model.narrow);
END IF;
RETURN (ceff);
END FUNCTION c_init;
CONSTANT ceff : real := c_init(cnom, model, l, w);
QUANTITY v ACROSS i THROUGH t1 TO t2;
BEGIN
i == ceff * v'dot;
END ARCHITECTURE atest;
|