Delay
Formal Definition
Delay is a mechanism allowing
introducing timing parameters of specified systems.
Syntax:
delay_mechanism ::= transport
| [ reject time_expression ] inertial
Description
The delay mechanism allows introducing propagation times of described
systems. Delays are specified in signal assignment statements. It is
not allowed to specify delays in variable assignments.
There are two delay mechanism available in VHDL: inertial
delay (default) and transport
delay.
The transport delay is
defined using the reserved word transport
and is characteristic for transmission lines. New signal value is
assigned with specified delay independently from the width of the
impulse in waveform (i.e. the signal is propagated through the line -
Example 1).
Inertial delay is defined using the reserved word inertial
and is used to model the devices, which are inherently inertial. In
practice this means, that impulses shorter than specified switching
time are not transmitted (Example 2).
Inertial delay specification may contain a reject
clause. This clause can be used to specify the minimum impulse width
that will be propagated, regardless of the switching time specified
(Example 3).
If the delay mechanism is not specified then by default it is inertial.
Examples
Example 1
B_OUT <= transport B_IN after
1 ns;
The value of the signal B_IN is assigned to the signal B_OUT with 1
ns delay. The distance between subsequent changes of B_IN is not
important - all changes are transmitted to B_OUT with specified delay
(Fig. 1).
Figure 1. Example of transport delay
Example 2
L_OUT <= inertial L_IN after
1 ns;
The signal value L_IN is assigned to the signal L_OUT with 1 ns
delay. Not all changes of the signal L_IN, however, will be
transmitted: if the width of an impulse is shorter than 1 ns then it
will not be transmitted. See Fig. 2 and the change of L_IN at 13 ns
and again at 13.7 ns.
Figure 2. Example of inertial delay
Example 3
Q_OUT <= reject 500 ps inertial
Q_IN after 1 ns;
The signal value Q_IN is assigned to the signal Q_OUT with 1 ns
delay. Although it is an inertial delay with switching time equal to
1 ns, the reject time is specified to 500 ps (.5 ns) and only
impulses shorter than 500 ps will not be transmitted (Fig. 3).
Figure 3. Example of inertial
delay with rejection limit.
Important Notes
-
Delay mechanisms can be applied to signals only. It is not allowed to
specify delays in variable assignments.
-
Delays are not synthesizable.
-
The Inertial delay is the
default delay and the reserved word inertial
can be omitted.
|