A <= B
AFTER
5 ns;
|
The value of
B
is assigned to signal A after 5 ns.
In the first example the inertial delay model is used, in
the second example the transport delay model is used.
|
A <=
TRANSPORT
B
AFTER
5 ns;
|
data <= 2
AFTER
1 ns,
4
AFTER
3 ns,
10
AFTER
8 ns;
|
A waveform is assigned to signal
data
, according to
which
data
receives the value
2
after 1 ns, the value
4
after 3ns and the value
10
after 8ns.
|
A <= my_function(data, 4)
AFTER
5 ns;
|
Signal
A
is assigned the result of the function
my_function
by the inertial delay model
In the first example this happens after 5ns; in the
second and third example this happens after a time
which is determined by the constant delay. In the third
example the value
0
is transferred to A 2ns after the
preceding assignment.
|
A <= my_function(data, 4)
AFTER
delay;
|
A <= my_function(data, 4)
AFTER
delay,
0
AFTER
delay + 2 ns;
|
ouptut <= input
AFTER
6 ns;
output <=
INERTIAL
input
AFTER
6 ns;
output <=
REJECT
6 ns
INERTIAL
input
AFTER
6 ns;
|
These assignments are equivalent. The value of
input
is driven to
output
with a delay of 6 ns. Pulses smaller
6 ns are suppressed.
|
output1 <=
REJECT
3 ns
INERTIAL
input1
AFTER
6 ns;
output2 <=
REJECT
3 ns
INERTIAL
input2
AFTER
6 ns,
NOT
input2
AFTER
12 ns;
|
Here the pulse rejection limit is smaller than the first
time expression in the waveform. All pulses smaller
3 ns are suppressed.
|
output1 <=
TRANSPORT
input1
AFTER
6 ns;
output2 <=
TRANSPORT
input2
AFTER
6 ns,
NOT
input2
AFTER
12 ns;
output3 <=
REJECT
0 ns
INERTIAL
input1
AFTER
6 ns;
output4 <=
REJECT
0 ns
INERTIAL
input2
AFTER
6 ns
NOT
input2
AFTER
12 ns;
|
The signal assignments to
output1
and
ouput2
are
equivalent to those of
ouput3
and
output4
.
No pulses are suppressed.
|
VHDL'87
sig2 <= input
AFTER
3 ns;
output <=
TRANSPORT
sig2
AFTER
9 ns;
VHDL'93
output <=
REJECT
3 ns
INERTIAL
input
AFTER
12 ns;
|
In VHDL'87 one had to choose the above assignments.
Both variants are equivalent.
|