IEEE Standard VHDL Analog and Mixed- Signal Extensions

IEEE P1076.1.1-2010/D1.1
Draft Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
IEEE Standard VHDL Analog and MixedSignal 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™,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 (http://standards.ieee.org/).
1
Copyright © 2010 IEEE. All rights reserved.
This is an unapproved IEEE Standards Draft, subject to change.
Deleted: -1999
IEEE P1076.1.1-2010/D1.1
Draft Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
1.2 Purpose
The definitions of IEEE Std 1076.1 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 so-called
natures. IEEE Std 1076.1 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.
Deleted: -1999
Deleted: -1999
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™. 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. This is a specific exception to the general SI usage in this standard.
Deleted: -2002
Deleted: -1999
1.4 IEEE math package
This standard uses the VHDL mathematical packages in IEEE Std 1076-™ 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 © 2010 IEEE. All rights reserved.
This is an unapproved IEEE Standards Draft, subject to change.
Deleted: .2
Deleted: -1996
IEEE P1076.1.1-2010/D1.1
Draft 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, 2010 by IEEE. All rights reserved.
--- This source file is an essential part of IEEE Std 1076.1.1
-- 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, 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_063e19
-- PHYS_EPS0
Permittivity of vacuum 8.854_187_817e-12
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 : 2.0
-- Date : 15 January 2010
3
Copyright © 2010 IEEE. All rights reserved.
This is an unapproved IEEE Standards Draft, subject to change.
Deleted: -2004
Deleted: –2004
Deleted:
-19
Deleted:
-19
Deleted:
-12
Deleted:
-7
Deleted:
-23
Deleted:
-23
Deleted:
-34
Deleted:
-34
Deleted:
-34
Deleted: 1.0
Deleted: 4 November 2004
IEEE P1076.1.1-2010/D1.1
Draft 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;
Deleted:
-19
-- Permittivity of vacuum <FARADS/METER>
constant PHYS_EPS0 : REAL := 8.854_187_817e-12;
Deleted:
-12
-- Permeability of vacuum <HENRIES/METER>
constant PHYS_MU0 : REAL := 4.0e-7 * MATH_PI;
Deleted:
-7
-- 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;
Formatted: Portuguese
(Brazil)
Deleted:
-23
Formatted: Portuguese
(Brazil)
Deleted:
-34
-- Velocity of light in a vacuum <METERS/SECOND>
constant PHYS_C : REAL := 299_792_458.0;
Formatted: Portuguese
(Brazil)
-- Planck’s constant
constant PHYS_H : REAL := 6.626_068_76e-34;
Deleted:
-24
Deleted:
-21
-- Planck’s constant divided by 2 pi
constant PHYS_H_OVER_2_PI : REAL := PHYS_H/MATH_2_PI;
Deleted:
-18
Deleted:
-15
-- 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;
Deleted:
-12
Deleted:
-9
Deleted:
-6
Deleted:
-3
Deleted:
-2
Deleted:
-1
Deleted:
+1
Deleted:
+2
Deleted:
+3
Deleted:
+6
Deleted:
+9
Deleted:
+1
Deleted:
+1
Deleted:
+1
Deleted:
+2
Deleted:
+2
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+122;
1.0e+155;
1.0e+188;
1.0e+211;
1.0e+244;
end package FUNDAMENTAL_CONSTANTS;
4
Copyright © 2010 IEEE. All rights reserved.
This is an unapproved IEEE Standards Draft, subject to change.
IEEE P1076.1.1-2010/D1.1
Draft Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
3.3 MATERIAL_CONSTANTS
-------------------------------------------------------------------------- Copyright 2005, 2010 by IEEE. All rights reserved.
--- This source file is an essential part of IEEE Std 1076.1.1
-- 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, 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 <KILOGRAMS/METER_CUBED>
-- PHYS_RHO_SIO2 2220
[1]
Density of silicon-dioxide
-<KILOGRAMS/METER_CUBED>
-- [1] John Lau,"Thermal Stress and Strain in Microelectronics
-- Packaging"
5
Copyright © 2010 IEEE. All rights reserved.
This is an unapproved IEEE Standards Draft, subject to change.
Deleted: -2004
Deleted: –2004
Deleted:
+9
Deleted:
+9
Deleted:
+9
IEEE P1076.1.1-2010/D1.1
Draft Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
-- ----------------------------------------------------------------------------- Version : 2.0
-- Date : 15 January 2010
-- ---------------------------------------------------------------------------package MATERIAL_CONSTANTS is
Deleted: 1.0
Deleted: 4 November 2004
-- 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 <KILOGRAMS/METER_CUBED>
constant PHYS_RHO_POLY : REAL;
-- Density of silicon-dioxide <KILOGRAMS/METER_CUBED>
constant PHYS_RHO_SIO2 : REAL;
-- Environmental constants
constant AMBIENT_TEMPERATURE : REAL;
constant AMBIENT_PRESSURE
: REAL;
constant AMBIENT_LUMINANCE
: REAL;
-- Ambient temperature <KELVIN>
-- Ambient pressure <PASCALS>
-- Ambient illuminance <LUX>
end package MATERIAL_CONSTANTS;
4. Energy domain packages
IEEE Std 1076.1 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.
Deleted: -1999
4.1 ENERGY_SYSTEMS
-------------------------------------------------------------------------- Copyright 2005, 2010 by IEEE. All rights reserved.
--- This source file is an essential part of IEEE Std 1076.1.1
-- 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
6
Copyright © 2010 IEEE. All rights reserved.
This is an unapproved IEEE Standards Draft, subject to change.
Deleted: -2004
IEEE P1076.1.1-2010/D1.1
Draft Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
-----
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, ENERGY_SYSTEMS)
--
--------
Deleted: –2004
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 : 2.0
-- Date : 15 January 2010
-- ---------------------------------------------------------------------------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
REAL_VECTOR tolerance "DEFAULT_ENERGY";
REAL_VECTOR tolerance "DEFAULT_POWER";
REAL_VECTOR tolerance "DEFAULT_PERIODICITY";
UNSPECIFIED_VECTOR'across;
7
Copyright © 2010 IEEE. All rights reserved.
This is an unapproved IEEE Standards Draft, subject to change.
Deleted: 1.0
Deleted: 4 November 2004
IEEE P1076.1.1-2010/D1.1
Draft Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
subtype REAL_THROUGH_VECTOR is UNSPECIFIED_VECTOR'through;
end package ENERGY_SYSTEMS;
4.2 ELECTRICAL_SYSTEMS
-------------------------------------------------------------------------- Copyright 2005, 2010 by IEEE. All rights reserved.
--- This source file is an essential part of IEEE Std 1076.1.1
-- 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, 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 : 2.0
-- Date : 15 January 2010
-- ---------------------------------------------------------------------------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
REAL
REAL
REAL
REAL
REAL
REAL
REAL
REAL
tolerance
tolerance
tolerance
tolerance
tolerance
tolerance
tolerance
tolerance
"DEFAULT_VOLTAGE";
"DEFAULT_CURRENT";
"DEFAULT_CHARGE";
"DEFAULT_RESISTANCE";
"DEFAULT_CONDUCTANCE";
"DEFAULT_CAPACITANCE";
"DEFAULT_MMF";
"DEFAULT_FLUX";
8
Copyright © 2010 IEEE. All rights reserved.
This is an unapproved IEEE Standards Draft, subject to change.
Deleted: -2004
Deleted: –2004
Deleted: 1.0
Deleted: 4 November 2004
IEEE P1076.1.1-2010/D1.1
Draft Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
subtype ELECTRIC_FLUX_DENSITY
is REAL tolerance "DEFAULT_FLUX_DENSITY";
subtype ELECTRIC_FIELD_STRENGTH is REAL tolerance "DEFAULT_FIELD_STRENGTH";
subtype MAGNETIC_FLUX
is REAL tolerance "DEFAULT_FLUX";
subtype MAGNETIC_FLUX_DENSITY
is REAL tolerance "DEFAULT_FLUX_DENSITY";
subtype MAGNETIC_FIELD_STRENGTH is REAL tolerance "DEFAULT_FIELD_STRENGTH";
subtype INDUCTANCE
is REAL tolerance "DEFAULT_INDUCTANCE";
subtype RELUCTANCE
is REAL tolerance "DEFAULT_RELUCTANCE";
-- attribute declarations
-- Use of UNIT to designate full description of units
attribute UNIT of VOLTAGE
: subtype is "volt";
attribute UNIT of CURRENT
: subtype is "ampere";
attribute UNIT of CHARGE
: subtype is "coulomb";
attribute UNIT of RESISTANCE
: subtype is "ohm";
attribute UNIT of CONDUCTANCE
: subtype is "siemens";
attribute UNIT of CAPACITANCE
: subtype is "farad";
attribute UNIT of MMF
: subtype is "ampere";
attribute UNIT of ELECTRIC_FLUX
: subtype is "coulomb";
attribute UNIT of ELECTRIC_FLUX_DENSITY
: subtype is "coulomb/meter^2";
attribute UNIT of ELECTRIC_FIELD_STRENGTH : subtype is "volt/meter";
attribute UNIT of MAGNETIC_FLUX
: subtype is "weber";
attribute UNIT of MAGNETIC_FLUX_DENSITY
: subtype is "tesla";
attribute UNIT of MAGNETIC_FIELD_STRENGTH : subtype is "ampere/meter";
attribute UNIT of INDUCTANCE
: subtype is "henry";
attribute UNIT of RELUCTANCE
: subtype is "ampere/weber";
-- 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
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
subtype CURRENT_VECTOR
is
subtype MMF_VECTOR
is
subtype MAGNETIC_FLUX_VECTOR is
subtype CHARGE_VECTOR
is
subtype RESISTANCE_VECTOR
is
ELECTRICAL_VECTOR'across;
ELECTRICAL_VECTOR'through;
MAGNETIC_VECTOR'across;
MAGNETIC_VECTOR'through;
REAL_VECTOR tolerance "DEFAULT_CHARGE";
REAL_VECTOR tolerance "DEFAULT_RESISTANCE";
9
Copyright © 2010 IEEE. All rights reserved.
This is an unapproved IEEE Standards Draft, subject to change.
IEEE P1076.1.1-2010/D1.1
Draft Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
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";
subtype ELECTRIC_FIELD_STRENGTH_VECTOR is REAL_VECTOR tolerance
"DEFAULT_FIELD_STRENGTH";
subtype MAGNETIC_FLUX_DENSITY_VECTOR
is REAL_VECTOR tolerance
"DEFAULT_FLUX_DENSITY";
subtype MAGNETIC_FIELD_STRENGTH_VECTOR is REAL_VECTOR tolerance
"DEFAULT_FIELD_STRENGTH";
subtype INDUCTANCE_VECTOR
is REAL_VECTOR tolerance
"DEFAULT_INDUCTANCE";
subtype RELUCTANCE_VECTOR
is REAL_VECTOR tolerance
"DEFAULT_RELUCTANCE";
alias GROUND is ELECTRICAL_REF;
end package ELECTRICAL_SYSTEMS;
4.3 MECHANICAL_SYSTEMS
-------------------------------------------------------------------------- Copyright 2005, 2010 by IEEE. All rights reserved.
--- This source file is an essential part of IEEE Std 1076.1.1
-- 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, 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:
--- ----------------------------------------------------------------------------
10
Copyright © 2010 IEEE. All rights reserved.
This is an unapproved IEEE Standards Draft, subject to change.
Deleted: -2004
Deleted: –2004
IEEE P1076.1.1-2010/D1.1
Draft Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
-- Version : 2.0
-- Date : 15 January 2010
-- ---------------------------------------------------------------------------library IEEE;
use IEEE.FUNDAMENTAL_CONSTANTS.all;
package MECHANICAL_SYSTEMS is
-- 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
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
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
"m";
"N";
"m/s";
"m/s^2";
"kg";
"N/m";
"N*s/m";
"kg*m/s";
"rad";
"N*m";
"rad/s";
"rad/s^2";
11
Copyright © 2010 IEEE. All rights reserved.
This is an unapproved IEEE Standards Draft, subject to change.
Deleted: 1.0
Deleted: 4 November 2004
IEEE P1076.1.1-2010/D1.1
Draft Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
attribute
attribute
attribute
attribute
SYMBOL
SYMBOL
SYMBOL
SYMBOL
of
of
of
of
MOMENT_INERTIA
ANGULAR_MOMENTUM
ANGULAR_STIFFNESS
ANGULAR_DAMPING
:
:
:
:
subtype
subtype
subtype
subtype
is
is
is
is
"kg*m^2";
"kg*m^2/s";
"N*m/rad";
"N*m*s/rad";
-- nature declarations
nature TRANSLATIONAL is
DISPLACEMENT
across
FORCE
through
TRANSLATIONAL_REF reference;
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
12
Copyright © 2010 IEEE. All rights reserved.
This is an unapproved IEEE Standards Draft, subject to change.
IEEE P1076.1.1-2010/D1.1
Draft Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
alias
alias
alias
alias
alias
ANCHOR is TRANSLATIONAL_REF;
TRANSLATIONAL_V_REF is TRANSLATIONAL_VELOCITY_REF;
ROTATIONAL_V_REF is ROTATIONAL_VELOCITY_REF;
TRANSLATIONAL_V is TRANSLATIONAL_VELOCITY;
ROTATIONAL_V is ROTATIONAL_VELOCITY;
end package MECHANICAL_SYSTEMS;
4.4 RADIANT_SYSTEMS
-------------------------------------------------------------------------- Copyright 2005, 2010 by IEEE. All rights reserved.
--- This source file is an essential part of IEEE Std 1076.1.1
-- 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, 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 : 2.0
-- Date : 15 January 2010
-- ---------------------------------------------------------------------------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";
13
Copyright © 2010 IEEE. All rights reserved.
This is an unapproved IEEE Standards Draft, subject to change.
Deleted: -2004
Deleted: –2004
Deleted: 1.0
Deleted: 4 November 2004
IEEE P1076.1.1-2010/D1.1
Draft Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
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 SYMBOL to designate abbreviation of units
attribute SYMBOL of ILLUMINANCE
: subtype is "lx";
attribute SYMBOL of LUMINOUS_FLUX
: subtype is "lm";
attribute SYMBOL of LUMINOUS_INTENSITY : subtype is "cd";
attribute SYMBOL of IRRADIANCE
: subtype is "W/m^2";
-- 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, 2010 by IEEE. All rights reserved.
--- This source file is an essential part of IEEE Std 1076.1.1
-- 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, 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.
14
Copyright © 2010 IEEE. All rights reserved.
This is an unapproved IEEE Standards Draft, subject to change.
Deleted: -2004
Deleted: –2004
IEEE P1076.1.1-2010/D1.1
Draft Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
--- Limitation:
--- Notes:
--- ----------------------------------------------------------------------------- Version : 2.0
-- Date : 15 January 2010
-- ---------------------------------------------------------------------------library IEEE;
use IEEE.FUNDAMENTAL_CONSTANTS.all;
package THERMAL_SYSTEMS is
-- 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, 2010 by IEEE. All rights reserved.
--
15
Copyright © 2010 IEEE. All rights reserved.
This is an unapproved IEEE Standards Draft, subject to change.
Deleted: 1.0
Deleted: 4 November 2004
IEEE P1076.1.1-2010/D1.1
Draft Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
--------------------
This source file is an essential part of IEEE Std 1076.1.1
IEEE Standard Packages for Multiple Energy Domain Support.
Deleted: -2004
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, FLUIDIC_SYSTEMS)
--
Deleted: –2004
-- 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 : 2.0
-- Date : 15 January 2010
-- ---------------------------------------------------------------------------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 description of units
16
Copyright © 2010 IEEE. All rights reserved.
This is an unapproved IEEE Standards Draft, subject to change.
Deleted: 1.0
Deleted: 4 November 2004
IEEE P1076.1.1-2010/D1.1
Draft Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
attribute UNIT of PRESSURE
: subtype is "pascal";
attribute UNIT of VFLOW_RATE
: subtype is "meter^3/second";
attribute UNIT of MASS_FLOW_RATE
: subtype is "kilogram/second";
attribute UNIT of DENSITY
: subtype is "kilogram/meter^3";
attribute UNIT of VISCOSITY
: subtype is "pascal*second";
attribute UNIT of VOLUME
: subtype is "meter^3";
attribute UNIT of FRESISTANCE
: subtype is "pascal*second/meter^3";
attribute UNIT of FCONDUCTANCE
: subtype is "meter^3/(pascal*second)";
attribute UNIT of FCAPACITANCE
: subtype is "meter^3/pascal";
attribute UNIT of INERTANCE
: subtype is "pascal*second^2/meter^3";
attribute UNIT of CFRESISTANCE
: subtype is
"pascal*second/kilogram";
attribute UNIT of CFCAPACITANCE
: subtype is "kilogram/pascal";
attribute UNIT of CFINERTANCE
: subtype is
"pascal*second^2/kilogram";
attribute UNIT of CFCONDUCTANCE
: subtype is
"kilogram/(pascal*second)";
-- Use of SYMBOL to designate abbreviation of units
attribute SYMBOL of PRESSURE
: subtype is "Pa";
attribute SYMBOL of VFLOW_RATE
: subtype is "m^3/s";
attribute SYMBOL of MASS_FLOW_RATE
: subtype is "kg/s";
attribute SYMBOL of DENSITY
: subtype is "kg/m^3";
attribute SYMBOL of VISCOSITY
: subtype is "Pa*s";
attribute SYMBOL of VOLUME
: subtype is "m^3";
attribute SYMBOL of FRESISTANCE
: subtype is "Pa*s/m^3";
attribute SYMBOL of FCONDUCTANCE
: subtype is "m^3/(Pa*s)";
attribute SYMBOL of FCAPACITANCE
: subtype is "m^3/Pa";
attribute SYMBOL of INERTANCE
: subtype is "Pa*s^2/m^3";
attribute SYMBOL of CFRESISTANCE
: subtype is "Pa*s/kg";
attribute SYMBOL of CFCAPACITANCE
: subtype is "kg/Pa";
attribute SYMBOL of CFINERTANCE
: subtype is "Pa*s^2/kg";
attribute SYMBOL of 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";
17
Copyright © 2010 IEEE. All rights reserved.
This is an unapproved IEEE Standards Draft, subject to change.
IEEE P1076.1.1-2010/D1.1
Draft Standard VHDL Analog and Mixed-Signal Extensions—Packages for Multiple Energy Domain Support
subtype CFRESISTANCE_VECTOR
"DEFAULT_CFRESISTANCE";
subtype CFCONDUCTANCE_VECTOR
"DEFAULT_CFCONDUCTANCE";
subtype CFCAPACITANCE_VECTOR
"DEFAULT_CFCAPACITANCE";
subtype CFINERTANCE_VECTOR
is REAL_VECTOR tolerance
is REAL_VECTOR tolerance
is REAL_VECTOR tolerance
is REAL_VECTOR tolerance "DEFAULT_CFINERTANCE";
end package FLUIDIC_SYSTEMS;
18
Copyright © 2010 IEEE. All rights reserved.
This is an unapproved IEEE Standards Draft, subject to change.