vhdl-ams:new_data_types:equations

Equations

extended description of the systems by:

Differential Equations + Algebraic Equations ⇒ DAE's (Differential and Algebraic Equations)

representation: F(dX/dt, X, t) == 0

  • F := vector of expressions
  • X := verctor of unknowns
  • t := time
  • [number of equations] = [number of unknowns] –> solvable

DAE quantities

Notes

The description of systems is possible as hitherto in VHDL added by algebraic and differential equations (DAE's). These DAE's are having the form: F(dX/dt, X, t)==0; underlined sizes may be vectors. F is an expression, X is the unknown in the equation, dX/dt is the first derivation from X of time and t is the time. The system of equations is only solvable when the number of independent equations is equal to the number of unknowns. These unknowns may be only through quantities, free quantities or interface quantities of node `out'! Thus, an across quantity is no unknown of a system.

Q'Dot derivate of time
Q'Integ time integral
Q'Delayed(delay_time) time delayed quantity
Q'Ltf(numerator_coefficients, denominator_coefficients) Laplace transfer function
Q'ZOH(sampling_period [, initial_delay]) zero - order hold
Q'Ztf(numerator_coefficients, denominator_coefficients, sampling_period [, initial_delay]) Z-domain transfer function
Q'Slew([max_rising_slope [, max_falling_slope]]) slew rate of a quantity
S'Ramp([rising_time [, falling_time]]) ramp of a signal
S'Slew([max_rising_slope [, max_falling_slope]]) slew rate of a signal
Inductance
i == 1/L * u'Integ;
Capacity
i == C * u'Dot;

Notes

For the representation of equations the listed operators are available:

  • Q corresponds a quantity, S corresponds a signal.
  • Q'Integ: from time 0 to time the attribute is evaluated
  • Q'ZOH, Q'Ztf: initial_delay in seconds; if omitted, it defaults to 0.0
  • Q'Slew: A quantity that follows Q, but its derivative w. r. t. time is limited by the specified slopes.
    • If max_rising_slope omitted, it defaults to Real'HIGH, which approximates an infinite slope.
    • If max_falling_slolpe omitted, it defaults to 0.0, which approximates the negative of the maximum rising infinite slope.
  • S'Ramp: A quantity that follows signal S, but with specified rise and fall times.
    • If rising_time omitted, it defaults to 0.0.
    • If falling_time omitted, it defaults to the value of rising_time.
  • S'Slew: A quantity that follows signal S, but its derivative w. r. t. time is limited by the specified slopes.
    • If max_rising_slope omitted, it defaults to Real'HIGH, which approximates an infinite slope.
    • If max_falling_slolpe omitted, it defaults to 0.0, which approximates the negative of the maximum rising infinite slope.

I. e., the second derivation of a quantity Q is: Q'Dot'Dot


Chapters of VHDL-AMS > New Data Types