m2isar.backends.etiss.instruction_transform
Recursive tree traversal methods to generate behavior code.
Attributes
Functions
|
Generate an Operation model object. Essentially generate all children, |
|
|
|
|
|
|
|
Generate a scalar definition. Calculates the actual required data width and generates |
|
Generate a procedure call (Function call without usage of the return value). |
|
Generate a regular function call (with further use of return value). |
|
Generate a conditional ('if' with optional 'else if' and 'else' blocks) |
|
Generate 'while' and 'do .. while' loops. |
|
Generate a ternary expression. |
|
Generate an assignment expression |
|
Generate a binary expression |
|
|
|
Generate a slice expression |
|
Generate a concatenation expression |
|
Generate a named reference |
|
Generate an indexed reference expression (for register banks or memory). |
|
Generate a type cast expression |
|
Generate an integer literal. |
|
Generate generic number literal. Currently unused. |
|
Generate a group of expressions. |
|
|
|
Module Contents
- operation(self: m2isar.metamodel.behav.Operation, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
Generate an Operation model object. Essentially generate all children, concatenate their code, and add exception behavior if needed.
- block(self: m2isar.metamodel.behav.Block, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
- return_(self: m2isar.metamodel.behav.Return, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
- break_(self: m2isar.metamodel.behav.Break, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
- scalar_definition(self: m2isar.metamodel.behav.ScalarDefinition, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
Generate a scalar definition. Calculates the actual required data width and generates a variable instantiation.
- procedure_call(self: m2isar.metamodel.behav.ProcedureCall, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
Generate a procedure call (Function call without usage of the return value).
- function_call(self: m2isar.metamodel.behav.FunctionCall, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
Generate a regular function call (with further use of return value).
- conditional(self: m2isar.metamodel.behav.Conditional, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
Generate a conditional (‘if’ with optional ‘else if’ and ‘else’ blocks)
- loop(self: m2isar.metamodel.behav.Loop, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
Generate ‘while’ and ‘do .. while’ loops.
- ternary(self: m2isar.metamodel.behav.Ternary, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
Generate a ternary expression.
- assignment(self: m2isar.metamodel.behav.Assignment, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
Generate an assignment expression
- binary_operation(self: m2isar.metamodel.behav.BinaryOperation, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
Generate a binary expression
- unary_operation(self: m2isar.metamodel.behav.UnaryOperation, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
- slice_operation(self: m2isar.metamodel.behav.SliceOperation, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
Generate a slice expression
- concat_operation(self: m2isar.metamodel.behav.ConcatOperation, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
Generate a concatenation expression
- named_reference(self: m2isar.metamodel.behav.NamedReference, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
Generate a named reference
- indexed_reference(self: m2isar.metamodel.behav.IndexedReference, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
Generate an indexed reference expression (for register banks or memory).
- type_conv(self: m2isar.metamodel.behav.TypeConv, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
Generate a type cast expression
- int_literal(self: m2isar.metamodel.behav.IntLiteral, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
Generate an integer literal.
- number_literal(self: m2isar.metamodel.behav.NumberLiteral, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
Generate generic number literal. Currently unused.
- group(self: m2isar.metamodel.behav.Group, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
Generate a group of expressions.
- operator(self: m2isar.metamodel.behav.Operator, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]
- code_literal(self: m2isar.metamodel.behav.CodeLiteral, context: m2isar.backends.etiss.instruction_utils.TransformerContext)[source]