-- -------------------------------------------------------------------------- -- -- Title : Draft Standard VHDL 1076.1.1 Packages for Multiple Energy -- : Domain Support. -- -- Library : This package shall be compiled into a library symbolically -- : named IEEE. -- -- Developers : IEEE 1076.1.1 Working Group -- -- Purpose : This package contains declarations for modeling in the -- : electrical energy domain. -- -- Note : -- -- -------------------------------------------------------------------------- -- Modification History : -- -- Version Date Description -- 1.0 6 July 2001 Original version. -- 1.1 4 March 2002 FDL 2001 & BMAS 2001 revisions -- 1.2 31 Aug 2002 DAC 2002 revisions -- 1.3 30 Sep 2002 FDL 2002 revisions -- -------------------------------------------------------------------------- library IEEE; use IEEE.FUNDAMENTAL_CONSTANTS.all; package ELECTRICAL_SYSTEMS is -- type declarations -- electrical domain -- subtype declarations subtype VOLTAGE is REAL tolerance "DEFAULT_VOLTAGE"; subtype CURRENT is REAL tolerance "DEFAULT_CURRENT"; subtype CHARGE is REAL tolerance "DEFAULT_CHARGE"; subtype RESISTANCE is REAL tolerance "DEFAULT_RESISTANCE"; subtype CAPACITANCE is REAL tolerance "DEFAULT_CAPACITANCE"; subtype MMF is REAL tolerance "DEFAULT_MMF"; subtype FLUX is REAL tolerance "DEFAULT_FLUX"; subtype INDUCTANCE is REAL tolerance "DEFAULT_INDUCTANCE"; -- attribute declarations -- Use of UNIT to designate 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 CAPACITANCE : subtype is "Farad"; -- use ampere-turns or just amperes? attribute UNIT of MMF : subtype is "Ampere-turns"; attribute UNIT of FLUX : subtype is "Weber"; attribute UNIT of INDUCTANCE : subtype is "Henry"; -- Use of SYMBOL to designate abbreviation of units attribute SYMBOL of VOLTAGE : subtype is "V"; attribute SYMBOL of CURRENT : subtype is "A"; attribute SYMBOL of CHARGE : subtype is "C"; attribute SYMBOL of RESISTANCE : subtype is "Ohm"; attribute SYMBOL of CAPACITANCE : subtype is "F"; attribute SYMBOL of MMF : subtype is "A-t"; attribute SYMBOL of FLUX : subtype is "W"; attribute SYMBOL of INDUCTANCE : subtype is "H"; -- nature declarations nature ELECTRICAL is VOLTAGE across CURRENT through ELECTRICAL_REF reference; nature ELECTRICAL_VECTOR is array (NATURAL range <>) of ELECTRICAL; -- vector subtypes for array types? nature MAGNETIC is MMF across 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 CHARGE_VECTOR is REAL_VECTOR tolerance "DEFAULT_CHARGE"; subtype RESISTANCE_VECTOR is REAL_VECTOR tolerance "DEFAULT_RESISTANCE"; subtype MMF_VECTOR is MAGNETIC_VECTOR'across; subtype FLUX_VECTOR is MAGNETIC_VECTOR'through; subtype INDUCTANCE_VECTOR is REAL_VECTOR tolerance "DEFAULT_INDUCTANCE"; -- attributes of vector subtypes -- Use of UNIT to designate units attribute UNIT of VOLTAGE_VECTOR : subtype is "Volt"; attribute UNIT of CURRENT_VECTOR : subtype is "Ampere"; attribute UNIT of CHARGE_VECTOR : subtype is "Coulomb"; attribute UNIT of RESISTANCE_VECTOR : subtype is "Ohm"; attribute UNIT of CAPACITANCE_VECTOR : subtype is "Farad"; -- use ampere-turns or just amperes? attribute UNIT of MMF_VECTOR : subtype is "Ampere-turns"; attribute UNIT of FLUX_VECTOR : subtype is "Weber"; attribute UNIT of INDUCTANCE_VECTOR : subtype is "Henry"; -- Use of SYMBOL to designate abbreviation of units attribute SYMBOL of VOLTAGE_VECTOR : subtype is "V"; attribute SYMBOL of CURRENT_VECTOR : subtype is "A"; attribute SYMBOL of CHARGE_VECTOR : subtype is "C"; attribute SYMBOL of RESISTANCE_VECTOR : subtype is "Ohm"; attribute SYMBOL of CAPACITANCE_VECTOR : subtype is "F"; attribute SYMBOL of MMF_VECTOR : subtype is "A-t"; attribute SYMBOL of FLUX_VECTOR : subtype is "W"; attribute SYMBOL of INDUCTANCE_VECTOR : subtype is "H"; -- subnature declarations -- object declarations -- operation declarations (e.g., subprograms) -- alias declarations alias GROUND is ELECTRICAL_REF; end package ELECTRICAL_SYSTEMS;