disconnection_specification ::= |
|||
guarded_signal_specification ::=
guarded_
signal_list : type_mark
expression ::=
relation {
and
relation }
| relation {
or
relation }
| relation {
xor
relation }
| relation [
nand
relation ]
| relation [
nor
relation ]
SIGNAL a : resolved_type REGISTER ; DISCONNECT a : resolved_type AFTER 1 ns; |
a
is declared as a guarded signal of the type |
SIGNAL
sig1, sig2, sig3 : resolved_bit REGISTER ; DISCONNECT sig1 : resolved_bit AFTER 5 ns ; DISCONNECT OTHERS : resolved_bit AFTER 8 ns ; |
sig1
,
sig2
and
sig3
are declared as guarded |
CONSTANT
delay : time := 5 ns ; SIGNAL bus_a, bus_b : resolved_zbit_vector32 BUS ; DISCONNECT ALL : resolved_zbit_vector32 AFTER delay + 1 ns ; |
bus_a
and
bus_b
are declared as |
PACKAGE
fourval
IS TYPE mvl4 IS ('X','0','1','Z') ; TYPE mvl4_vector IS ARRAY (natural RANGE <>) OF mvl4 ; FUNCTION resolved (a: mvl4_vector) RETURN mvl4 ; SUBTYPE mvl4_r IS resolved mvl4 ; END fourval ; PACKAGE BODY fourval IS FUNCTION resolved (a: mvl4_vector) RETURN mvl4 IS VARIABLE result : mvl4 := 'Z' ; -- Defaultwert: 'Z' BEGIN ... RETURN result ; END resolved ; END fourval ; USE work.fourval.ALL ; ENTITY mux_2_1 IS PORT (in_signals : IN mvl4_vector (1 TO 2) ; choice : IN integer ; out_signal : OUT mvl4_r BUS ) ; END mux_2_1 ; ARCHITECTURE with_guards OF mux_2_1 IS DISCONNECT out_signal : mvl4_r AFTER 25 ns ; BEGIN choice_1 : BLOCK (choice = 1) BEGIN out_signal <= GUARDED in_signals(1) AFTER 20 ns ; END BLOCK ; choice_2 : BLOCK (choice = 2) BEGIN out_signal <= GUARDED in_signals(2) AFTER 18 ns ; END BLOCK ; END with_guards ; |
In the
PACKAGE
fourval
a four-valued |