Data Modeling

OPERATIONS

Primitive Operators

Type Conversion


Operations on Arrays

Slicing

Concatenation


Signal Attributes

Event related attributes

S'DELAYED(T)
produces a signal whose waveform has been delayed by T time. Can be used to model delay continuously -- as in a delay line or bus where the effect of bus length is being modelled.
S'STABLE(T)
produces a boolean signal which becomes true at time T after the last change of value on signal S, and changes to false again as soon as the value on S changes again.

Used for checking setup and hold times. If T is the setup time, this will be true at the clocking time. It imposes a fairly high overhead, and should usually be avoided. See the use of S'LAST_EVENT below.

S'EVENT
is a signal whose value is true at exactly the event time when signal S changes value, and false otherwise.

Used to model the clock transition in flipflops.

Example: Up_edge := S'event and S = '1'.

 

S'LAST_EVENT
returns the length of time which has elapsed since the last change on S.

Can be used to compute time-varying values like capacitive dischange in a memory cell at refresh. Is the preferred way to check signal stabilization: J'last_event > Tsetup.

Transaction related signal attributes

S'QUIET(T)
produces a boolean signal which becomes false when a transaction occurs on S, and returns to true at time T after the transaction.
S'ACTIVE
is a signal whose value is true at exactly the transaction time when signal S might have been updated, and false otherwise.
S'TRANSACTION is unlike any of the event attributes. It is a signal of type BIT whose value toggles every time a transaction occurs on S.
S'LAST_EVENT
returns the length of time which has elapsed since the last change on S.

Can be used to compute time-varying values like capacitive dischange in a memory cell at refresh. Also another way to check signal stabilization.


Overloaded Operators

Building Functions using Operator Overloading and Constant Arrays


Strings and bit strings
Arrays of Subtypes Built on Character
Aggregated Constants Specified by Name