ENTITY attr_demo IS
-- Typdeklarationen TYPE level IS (low, medium, high); TYPE state IS (instable, stable); TYPE res_type IS RANGE 0.0 TO 1.0E6; TYPE loc_type IS RECORD x_pos : integer; y_pos : integer; END RECORD;
-- Attributdeklarationen ATTRIBUTE technology : string; ATTRIBUTE priority : level; ATTRIBUTE sig_state : state; ATTRIBUTE resistance : res_type; ATTRIBUTE location : loc_type;
-- Attributdefinition ATTRIBUTE technology OF attr_demo : ENTITY IS "ttl";
END attr_demo;
ARCHITECTURE demo OF attr_demo IS
SIGNAL in_a, in_b, in_c : bit := '1';
-- Attributdefinition ATTRIBUTE sig_state OF in_a : SIGNAL IS instable; ATTRIBUTE sig_state OF OTHERS : SIGNAL IS stable;
BEGIN
-- Attributanwendung ASSERT attr_demo'technology = "cmos" REPORT "Kein CMOS-Modul" SEVERITY note;
END demo;
|
Die Verknüpfung des Attributs mit einem oder mehreren Elementen unter gleichzeitiger Wertzuweisung geschieht durch Angabe des entsprechenden VHDL-Elements: zum Beispiel 'attr_demo : ENTITY' oder 'in_a : SIGNAL'. Dem Attribut 'technology' wird der Wert 'ttl' zugewiesen. 'sig_state' des Signals 'in_a' ist 'instable', die Attribute 'sig_state' alle anderen Signale sind 'stable' (Schlüsselwörter OTHERS und ALL). |