Tải bản đầy đủ (.pdf) (25 trang)

IEEE standard VHDL packages for MEDS

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (724.63 KB, 25 trang )

IEEE Std 1076.1.1 ™-2004

1076.1.1

TM

IEEE Standard VHDL Analog and
Mixed-Signal Extensions—Packages
for Multiple Energy Domain Support

IEEE Computer Society
Sponsored by the
Design Automation Standards Committee

17 June 2005
3 Park Avenue, New York, NY10016-5997, USA

Print: SH95310
PDF: SS95310



Recognized as an
American National Standard (ANSI)

IEEE Std 1076.1.1™-2004

IEEE Standard VHDL Analog and
Mixed-Signal Extensions—Packages
for Multiple Energy Domain Support


Sponsor

Design Automation Standards Committee
of the
IEEE Computer Society
Approved 5 April 2005

American National Standards Institute
Approved 16 December 2004

IEEE-SA Standards Board
Abstract: This standard defines a collection of VHDL 1076.1 packages, compatible with
IEEE Std 1076.1TM-1999, along with recommendations for conforming use, in order to facilitate the
interchange of simulation models of physical components and subsystems. The packages include
the definition of standard types, subtypes, natures, and constants for modeling in multiple energy
domains (electrical, fluidic, mechanical, etc.).
Keywords: interchange, modeling, model interchange, model portability, multidisciplinary,
multidisciplinary modeling, packages, portability, standard packages, standard VHDL packages,
VHDL, VHDL-AMS

The Institute of Electrical and Electronics Engineers, Inc.
3 Park Avenue, New York, NY 10016-5997, USA
Copyright © 2005 by the Institute of Electrical and Electronics Engineers, Inc.
All rights reserved. Published 17 June 2005. Printed in the United States of America.
IEEE is a registered trademark in the U.S. Patent & Trademark Office, owned by the Institute of Electrical and Electronics
Engineers, Incorporated.
Print:
PDF:

ISBN 0-7381-4645-5 SH95310

ISBN 0-7381-4646-3 SS95310

No part of this publication may be reproduced in any form, in an electronic retrieval system or otherwise, without the prior
written permission of the publisher.


IEEE Standards documents are developed within the IEEE Societies and the Standards Coordinating Committees of the
IEEE Standards Association (IEEE-SA) Standards Board. The IEEE develops its standards through a consensus
development process, approved by the American National Standards Institute, which brings together volunteers
representing varied viewpoints and interests to achieve the final product. Volunteers are not necessarily members of the
Institute and serve without compensation. While the IEEE administers the process and establishes rules to promote fairness
in the consensus development process, the IEEE does not independently evaluate, test, or verify the accuracy of any of the
information contained in its standards.
Use of an IEEE Standard is wholly voluntary. The IEEE disclaims liability for any personal injury, property or other
damage, of any nature whatsoever, whether special, indirect, consequential, or compensatory, directly or indirectly resulting
from the publication, use of, or reliance upon this, or any other IEEE Standard document.
The IEEE does not warrant or represent the accuracy or content of the material contained herein, and expressly disclaims
any express or implied warranty, including any implied warranty of merchantability or fitness for a specific purpose, or that
the use of the material contained herein is free from patent infringement. IEEE Standards documents are supplied “AS IS.”
The existence of an IEEE Standard does not imply that there are no other ways to produce, test, measure, purchase, market,
or provide other goods and services related to the scope of the IEEE Standard. Furthermore, the viewpoint expressed at the
time a standard is approved and issued is subject to change brought about through developments in the state of the art and
comments received from users of the standard. Every IEEE Standard is subjected to review at least every five years for
revision or reaffirmation. When a document is more than five years old and has not been reaffirmed, it is reasonable to
conclude that its contents, although still of some value, do not wholly reflect the present state of the art. Users are cautioned
to check to determine that they have the latest edition of any IEEE Standard.
In publishing and making this document available, the IEEE is not suggesting or rendering professional or other services
for, or on behalf of, any person or entity. Nor is the IEEE undertaking to perform any duty owed by any other person or
entity to another. Any person utilizing this, and any other IEEE Standards document, should rely upon the advice of a
competent professional in determining the exercise of reasonable care in any given circumstances.

Interpretations: Occasionally questions may arise regarding the meaning of portions of standards as they relate to specific
applications. When the need for interpretations is brought to the attention of IEEE, the Institute will initiate action to prepare
appropriate responses. Since IEEE Standards represent a consensus of concerned interests, it is important to ensure that any
interpretation has also received the concurrence of a balance of interests. For this reason, IEEE and the members of its
societies and Standards Coordinating Committees are not able to provide an instant response to interpretation requests except
in those cases where the matter has previously received formal consideration. At lectures, symposia, seminars, or educational
courses, an individual presenting information on IEEE standards shall make it clear that his or her views should be considered
the personal views of that individual rather than the formal position, explanation, or interpretation of the IEEE.
Comments for revision of IEEE Standards are welcome from any interested party, regardless of membership affiliation with
IEEE. Suggestions for changes in documents should be in the form of a proposed change of text, together with appropriate
supporting comments. Comments on standards and requests for interpretations should be addressed to:
Secretary, IEEE-SA Standards Board
445 Hoes Lane
Piscataway, NJ 08854
USA
NOTE−Attention is called to the possibility that implementation of this standard may require use of subject
matter covered by patent rights. By publication of this standard, no position is taken with respect to the existence or validity of any patent rights in connection therewith. The IEEE shall not be responsible for identifying
patents for which a license may be required by an IEEE standard or for conducting inquiries into the legal validity or scope of those patents that are brought to its attention.
Authorization to photocopy portions of any individual standard for internal or personal use is granted by the Institute of
Electrical and Electronics Engineers, Inc., provided that the appropriate fee is paid to Copyright Clearance Center. To
arrange for payment of licensing fee, please contact Copyright Clearance Center, Customer Service, 222 Rosewood Drive,
Danvers, MA 01923 USA; +1 978 750 8400. Permission to photocopy portions of any individual standard for educational
classroom use can also be obtained through the Copyright Clearance Center.


Introduction
This introduction in not part of IEEE Std 1076.1.1-2004, IEEE Standard VHDL Analog and Mixed-Signal
Extenstions—Packages for Multiple Energy Domain Support.

This set of packages provides a standard for the declaration of the most frequently used constants and types

required for multiple energy domain modeling. Use of these packages with their defined types, constants and
attributes is intended to provide a mechanism for writing VHDL models (compliant with IEEE Std 1076.11999) that are portable and interoperable with other VHDL models adhering to this standard. The standard
serves a broad class of applications.

Notice to users
Errata
Errata, if any, for this and all other standards can be accessed at the following URL: http://
standards.ieee.org/reading/ieee/updates/errata/index.html. Users are encouraged to check this URL for
errata periodically.

Interpretations
Current interpretations can be accessed at the following URL: />index.html.

Patents
Attention is called to the possibility that implementation of this standard may require use of subject matter
covered by patent rights. By publication of this standard, no position is taken with respect to the existence or
validity of any patent rights in connection therewith. The IEEE shall not be responsible for identifying
patents or patent applications for which a license may be required to implement an IEEE standard or for
conducting inquiries into the legal validity or scope of those patents that are brought to its attention.

iii

Copyright © 2005 IEEE. All rights reserved.


Participants
When this standard was completed, the VHDL 1076.1 Multiple Energy Domain Support Working Group
had the following membership:
H. Alan Mantooth, Chair
Peter R. Wilson, Vice Chair

Peter Ashenden
Jim Barby
Ernst Christen
Peter Frey
Christophe Grimm
Steve Grout
Joachim Haase
Roger Holden
Tom Kazmierski

Monte Mar
Paul Menchini
Adam Morawiec
Richard Munden
Siep Onneweer
Francois Pecheux
Greg Peterson
Juergen Pfitzenmaier

Peter Schwarz
Michael Seibt
Richard Shi
John Shields
Marius Sida
Darrell Teegarden
Alain Vachoux
John Willis
Mark Zwolinski

The following members of the individual balloting committee voted on this standard. Balloters may have

voted for approval, disapproval, or abstention.
Peter Ashenden
Stephen Bailey
Jim Barby
Jayaram Bhasker
Britt Brooks
Keith Chow
Ernst Christen
Byron Davenport
Deepika Devarajan
George Economakos

Amir El-Sheikh
Ernesto Garcia
Joachim Haase
William Hanna
Piotr Karocki
Jake Karrfalt
David Long
Gregory Luri
H. Alan Mantooth
Timothy McBrayer

Egbert Molenkamp
Charles Ngethe
Serafin A. Perez-Lopez
Francesco Sforza
John Shields
Gil Shultz
Alain Vachoux

Srinivasa Vemuru
Peter R. Wilson
Mark Zwolinski

When the IEEE-SA Standards Board approved this standard on 16 December 2004, it had the following
membership:
Don Wright, Chair
Steve M. Mills, Vice Chair
Judith Gorman, Secretary
Chuck Adams
Stephen Berger
Mark D. Bowman
Joseph A. Bruder
Bob Davis
Roberto de Marca Boisson
Julian Forster*
Arnold M. Greenspan
Mark S. Halpin

Raymond Hapeman
Richard J. Holleman
Richard H. Hulett
Lowell G. Johnson
Joseph L. Koepfinger*
Hermann Koch
Thomas J. McGean

*Member Emeritus

Also included are the following nonvoting IEEE-SA Standards Board liaisons:

Satish K. Aggarwal, NRC Representative
Richard DeBlasio, DOE Representative
Alan Cookson, NIST Representative
Jennie Steinhagen
IEEE Standards Project Editor

iv

Copyright © 2005 IEEE. All rights reserved.

Daleep C. Mohla
Paul Nikolich
T. W. Olsen
Ronald C. Petersen
Gary S. Robinson
Frank Stone
Malcolm V. Thaden
Doug Topping
Joe D. Watson


Contents
1. Overview .................................................................................................................................................... 1
1.1 Scope ................................................................................................................................................... 1
1.2 Purpose ................................................................................................................................................ 2
1.3 System of units .................................................................................................................................... 2
1.4 IEEE math package ............................................................................................................................. 2
2. Definitions ...................................................................................................................................................2
3. Constants .................................................................................................................................................... 2
3.1 Usage ................................................................................................................................................... 3

3.2 FUNDAMENTAL_CONSTANTS ..................................................................................................... 3
3.3 MATERIAL_CONSTANTS ............................................................................................................... 5
4. Energy domain packages ............................................................................................................................ 6
4.1 ENERGY_SYSTEMS ......................................................................................................................... 6
4.2 ELECTRICAL_SYSTEMS................................................................................................................. 8
4.3 MECHANICAL_SYSTEMS............................................................................................................. 10
4.4 RADIANT_SYSTEMS ..................................................................................................................... 13
4.5 THERMAL_SYSTEMS .................................................................................................................... 14
4.6 FLUIDIC_SYSTEMS ....................................................................................................................... 15

v

Copyright © 2005 IEEE. All rights reserved.



IEEE Standard VHDL Analog and
Mixed-Signal Extensions—Packages
for Multiple Energy Domain Support

1. Overview

1.1 Scope
This standard defines a collection of VHDL 1076.1 packages, compatible with IEEE Std 1076.1™-1999,1, 2
along with recommendations for conforming use, in order to facilitate the interchange of simulation models
of physical components and subsystems. The packages include the definition of standard types, subtypes,
natures, and constants for modeling in multiple energy domains (electrical, fluidic, mechanical, etc.)
The packages are intended for use primarily in the modeling of multiple energy domain systems. The range
of operation of the packages is not defined in this standard, but is intended to be valid across a wide range
of disciplines and applications.

This standard is embodied in the package declarations for the following packages:
⎯ FUNDAMENTAL_CONSTANTS
⎯ MATERIAL_CONSTANTS
⎯ ENERGY_SYSTEMS
⎯ ELECTRICAL_SYSTEMS
⎯ MECHANICAL_SYSTEMS
⎯ RADIANT_SYSTEMS
⎯ THERMAL_SYSTEMS
⎯ FLUIDIC_SYSTEMS

1

The IEEE standards or products referred to in this standard are trademarks of the Institute of Electrical and Electronics Engineers,
Inc.
2
IEEE publications are available from the Institute of Electrical and Electronics Engineers, Inc., 445 Hoes Lane, Piscataway, NJ
08854, USA ( />
1
Copyright © 2005 IEEE. All rights reserved.


IEEE Std 1076.1.1-2004
IEEE Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support

1.2 Purpose
The definitions of IEEE Std 1076.1-1999 allow users to build simulation models of physical components
and subsystems that may belong to multiple energy domains (electrical, fluidic, mechanical, etc.). Such
models are built upon sets of properties that are specific to each energy domain and encapsulated in socalled natures. IEEE Std 1076.1-1999 provides a mechanism to define natures, but intentionally does not
predefine any standard set of natures as it is expected that this would be done in a subsequent IEEE
standard project. The definition of a standard set of natures is crucial to make possible the reuse and

exchange of models written in VHDL 1076.1 within and among vendors.
The packages were chosen for two purposes. The first purpose was to define a set of basic physical
constants (either with or without default values) so that models written using these packages could have a
common basis for modeling physical systems. The second purpose was to define a set of types and natures
that would provide a common framework for modeling physical systems across a range of commonly used
energy domains. These purposes enable models written using this standard to contain the same physical
constants, but also ensure that the interfaces are consistent, correct, and maintain interoperability.

1.3 System of units
The International System of Units, universally abbreviated SI (from the French Le Système International
d'Unités), is the modern metric system of measurement, and is internationally recognized. The SI system of
units is used in this standard to ensure that the packages are consistent, correct, and internationally
interoperable. In practice this means compliance with IEEE/ASTM SI 10™-2002. Due to the inclusion of
machine readable text in this standard, it has been necessary to use mathematical notation using the syntax
adopted by IEEE Std 1076.1-1999. This is a specific exception to the general SI usage in this standard.

1.4 IEEE math package
This standard uses the VHDL mathematical packages in IEEE Std 1076.2™-1996 for the definition of basic
mathematical types and operators.

2. Definitions
For the purposes of this standard, the following terms and definitions apply. The Authoritative Dictionary
of IEEE Standards, Seventh Edition, should be referenced for terms not defined in this clause.
2.1 unit: Attribute defined as a string that is used to define the name of the fundamental unit of the declared
type. For example, for the quantity voltage in electrical systems, the UNIT is defined as "volt."
2.2 symbol: Attribute defined as a string that is used to define the symbol of the fundamental unit of the
declared type. For example, for the quantity voltage in electrical systems the symbol is defined as "V."

3. Constants
The constants shall be divided into two classes: fixed and user-definable. The fixed constants shall be

fundamental physical constants that have accepted values. The user-definable constants shall be defined as
deferred constants, allowing them to be defined in a package body by the user. This allows the package to
contain names of commonly used constants, without restricting the value to specific cases. The constants
package shall use the MATH_REAL package from the IEEE library.

2
Copyright © 2005 IEEE. All rights reserved.


IEEE Std 1076.1.1-2004
IEEE Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support

3.1 Usage
The FUNDAMENTAL_CONSTANTS package shall be compiled into a library symbolically named IEEE.
The MATERIAL_CONSTANTS package shall be compiled into a library symbolically named IEEE_ENV.

3.2 FUNDAMENTAL_CONSTANTS
---------------------------------------------------------------------------- Copyright 2005 by IEEE. All rights reserved.
--- This source file is an essential part of IEEE Std 1076.1.1-2004
-- IEEE Standard Packages for Multiple Energy Domain Support.
--- This source file may not be copied, sold, or included with software
-- that is sold without written permission from the IEEE Standards
-- Department. This source file may be used to implement this standard
-- and may be distributed in compiled form in any manner so long as the
-- compiled form does not allow direct decompilation of the original
-- source file.
--- This source file may be copied for individual use between licensed users.
-- This source file is provided on an AS IS basis. The IEEE disclaims ANY
-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY
-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source

-- file shall indemnify and hold IEEE harmless from any damages or liability
-- arising out of the use thereof.
--- Title: Standard VHDL Packages for Multiple Energy Domain Support
-(IEEE 1076.1.1–2004, FUNDAMENTAL_CONSTANTS)
--- Library: This package shall be compiled into a library
-- symbolically named IEEE.
--- Developers: IEEE DASC VHDL Multiple Energy Domain Packages Working Group
--- Purpose: To define a set of basic physical constants with default values.
--- Limitation:
--- Notes: The fundamental constants used in this package were based on the
-National Institute of Standards and Technology (NIST) values with
-published uncertainty as given in the table below:
--- Constant
Description
Default value
Uncertainty
-- ----------------------------------------- PHYS_Q
Electronic charge
1.602_176_462e-19
0.000_000_063e-19
-12
-- PHYS_EPS0
Permittivity of vacuum 8.854_187_817e
exact
-- PHYS_MU0
Permeability of vacuum 4.0e-7*pi
exact
-- PHYS_K
Boltzmann’s constant
1.380_650_3e-23

0.000_002_4e-23
-- PHYS_GRAVITY
Accel. due to gravity 9.806_65
exact
-- PHYS_CTOK
Convert degrees C->K
273.15
exact
-- PHYS_C
Velocity of light
299_792_458.0
exact
-- PHYS_H
Planck’s constant
6.626_068_76e-34
0.000_000_52e-34
-- PHYS_H_OVER_2_PI Planck’s constant/2*Pi PHYS_H/MATH_2_PI
0.000_000_82e-34
--- ----------------------------------------------------------------------------- Version : 1.0
-- Date : 4 November 2004
-- ----------------------------------------------------------------------------

3
Copyright © 2005 IEEE. All rights reserved.


IEEE Std 1076.1.1-2004
IEEE Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
library IEEE;
use IEEE.MATH_REAL.all;

package FUNDAMENTAL_CONSTANTS is
-- Declaration
attribute SYMBOL : STRING;
attribute UNIT
: STRING;
-- Physical Constant Definitions
-- Electronic charge <COULOMB>
constant PHYS_Q : REAL := 1.602_176_462e-19;
-- Permittivity of vacuum <FARADS/METER>
constant PHYS_EPS0 : REAL := 8.854_187_817e-12;
-- Permeability of vacuum <HENRIES/METER>
constant PHYS_MU0 : REAL := 4.0e-7 * MATH_PI;
-- Boltzmann's constant <JOULES/KELVIN>
constant PHYS_K : REAL := 1.380_650_3e-23;
-- Acceleration due to gravity <METERS/SECOND_SQUARED>
constant PHYS_GRAVITY : REAL := 9.806_65;
-- Conversion between degrees Celsius and Kelvin
constant PHYS_CTOK : REAL := 273.15;
-- Velocity of light in a vacuum <METERS/SECOND>
constant PHYS_C : REAL := 299_792_458.0;
-- Planck’s constant
constant PHYS_H : REAL := 6.626_068_76e-34;
-- Planck’s constant divided by 2 pi
constant PHYS_H_OVER_2_PI : REAL := PHYS_H/MATH_2_PI;
-- common scaling factors
constant YOCTO : REAL :=
constant ZEPTO : REAL :=
constant ATTO : REAL :=
constant FEMTO : REAL :=
constant PICO : REAL :=

constant NANO : REAL :=
constant MICRO : REAL :=
constant MILLI : REAL :=
constant CENTI : REAL :=
constant DECI : REAL :=
constant DEKA : REAL :=
constant HECTO : REAL :=
constant KILO : REAL :=
constant MEGA : REAL :=
constant GIGA : REAL :=
constant TERA : REAL :=
constant PETA : REAL :=
constant EXA
: REAL :=
constant ZETTA : REAL :=
constant YOTTA : REAL :=
alias DECA is DEKA;

1.0e-24;
1.0e-21;
1.0e-18;
1.0e-15;
1.0e-12;
1.0e-9;
1.0e-6;
1.0e-3;
1.0e-2;
1.0e-1;
1.0e+1;
1.0e+2;

1.0e+3;
1.0e+6;
1.0e+9;
1.0e+12;
1.0e+15;
1.0e+18;
1.0e+21;
1.0e+24;

end package FUNDAMENTAL_CONSTANTS;

4
Copyright © 2005 IEEE. All rights reserved.


IEEE Std 1076.1.1-2004
IEEE Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support

3.3 MATERIAL_CONSTANTS
-------------------------------------------------------------------------- Copyright 2005 by IEEE. All rights reserved.
--- This source file is an essential part of IEEE Std 1076.1.1-2004
-- IEEE Standard Packages for Multiple Energy Domain Support.
--- This source file may not be copied, sold, or included with software
-- that is sold without written permission from the IEEE Standards
-- Department. This source file may be used to implement this standard
-- and may be distributed in compiled form in any manner so long as the
-- compiled form does not allow direct decompilation of the original
-- source file.
--- This source file may be copied for individual use between licensed users.
-- This source file is provided on an AS IS basis. The IEEE disclaims ANY

-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY
-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source
-- file shall indemnify and hold IEEE harmless from any damages or liability
-- arising out of the use thereof.
--- Title: Standard VHDL Packages for Multiple Energy Domain Support
-(IEEE 1076.1.1–2004, MATERIAL_CONSTANTS)
--- Library: This package shall be compiled into a library
-- symbolically named IEEE_ENV.
--- Developers: IEEE DASC VHDL Multiple Energy Domain Packages Working Group
--- Purpose: To define a set of basic physical constants without default values.
--- Limitation:
--- Notes: Deferred constants allow the user to define the value, but the
-names of these constants have been standardized. The rationale
-for this is that, for example, properties of materials are measured
-and subject to variation according the application context,
-environmental conditions, and assumptions of individual experiments.
--The values of the constants used in this package were based on the
-National Institute of Standards and Technology (NIST) values (or from
-reference [1] given below) provided in the table below:
--- Constant
Typical Value Description
-- -------------------- -------------- PHYS_EPS_SI
11.7
Relative permittivity of silicon
-- PHYS_EPS_SIO2 3.9
Relative permittivity of silicon dioxide
-- PHYS_E_SI
190.0e+9
Young's Modulus for silicon <PASCALS>
-- PHYS_E_SIO2

73.0e+9
Young's Modulus for silicon dioxide <PASCALS>
-- PHYS_E_POLY
1.62e+9 [1]
Young's Modulus for polysilicon <PASCALS>
-- PHYS_NU_SI
0.28
Poisson's Ratio for silicon <100-orientation>
-- PHYS_NU_POLY 0.22
[1]
Poisson's Ratio for polysilicon <100-orientation>
-- PHYS_RHO_POLY 2330
Density of polysilicon
-- PHYS_RHO_SIO2 2220
[1]
Density of silicon-dioxide

-- [1] John Lau,"Thermal Stress and Strain in Microelectronics
-- Packaging"
-- ----------------------------------------------------------------------------- Version : 1.0
-- Date : 4 November 2004

-- -------------------------------------------------------------------5
Copyright © 2005 IEEE. All rights reserved.


IEEE Std 1076.1.1-2004
IEEE Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
package MATERIAL_CONSTANTS is
-- Relative permittivity of silicon

constant PHYS_EPS_SI : REAL;
-- Relative permittivity of silicon dioxide
constant PHYS_EPS_SIO2 : REAL;
-- Young's Modulus for silicon <PASCALS>
constant PHYS_E_SI : REAL;
-- Young's Modulus for silicon dioxide <PASCALS>
constant PHYS_E_SIO2 : REAL;
-- Young's Modulus for polysilicon <PASCALS>
constant PHYS_E_POLY : REAL;
-- Poisson's Ratio for silicon <100-orientation>
constant PHYS_NU_SI : REAL;
-- Poisson's Ratio for polysilicon <100-orientation>
constant PHYS_NU_POLY : REAL;
-- Density of polysilicon
constant PHYS_RHO_POLY : REAL;
-- Density of silicon-dioxide
constant PHYS_RHO_SIO2 : REAL;
-- Environmental constants
constant AMBIENT_TEMPERATURE : REAL;
constant AMBIENT_PRESSURE
: REAL;
constant AMBIENT_ILLUMINANCE
: REAL;
end package MATERIAL_CONSTANTS;

4. Energy domain packages
IEEE Std 1076.1-1999 requires that analog properties be defined using quantities and natures. Quantities
can be free (not with respect to a specific reference) or can be through or across branch quantities defined
between terminals of a given nature. Different energy domains use basic definitions of natures, and through
and across types that are defined in these packages. For example, in the electrical domain, through

quantities may be defined using currents and across quantities as voltages. Each package defines the names
of quantity types, natures, tolerances, units, and symbols for use within a single energy domain. The
domain definition packages require the use of the FUNDAMENTAL_CONSTANTS package defined in
3.2.

4.1 ENERGY_SYSTEMS
-------------------------------------------------------------------------- Copyright 2005 by IEEE. All rights reserved.
--- This source file is an essential part of IEEE Std 1076.1.1-2004
-- IEEE Standard Packages for Multiple Energy Domain Support.
--- This source file may not be copied, sold, or included with software
-- that is sold without written permission from the IEEE Standards
-- Department. This source file may be used to implement this standard
-- and may be distributed in compiled form in any manner so long as the
-- compiled form does not allow direct decompilation of the original
-- source file.

6
Copyright © 2005 IEEE. All rights reserved.


IEEE Std 1076.1.1-2004
IEEE Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
--

-----------

--------

This source file may be copied for individual use between licensed users.
This source file is provided on an AS IS basis. The IEEE disclaims ANY

WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY
AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source
file shall indemnify and hold IEEE harmless from any damages or liability
arising out of the use thereof.
Title: Standard VHDL Packages for Multiple Energy Domain Support
(IEEE 1076.1.1–2004, ENERGY_SYSTEMS)
Library: This package shall be compiled into a library
symbolically named IEEE.
Developers: IEEE DASC VHDL Multiple Energy Domain Packages Working Group
Purpose: To define a set of types and natures that would provide a
common framework for modeling energy systems.

--

-- Limitation:
--

-- Notes:
--

-- ----------------------------------------------------------------------------- Version : 1.0
-- Date : 4 November 2004
-- ---------------------------------------------------------------------------library IEEE;
use IEEE.FUNDAMENTAL_CONSTANTS.all;
package ENERGY_SYSTEMS is
-- subtype declarations
subtype ENERGY
is REAL tolerance "DEFAULT_ENERGY";
subtype POWER
is REAL tolerance "DEFAULT_POWER";

subtype PERIODICITY is REAL tolerance "DEFAULT_PERIODICITY";
subtype REAL_ACROSS is REAL tolerance "DEFAULT_REAL_ACROSS";
subtype REAL_THROUGH is REAL tolerance "DEFAULT_REAL_THROUGH";
-- attribute declarations
-- Use of UNIT to designate full description of units
attribute UNIT of ENERGY
: subtype is "joule";
attribute UNIT of POWER
: subtype is "watt";
-- Use of SYMBOL to designate abbreviation of units
attribute SYMBOL of ENERGY
: subtype is "J";
attribute SYMBOL of POWER
: subtype is "W";
-- nature declarations
nature UNSPECIFIED is
REAL_ACROSS
across
REAL_THROUGH
through
UNSPECIFIED_REF reference;
nature UNSPECIFIED_VECTOR is
array (NATURAL range <>) of UNSPECIFIED;
-- vector subtype declarations
subtype ENERGY_VECTOR
is
subtype POWER_VECTOR
is
subtype PERIODICITY_VECTOR is
subtype REAL_ACROSS_VECTOR is

subtype REAL_THROUGH_VECTOR is

REAL_VECTOR tolerance "DEFAULT_ENERGY";
REAL_VECTOR tolerance "DEFAULT_POWER";
REAL_VECTOR tolerance "DEFAULT_PERIODICITY";
UNSPECIFIED_VECTOR'across;
UNSPECIFIED_VECTOR'through;

end package ENERGY_SYSTEMS;

7
Copyright © 2005 IEEE. All rights reserved.


IEEE Std 1076.1.1-2004
IEEE Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support

4.2 ELECTRICAL_SYSTEMS
-------------------------------------------------------------------------- Copyright 2005 by IEEE. All rights reserved.
--- This source file is an essential part of IEEE Std 1076.1.1-2004
-- IEEE Standard Packages for Multiple Energy Domain Support.
--- This source file may not be copied, sold, or included with software
-- that is sold without written permission from the IEEE Standards
-- Department. This source file may be used to implement this standard
-- and may be distributed in compiled form in any manner so long as the
-- compiled form does not allow direct decompilation of the original
-- source file.
--- This source file may be copied for individual use between licensed users.
-- This source file is provided on an AS IS basis. The IEEE disclaims ANY
-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY

-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source
-- file shall indemnify and hold IEEE harmless from any damages or liability
-- arising out of the use thereof.
--- Title: Standard VHDL Packages for Multiple Energy Domain Support
-(IEEE 1076.1.1–2004, ELECTRICAL_SYSTEMS)
--- Library: This package shall be compiled into a library
-- symbolically named IEEE.
--- Developers: IEEE DASC VHDL Multiple Energy Domain Packages Working Group
--- Purpose: To define a set of types and natures that would provide a
-common framework for modeling electrical, magnetic, and
-electromagnetic systems.
--- Limitation:
--- Notes:
--- ----------------------------------------------------------------------------- Version : 1.0
-- Date : 4 November 2004

-- -------------------------------------------------------------------library IEEE;
use IEEE.FUNDAMENTAL_CONSTANTS.all;
package ELECTRICAL_SYSTEMS is
-- subtype declarations
subtype VOLTAGE
is
subtype CURRENT
is
subtype CHARGE
is
subtype RESISTANCE
is
subtype CONDUCTANCE
is

subtype CAPACITANCE
is
subtype MMF
is
subtype ELECTRIC_FLUX
is
subtype ELECTRIC_FLUX_DENSITY
is
subtype ELECTRIC_FIELD_STRENGTH is
subtype MAGNETIC_FLUX
is
subtype MAGNETIC_FLUX_DENSITY
is
subtype MAGNETIC_FIELD_STRENGTH is
subtype INDUCTANCE
is
subtype RELUCTANCE
is

REAL
REAL
REAL
REAL
REAL
REAL
REAL
REAL
REAL
REAL
REAL

REAL
REAL
REAL
REAL

tolerance
tolerance
tolerance
tolerance
tolerance
tolerance
tolerance
tolerance
tolerance
tolerance
tolerance
tolerance
tolerance
tolerance
tolerance

8
Copyright © 2005 IEEE. All rights reserved.

"DEFAULT_VOLTAGE";
"DEFAULT_CURRENT";
"DEFAULT_CHARGE";
"DEFAULT_RESISTANCE";
"DEFAULT_CONDUCTANCE";
"DEFAULT_CAPACITANCE";

"DEFAULT_MMF";
"DEFAULT_FLUX";
"DEFAULT_FLUX_DENSITY";
"DEFAULT_FIELD_STRENGTH";
"DEFAULT_FLUX";
"DEFAULT_FLUX_DENSITY";
"DEFAULT_FIELD_STRENGTH";
"DEFAULT_INDUCTANCE";
"DEFAULT_RELUCTANCE";


IEEE Std 1076.1.1-2004
IEEE Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
-- attribute declarations
-- Use of UNIT to designate full description of units
attribute UNIT of VOLTAGE
: subtype is
attribute UNIT of CURRENT
: subtype is
attribute UNIT of CHARGE
: subtype is
attribute UNIT of RESISTANCE
: subtype is
attribute UNIT of CONDUCTANCE
: subtype is
attribute UNIT of CAPACITANCE
: subtype is
attribute UNIT of MMF
: subtype is
attribute UNIT of ELECTRIC_FLUX

: subtype is
attribute UNIT of ELECTRIC_FLUX_DENSITY
: subtype is
attribute UNIT of ELECTRIC_FIELD_STRENGTH : subtype is
attribute UNIT of MAGNETIC_FLUX
: subtype is
attribute UNIT of MAGNETIC_FLUX_DENSITY
: subtype is
attribute UNIT of MAGNETIC_FIELD_STRENGTH : subtype is
attribute UNIT of INDUCTANCE
: subtype is
attribute UNIT of RELUCTANCE
: subtype is
-- Use of
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute


SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL

to
of
of
of
of
of
of
of
of
of
of
of
of

of
of
of

designate abbreviation of
VOLTAGE
:
CURRENT
:
CHARGE
:
RESISTANCE
:
CONDUCTANCE
:
CAPACITANCE
:
MMF
:
ELECTRIC_FLUX
:
ELECTRIC_FLUX_DENSITY
:
ELECTRIC_FIELD_STRENGTH :
MAGNETIC_FLUX
:
MAGNETIC_FLUX_DENSITY
:
MAGNETIC_FIELD_STRENGTH :
INDUCTANCE

:
RELUCTANCE
:

units
subtype
subtype
subtype
subtype
subtype
subtype
subtype
subtype
subtype
subtype
subtype
subtype
subtype
subtype
subtype

"volt";
"ampere";
"coulomb";
"ohm";
"siemens";
"farad";
"ampere";
"coulomb";
"coulomb/meter^2";

"volt/meter";
"weber";
"tesla";
"ampere/meter";
"henry";
"ampere/weber";

is
is
is
is
is
is
is
is
is
is
is
is
is
is
is

"V";
"A";
"C";
"Ohm";
"S";
"F";
"A";

"C";
"C/m^2";
"V/m";
"Wb";
"T";
"A/m";
"H";
"A/Wb";

-- nature declarations
nature ELECTRICAL is
VOLTAGE
across
CURRENT
through
ELECTRICAL_REF reference;
nature ELECTRICAL_VECTOR is array (NATURAL range <>) of ELECTRICAL;
nature MAGNETIC is
MMF
across
MAGNETIC_FLUX through
MAGNETIC_REF reference;
nature MAGNETIC_VECTOR is array (NATURAL range <>) of MAGNETIC;
-- vector subtype declarations
subtype VOLTAGE_VECTOR
is ELECTRICAL_VECTOR'across;
subtype CURRENT_VECTOR
is ELECTRICAL_VECTOR'through;
subtype MMF_VECTOR
is MAGNETIC_VECTOR'across;

subtype MAGNETIC_FLUX_VECTOR is MAGNETIC_VECTOR'through;
subtype CHARGE_VECTOR
is REAL_VECTOR tolerance "DEFAULT_CHARGE";
subtype RESISTANCE_VECTOR
is REAL_VECTOR tolerance "DEFAULT_RESISTANCE";
subtype CONDUCTANCE_VECTOR
is REAL_VECTOR tolerance
"DEFAULT_CONDUCTANCE";
subtype CAPACITANCE_VECTOR
is REAL_VECTOR tolerance
"DEFAULT_CAPACITANCE";
subtype ELECTRIC_FLUX_VECTOR
is REAL_VECTOR tolerance
"DEFAULT_FLUX";
subtype ELECTRIC_FLUX_DENSITY_VECTOR
is REAL_VECTOR tolerance
"DEFAULT_FLUX_DENSITY";

9
Copyright © 2005 IEEE. All rights reserved.


IEEE Std 1076.1.1-2004
IEEE Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
subtype ELECTRIC_FIELD_STRENGTH_VECTOR
"DEFAULT_FIELD_STRENGTH";
subtype MAGNETIC_FLUX_DENSITY_VECTOR
"DEFAULT_FLUX_DENSITY";
subtype MAGNETIC_FIELD_STRENGTH_VECTOR
"DEFAULT_FIELD_STRENGTH";

subtype INDUCTANCE_VECTOR
"DEFAULT_INDUCTANCE";
subtype RELUCTANCE_VECTOR
"DEFAULT_RELUCTANCE";

is REAL_VECTOR tolerance
is REAL_VECTOR tolerance
is REAL_VECTOR tolerance
is REAL_VECTOR tolerance
is REAL_VECTOR tolerance

alias GROUND is ELECTRICAL_REF;
end package ELECTRICAL_SYSTEMS;

4.3 MECHANICAL_SYSTEMS
-------------------------------------------------------------------------- Copyright 2005 by IEEE. All rights reserved.
--- This source file is an essential part of IEEE Std 1076.1.1-2004
-- IEEE Standard Packages for Multiple Energy Domain Support.
--- This source file may not be copied, sold, or included with software
-- that is sold without written permission from the IEEE Standards
-- Department. This source file may be used to implement this standard
-- and may be distributed in compiled form in any manner so long as the
-- compiled form does not allow direct decompilation of the original
-- source file.
--- This source file may be copied for individual use between licensed users.
-- This source file is provided on an AS IS basis. The IEEE disclaims ANY
-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY
-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source
-- file shall indemnify and hold IEEE harmless from any damages or liability
-- arising out of the use thereof.

--- Title: Standard VHDL Packages for Multiple Energy Domain Support
-(IEEE 1076.1.1–2004, MECHANICAL_SYSTEMS)
--- Library: This package shall be compiled into a library
-- symbolically named IEEE.
--- Developers: IEEE DASC VHDL Multiple Energy Domain Packages Working Group
--- Purpose: To define a set of types and natures that would provide a
-common framework for modeling mechanical systems.
--- Limitation:
--- Notes:
--- ----------------------------------------------------------------------------- Version : 1.0
-- Date : 4 November 2004

-- -------------------------------------------------------------------library IEEE;
use IEEE.FUNDAMENTAL_CONSTANTS.all;
package MECHANICAL_SYSTEMS is

10
Copyright © 2005 IEEE. All rights reserved.


IEEE Std 1076.1.1-2004
IEEE Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
-- subtype declarations
subtype DISPLACEMENT
is REAL
subtype FORCE
is REAL
subtype VELOCITY
is REAL
subtype ACCELERATION

is REAL
subtype MASS
is REAL
subtype STIFFNESS
is REAL
subtype DAMPING
is REAL
subtype MOMENTUM
is REAL
subtype ANGLE
is REAL
subtype TORQUE
is REAL
subtype ANGULAR_VELOCITY
is REAL
subtype ANGULAR_ACCELERATION is REAL
"DEFAULT_ANGULAR_ACCELERATION";
subtype MOMENT_INERTIA
is REAL
subtype ANGULAR_MOMENTUM
is REAL
subtype ANGULAR_STIFFNESS
is REAL
subtype ANGULAR_DAMPING
is REAL

tolerance
tolerance
tolerance
tolerance

tolerance
tolerance
tolerance
tolerance
tolerance
tolerance
tolerance
tolerance

"DEFAULT_DISPLACEMENT";
"DEFAULT_FORCE";
"DEFAULT_VELOCITY";
"DEFAULT_ACCELERATION";
"DEFAULT_MASS";
"DEFAULT_STIFFNESS";
"DEFAULT_DAMPING";
"DEFAULT_MOMENTUM";
"DEFAULT_ANGLE";
"DEFAULT_TORQUE";
"DEFAULT_ANGULAR_VELOCITY";

tolerance
tolerance
tolerance
tolerance

"DEFAULT_MOMENT_INERTIA";
"DEFAULT_ANGULAR_MOMENTUM";
"DEFAULT_ANGULAR_STIFFNESS";
"DEFAULT_ANGULAR_DAMPING";


-- attribute declarations
-- Use of UNIT to designate full description of units
attribute UNIT of DISPLACEMENT
: subtype is "meter";
attribute UNIT of FORCE
: subtype is "newton";
attribute UNIT of VELOCITY
: subtype is "meter/second";
attribute UNIT of ACCELERATION
: subtype is "meter/second^2";
attribute UNIT of MASS
: subtype is "kilogram";
attribute UNIT of STIFFNESS
: subtype is "newton/meter";
attribute UNIT of DAMPING
: subtype is "newton*second/meter";
attribute UNIT of MOMENTUM
: subtype is "kilogram*meter/second";
attribute UNIT of ANGLE
: subtype is "radian";
attribute UNIT of TORQUE
: subtype is "newton*meter";
attribute UNIT of ANGULAR_VELOCITY
: subtype is "radian/second";
attribute UNIT of ANGULAR_ACCELERATION : subtype is "radian/second^2";
attribute UNIT of MOMENT_INERTIA
: subtype is "kilogram*meter^2";
attribute UNIT of ANGULAR_MOMENTUM
: subtype is

"kilogram*meter^2/second";
attribute UNIT of ANGULAR_STIFFNESS
: subtype is "newton*meter/radian";
attribute UNIT of ANGULAR_DAMPING
: subtype is
"newton*meter*second/radian";
-- Use of
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute

SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL

SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL

to
of
of
of
of
of
of
of
of
of
of
of
of
of
of
of
of


designate abbreviations of units
DISPLACEMENT
: subtype is
FORCE
: subtype is
VELOCITY
: subtype is
ACCELERATION
: subtype is
MASS
: subtype is
STIFFNESS
: subtype is
DAMPING
: subtype is
MOMENTUM
: subtype is
ANGLE
: subtype is
TORQUE
: subtype is
ANGULAR_VELOCITY
: subtype is
ANGULAR_ACCELERATION : subtype is
MOMENT_INERTIA
: subtype is
ANGULAR_MOMENTUM
: subtype is
ANGULAR_STIFFNESS
: subtype is

ANGULAR_DAMPING
: subtype is

-- nature declarations
nature TRANSLATIONAL is
DISPLACEMENT
across
FORCE
through
TRANSLATIONAL_REF reference;

11
Copyright © 2005 IEEE. All rights reserved.

"m";
"N";
"m/s";
"m/s^2";
"kg";
"N/m";
"N*s/m";
"kg*m/s";
"rad";
"N*m";
"rad/s";
"rad/s^2";
"kg*m^2";
"kg*m^2/s";
"N*m/rad";
"N*m*s/rad";



IEEE Std 1076.1.1-2004
IEEE Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
nature TRANSLATIONAL_VECTOR is
array (NATURAL range <>) of TRANSLATIONAL;
nature TRANSLATIONAL_VELOCITY is
VELOCITY
across
FORCE
through
TRANSLATIONAL_VELOCITY_REF reference;
nature TRANSLATIONAL_VELOCITY_VECTOR is
array (NATURAL range <>) of TRANSLATIONAL_VELOCITY;
nature ROTATIONAL is
ANGLE
across
TORQUE
through
ROTATIONAL_REF reference;
nature ROTATIONAL_VECTOR is
array (NATURAL range <>) of ROTATIONAL;
nature ROTATIONAL_VELOCITY is
ANGULAR_VELOCITY
across
TORQUE
through
ROTATIONAL_VELOCITY_REF reference;
nature ROTATIONAL_VELOCITY_VECTOR is
array (NATURAL range <>) of ROTATIONAL_VELOCITY;

-- vector subtype declarations
subtype DISPLACEMENT_VECTOR
is TRANSLATIONAL_VECTOR'across;
subtype FORCE_VECTOR
is TRANSLATIONAL_VECTOR'through;
subtype VELOCITY_VECTOR
is TRANSLATIONAL_VELOCITY_VECTOR'across;
subtype FORCE_VELOCITY_VECTOR
is TRANSLATIONAL_VELOCITY_VECTOR'through;
subtype ANGLE_VECTOR
is ROTATIONAL_VECTOR'across;
subtype TORQUE_VECTOR
is ROTATIONAL_VECTOR'through;
subtype ANGULAR_VELOCITY_VECTOR is ROTATIONAL_VELOCITY_VECTOR'across;
subtype TORQUE_VELOCITY_VECTOR is ROTATIONAL_VELOCITY_VECTOR'through;
subtype ACCELERATION_VECTOR
is REAL_VECTOR tolerance
"DEFAULT_ACCELERATION";
subtype MASS_VECTOR
is REAL_VECTOR tolerance "DEFAULT_MASS";
subtype STIFFNESS_VECTOR
is REAL_VECTOR tolerance "DEFAULT_STIFFNESS";
subtype DAMPING_VECTOR
is REAL_VECTOR tolerance "DEFAULT_DAMPING";
subtype MOMENTUM_VECTOR
is REAL_VECTOR tolerance "DEFAULT_MOMENTUM";
subtype ANGULAR_ACCELERATION_VECTOR is REAL_VECTOR tolerance
"DEFAULT_ANGULAR_ACCELERATION";
subtype MOMENT_INERTIA_VECTOR
is REAL_VECTOR tolerance

"DEFAULT_MOMENT_INERTIA";
subtype ANGULAR_MOMENTUM_VECTOR
is REAL_VECTOR tolerance
"DEFAULT_ANGULAR_MOMENTUM";
subtype ANGULAR_STIFFNESS_VECTOR
is REAL_VECTOR tolerance
"DEFAULT_ANGULAR_STIFFNESS";
subtype ANGULAR_DAMPING_VECTOR
is REAL_VECTOR tolerance
"DEFAULT_ANGULAR_DAMPING";
-- alias declarations
alias ANCHOR is TRANSLATIONAL_REF;
alias TRANSLATIONAL_V_REF is TRANSLATIONAL_VELOCITY_REF;
alias ROTATIONAL_V_REF is ROTATIONAL_VELOCITY_REF;
alias TRANSLATIONAL_V is TRANSLATIONAL_VELOCITY;
alias ROTATIONAL_V is ROTATIONAL_VELOCITY;
end package MECHANICAL_SYSTEMS;

12
Copyright © 2005 IEEE. All rights reserved.


IEEE Std 1076.1.1-2004
IEEE Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support

4.4 RADIANT_SYSTEMS
-------------------------------------------------------------------------- Copyright 2005 by IEEE. All rights reserved.
--- This source file is an essential part of IEEE Std 1076.1.1-2004
-- IEEE Standard Packages for Multiple Energy Domain Support.
--- This source file may not be copied, sold, or included with software

-- that is sold without written permission from the IEEE Standards
-- Department. This source file may be used to implement this standard
-- and may be distributed in compiled form in any manner so long as the
-- compiled form does not allow direct decompilation of the original
-- source file.
--- This source file may be copied for individual use between licensed users.
-- This source file is provided on an AS IS basis. The IEEE disclaims ANY
-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY
-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source
-- file shall indemnify and hold IEEE harmless from any damages or liability
-- arising out of the use thereof.
--- Title: Standard VHDL Packages for Multiple Energy Domain Support
-(IEEE 1076.1.1–2004, RADIANT_SYSTEMS)
--- Library: This package shall be compiled into a library
-- symbolically named IEEE.
--- Developers: IEEE DASC VHDL Multiple Energy Domain Packages Working Group
--- Purpose: To define a set of types and natures that would provide a
-common framework for modeling radiant systems.
--- Limitation:
--- Notes:
--- ----------------------------------------------------------------------------- Version : 1.0
-- Date : 4 November 2004
-- ---------------------------------------------------------------------------library IEEE;
use IEEE.FUNDAMENTAL_CONSTANTS.all;
package RADIANT_SYSTEMS is
-- subtype declarations
subtype ILLUMINANCE
is REAL tolerance "DEFAULT_ILLUMINANCE";
subtype LUMINOUS_FLUX
is REAL tolerance "DEFAULT_LUMINOUS_FLUX";

subtype LUMINOUS_INTENSITY is REAL tolerance "DEFAULT_LUMINOUS_INTENSITY";
subtype IRRADIANCE
is REAL tolerance "DEFAULT_IRRADIANCE";
-- attribute declarations
-- Use of UNIT to designate full description of units
attribute UNIT of ILLUMINANCE
: subtype is "lux";
attribute UNIT of LUMINOUS_FLUX
: subtype is "lumen";
attribute UNIT of LUMINOUS_INTENSITY : subtype is "candela";
attribute UNIT of IRRADIANCE
: subtype is "watt/meter^2";
-- Use of
attribute
attribute
attribute
attribute

SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL

to
of
of
of
of


designate abbreviation of units
ILLUMINANCE
: subtype is
LUMINOUS_FLUX
: subtype is
LUMINOUS_INTENSITY : subtype is
IRRADIANCE
: subtype is

13
Copyright © 2005 IEEE. All rights reserved.

"lx";
"lm";
"cd";
"W/m^2";


IEEE Std 1076.1.1-2004
IEEE Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
-- nature declarations
nature RADIANT is
LUMINOUS_INTENSITY across
LUMINOUS_FLUX
through
RADIANT_REF
reference;
nature RADIANT_VECTOR is array (NATURAL range <>) of RADIANT;
-- vector subtype declarations
subtype LUMINOUS_INTENSITY_VECTOR is RADIANT_VECTOR'across;

subtype LUMINOUS_FLUX_VECTOR
is RADIANT_VECTOR'through;
subtype ILLUMINANCE_VECTOR
is REAL_VECTOR tolerance ”DEFAULT_ILLUMINANCE";
subtype IRRADIANCE_VECTOR
is REAL_VECTOR tolerance "DEFAULT_IRRADIANCE";
end package RADIANT_SYSTEMS;

4.5 THERMAL_SYSTEMS
------------------------------------------------------------------------- Copyright 2005 by IEEE. All rights reserved.
--- This source file is an essential part of IEEE Std 1076.1.1-2004
-- IEEE Standard Packages for Multiple Energy Domain Support.
--- This source file may not be copied, sold, or included with software
-- that is sold without written permission from the IEEE Standards
-- Department. This source file may be used to implement this standard
-- and may be distributed in compiled form in any manner so long as the
-- compiled form does not allow direct decompilation of the original
-- source file.
--- This source file may be copied for individual use between licensed users.
-- This source file is provided on an AS IS basis. The IEEE disclaims ANY
-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY
-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source
-- file shall indemnify and hold IEEE harmless from any damages or liability
-- arising out of the use thereof.
--- Title: Standard VHDL Packages for Multiple Energy Domain Support
-(IEEE 1076.1.1–2004, THERMAL_SYSTEMS)
--- Library: This package shall be compiled into a library
-- symbolically named IEEE.
--- Developers: IEEE DASC VHDL Multiple Energy Domain Packages Working Group
--- Purpose: To define a set of types and natures that would provide a

-common framework for modeling thermal systems.
--- Limitation:
--- Notes:
--- ----------------------------------------------------------------------------- Version : 1.0
-- Date : 4 November 2004

-- -------------------------------------------------------------------library IEEE;
use IEEE.FUNDAMENTAL_CONSTANTS.all;
package THERMAL_SYSTEMS is

14
Copyright © 2005 IEEE. All rights reserved.


IEEE Std 1076.1.1-2004
IEEE Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
-- subtype declarations
subtype TEMPERATURE
subtype HEAT_FLOW
subtype THERMAL_CAPACITANCE
subtype THERMAL_RESISTANCE
subtype THERMAL_CONDUCTANCE

is
is
is
is
is

REAL

REAL
REAL
REAL
REAL

tolerance
tolerance
tolerance
tolerance
tolerance

"DEFAULT_TEMPERATURE";
"DEFAULT_HEAT_FLOW";
"DEFAULT_THERMAL_CAPACITANCE";
"DEFAULT_THERMAL_RESISTANCE";
"DEFAULT_THERMAL_CONDUCTANCE";

-- attribute declarations
-- Use of UNIT to designate full description of
attribute UNIT of TEMPERATURE
: subtype
attribute UNIT of HEAT_FLOW
: subtype
attribute UNIT of THERMAL_CAPACITANCE : subtype
attribute UNIT of THERMAL_RESISTANCE : subtype
attribute UNIT of THERMAL_CONDUCTANCE : subtype
-- Use of
attribute
attribute
attribute

attribute
attribute

SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL

to
of
of
of
of
of

units
is "kelvin";
is "watt";
is "joule/kelvin";
is "kelvin/watt;
is "watt/kelvin";

designate abbreviation of units
TEMPERATURE
: subtype is
HEAT_FLOW
: subtype is
THERMAL_CAPACITANCE : subtype is

THERMAL_RESISTANCE : subtype is
THERMAL_CONDUCTANCE : subtype is

"K";
"W";
"J/K";
"K/W";
"W/K";

-- nature declarations
nature THERMAL is
TEMPERATURE across
HEAT_FLOW
through
THERMAL_REF reference;
nature THERMAL_VECTOR is array (NATURAL range <>) of THERMAL;
-- vector subtype declarations
subtype TEMPERATURE_VECTOR
subtype HEAT_FLOW_VECTOR
subtype THERMAL_CAPACITANCE_VECTOR
"DEFAULT_THERMAL_CAPACITANCE";
subtype THERMAL_RESISTANCE_VECTOR
"DEFAULT_THERMAL_RESISTANCE";
subtype THERMAL_CONDUCTANCE_VECTOR
"DEFAULT_THERMAL_CONDUCTANCE";

is THERMAL_VECTOR'across;
is THERMAL_VECTOR'through;
is REAL_VECTOR tolerance
is REAL_VECTOR tolerance

is REAL_VECTOR tolerance

end package THERMAL_SYSTEMS;

4.6 FLUIDIC_SYSTEMS
------------------------------------------------------------------------- Copyright 2005 by IEEE. All rights reserved.
--- This source file is an essential part of IEEE Std 1076.1.1-2004
-- IEEE Standard Packages for Multiple Energy Domain Support.
--- This source file may not be copied, sold, or included with software
-- that is sold without written permission from the IEEE Standards
-- Department. This source file may be used to implement this standard
-- and may be distributed in compiled form in any manner so long as the
-- compiled form does not allow direct decompilation of the original
-- source file.
--- This source file may be copied for individual use between licensed users.
-- This source file is provided on an AS IS basis. The IEEE disclaims ANY
-- WARRANTY EXPRESS OR IMPLIED INCLUDING ANY WARRANTY OF MERCHANTABILITY
-- AND FITNESS FOR USE FOR A PARTICULAR PURPOSE. The user of the source
-- file shall indemnify and hold IEEE harmless from any damages or liability
-- arising out of the use thereof.

15
Copyright © 2005 IEEE. All rights reserved.


IEEE Std 1076.1.1-2004
IEEE Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
--- Title: Standard VHDL Packages for Multiple Energy Domain Support
-(IEEE 1076.1.1–2004, FLUIDIC_SYSTEMS)
--


-- Library: This package shall be compiled into a library
-- symbolically named IEEE.
--

-- Developers: IEEE DASC VHDL Multiple Energy Domain Packages Working Group
--- Purpose: To define a set of types and natures that would provide a
-common framework for modeling fluidic systems.
--

-- Limitation:
--- Notes: There are two natures in the fluidic systems package:
-FLUIDIC and COMPRESSIBLE_FLUIDIC.
-The FLUIDIC nature assumes a non-compressible medium and uses
-volume flow rate as the through variable.
-The COMPRESSIBLE_FLUIDIC nature assumes a potentially
-compressible medium and uses mass flow rate as the through variable.
-In both cases PRESSURE is used as the across variable.
--

-- ----------------------------------------------------------------------------- Version : 1.0
-- Date : 4 November 2004
-- ---------------------------------------------------------------------------library IEEE;
use IEEE.FUNDAMENTAL_CONSTANTS.all;
package FLUIDIC_SYSTEMS is
-- subtype declarations
subtype PRESSURE
is REAL tolerance "DEFAULT_PRESSURE";
subtype VFLOW_RATE
is REAL tolerance "DEFAULT_VFLOW_RATE";

subtype MASS_FLOW_RATE
is REAL tolerance "DEFAULT_MASS_FLOW_RATE";
subtype VOLUME
is REAL tolerance "DEFAULT_VOLUME";
subtype DENSITY
is REAL tolerance "DEFAULT_DENSITY";
subtype VISCOSITY
is REAL tolerance "DEFAULT_VISCOSITY";
subtype FRESISTANCE
is REAL tolerance "DEFAULT_FRESISTANCE";
subtype FCONDUCTANCE
is REAL tolerance "DEFAULT_FCONDUCTANCE";
subtype FCAPACITANCE
is REAL tolerance "DEFAULT_FCAPACITANCE";
subtype INERTANCE
is REAL tolerance "DEFAULT_INERTANCE";
subtype CFRESISTANCE
is REAL tolerance "DEFAULT_CFRESISTANCE";
subtype CFCAPACITANCE
is REAL tolerance "DEFAULT_CFCAPACITANCE";
subtype CFINERTANCE
is REAL tolerance "DEFAULT_CFINERTANCE";
subtype CFCONDUCTANCE
is REAL tolerance "DEFAULT_CFCONDUCTANCE";
-- attribute declarations
-- Use of UNIT to designate full
attribute UNIT of PRESSURE
attribute UNIT of VFLOW_RATE
attribute UNIT of MASS_FLOW_RATE
attribute UNIT of DENSITY

attribute UNIT of VISCOSITY
attribute UNIT of VOLUME
attribute UNIT of FRESISTANCE
attribute UNIT of FCONDUCTANCE
attribute UNIT of FCAPACITANCE
attribute UNIT of INERTANCE
attribute UNIT of CFRESISTANCE
"pascal*second/kilogram";
attribute UNIT of CFCAPACITANCE
attribute UNIT of CFINERTANCE
"pascal*second^2/kilogram";
attribute UNIT of CFCONDUCTANCE
"kilogram/(pascal*second)";

description of units
: subtype is "pascal";
: subtype is "meter^3/second";
: subtype is "kilogram/second";
: subtype is "kilogram/meter^3";
: subtype is "pascal*second";
: subtype is "meter^3";
: subtype is "pascal*second/meter^3";
: subtype is "meter^3/(pascal*second)";
: subtype is "meter^3/pascal";
: subtype is "pascal*second^2/meter^3";
: subtype is
: subtype is "kilogram/pascal";
: subtype is
: subtype is


16
Copyright © 2005 IEEE. All rights reserved.


IEEE Std 1076.1.1-2004
IEEE Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
-- Use of
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute
attribute

SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL

SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL
SYMBOL

to
of
of
of
of
of
of
of
of
of
of
of
of
of
of

designate abbreviation of units
PRESSURE
: subtype is "Pa";
VFLOW_RATE
: subtype is "m^3/s";
MASS_FLOW_RATE

: subtype is "kg/s";
DENSITY
: subtype is "kg/m^3";
VISCOSITY
: subtype is "Pa*s";
VOLUME
: subtype is "m^3";
FRESISTANCE
: subtype is "Pa*s/m^3";
FCONDUCTANCE
: subtype is "m^3/(Pa*s)";
FCAPACITANCE
: subtype is "m^3/Pa";
INERTANCE
: subtype is "Pa*s^2/m^3";
CFRESISTANCE
: subtype is "Pa*s/kg";
CFCAPACITANCE
: subtype is "kg/Pa";
CFINERTANCE
: subtype is "Pa*s^2/kg";
CFCONDUCTANCE
: subtype is "kg/(Pa*s)";

-- nature declarations
nature FLUIDIC is
PRESSURE
across
VFLOW_RATE through
FLUIDIC_REF reference;

nature FLUIDIC_VECTOR is array (NATURAL range <>) of FLUIDIC;
-- nature declarations
nature COMPRESSIBLE_FLUIDIC is
PRESSURE
across
MASS_FLOW_RATE
through
COMPRESSIBLE_FLUIDIC_REF reference;
nature COMPRESSIBLE_FLUIDIC_VECTOR is array (NATURAL range <>) of
COMPRESSIBLE_FLUIDIC;
-- vector subtype declarations
subtype PRESSURE_VECTOR
is FLUIDIC_VECTOR'across;
subtype VFLOW_RATE_VECTOR
is FLUIDIC_VECTOR'through;
subtype MASS_FLOW_RATE_VECTOR is COMPRESSIBLE_FLUIDIC_VECTOR'through;
subtype VOLUME_VECTOR
is REAL_VECTOR tolerance "DEFAULT_VOLUME";
subtype DENSITY_VECTOR
is REAL_VECTOR tolerance "DEFAULT_DENSITY";
subtype VISCOSITY_VECTOR
is REAL_VECTOR tolerance "DEFAULT_VISCOSITY";
subtype FRESISTANCE_VECTOR
is REAL_VECTOR tolerance "DEFAULT_FRESISTANCE";
subtype FCONDUCTANCE_VECTOR is REAL_VECTOR tolerance
"DEFAULT_FCONDUCTANCE";
subtype FCAPACITANCE_VECTOR is REAL_VECTOR tolerance
"DEFAULT_FCAPACITANCE";
subtype INERTANCE_VECTOR
is REAL_VECTOR tolerance "DEFAULT_INERTANCE";

subtype CFRESISTANCE_VECTOR is REAL_VECTOR tolerance
"DEFAULT_CFRESISTANCE";
subtype CFCONDUCTANCE_VECTOR is REAL_VECTOR tolerance
"DEFAULT_CFCONDUCTANCE";
subtype CFCAPACITANCE_VECTOR is REAL_VECTOR tolerance
"DEFAULT_CFCAPACITANCE";
subtype CFINERTANCE_VECTOR
is REAL_VECTOR tolerance "DEFAULT_CFINERTANCE";
end package FLUIDIC_SYSTEMS;

17
Copyright © 2005 IEEE. All rights reserved.


×