Component Declaration | component name
[generic (interface_constant {; interface_constant});] [port (interface_signal {; interface_signal});] end component; |
|
Constant Declaration | constant name {,name} : type [constraint] := expression; | type ist entweder ein typ oder ein subtyp
constraint muß bei unconstraint typen angegeben werden, wenn es nicht aus expression ermittelt werden kann constraint kann auch einen typ einschränken |
Function Body | function name [(interface_declaration {;interface_declaration})]
return type
is {declaration} begin {statement} end [name]; |
alle Parameter müssen vom typ in sein
alle Arten von Deklarationen außer Component und Signal dürfen verwendet werden als Statements sind erlaubt: asserts, case, if, loops, null, procedure calls, return, simple signal Zuweisung, variablen Zuweisung |
Function Declaration | function name [(interface_declaration {;interface_declaration})] return type; | |
Interface Declaration | [constant] name {,name}: [in] type [constraint] [:=
expresion]
[signal] name {,name}: [mode] [res_function] type [constraint] [bus] [:=expression] [variable] name {,name}: {mode] type [constraint] [:=expression] |
modi für signale sind: in, out, inout, buffer
modi für variablen: in, out, inout |
Procedure Body | procedure name [(interface_declaration {;interface_declaration})]
is {declaration} begin {statement} end [name]; |
alle Arten von Deklarationen außer Component und Signal dürfen
verwendet werden
als Statements sind erlaubt: asserts, case, if, loops, null, procedure calls, return, simple signal Zuweisung, variablen Zuweisung |
Procedure Declaration | procedure name [(interface_declaration {;interface_declaration}); | |
Signal Declaration | signal name {,name}: [res_function] type [constraint] [register|bus] [:= expression]; | |
Subtype Declaration | subtype name is [res_function] type [constraint]; | |
Type Declaration | type name [is type_definition] | typ definitionen sind entweder skalare (integer, reals, enumerations, physical types), composite typen (array, records), acces typen (pointer) oder files |
Use Clause | use use_name {,use_name}; | |
Variable Declaration | variable name {,name}: typ [constraint] [:=expression]; |