This table can be used to find the vMAGIC class that corresponds with a VHDL language constructs. More detailed information and usage examples are available in the description of the individual classes.
VHDL code | vMAGIC class |
---|---|
architecture beh of ent is ... begin ... end; |
Architecture |
configuration conf of ent is ... end; |
Configuration |
entity ent is ... end; |
Entity |
package body pkg is ... end; |
PackageBody |
package pkg is ... end; |
PackageDeclaration |
Type declarations are in a separate package.
VHDL code | vMAGIC class |
---|---|
alias identifier1 is identifier2; | Alias |
attribute identifier : t; | Attribute |
component cmpnt ... end component; |
Component |
constant const : t; | ConstantDeclaration |
file f : t; | FileDeclaration |
function f(p : t) return t is ... begin ... end; |
FunctionBody |
function f(p : t) return t; | FunctionDeclaration |
group ident : templ(l); | Group |
group templ is (signal); | GroupTemplate |
procedure proc(p : t) is ... begin ... end; |
ProcedureBody |
procedure proc(p : t); | ProcedureDeclaration |
signal sig : t; | SignalDeclaration |
subtype s is t(7 downto 0); | Subtype |
variable v : t; | VariableDeclaration |
All sequential statements have an optional label which can be manipulated using the setLabel(label) and getLabel() functions.
VHDL code | vMAGIC class |
---|---|
assert condition; | AssertionStatement |
case expr is ... end case; |
CaseStatement |
exit loop_label; | ExitStatement |
for i in 1 to 10 loop ... end loop; |
ForStatement |
if condition then ... end if; |
IfStatement |
loop ... end loop; |
LoopStatement |
next loop_label; | NextStatement |
null; | NullStatement |
procedure(parameter); | ProcedureCall |
report "text"; | ReportStatement |
return value; | ReturnStatement |
signal <= value; | SignalAssignment |
variable := value; | VariableAssignment |
wait for 10 ns; | WaitStatement |
while condition loop ... end loop; |
WhileStatement |
VHDL code | vMAGIC class |
---|---|
type atype is access t; | AccessType |
type a is array(7 downto 0) of t; | ConstrainedArray |
type e is (l1, l2, l3); | EnumerationType |
type f is file of t; | FileType |
type i; | IncompleteType |
type i is range 127 downto 0; | IntegerType |
type p is units ... end units; |
PhysicalType |
type r is record ... end record; |
RecordType |
type a is array(t range <>) of t2; | UnconstrainedArray |