m2isar.frontends.coredsl2.architecture_model_builder

Attributes

logger

Classes

ArchitectureModelBuilder

ANTLR visitor to build an M2-ISA-R architecture model of a CoreDSL 2 specification.

Module Contents

logger[source]
class ArchitectureModelBuilder[source]

Bases: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Visitor

Inheritance diagram of m2isar.frontends.coredsl2.architecture_model_builder.ArchitectureModelBuilder

ANTLR visitor to build an M2-ISA-R architecture model of a CoreDSL 2 specification.

_constants: dict[str, arch.Constant][source]
_instructions: dict[str, arch.Instruction][source]
_functions: dict[str, arch.Function][source]
_always_blocks: dict[str, arch.AlwaysBlock][source]
_instruction_sets: dict[str, arch.InstructionSet][source]
_read_types: dict[str, str][source]
_memories: dict[str, arch.Memory][source]
_memory_aliases: dict[str, arch.Memory][source]
_overwritten_instrs: list[tuple[arch.Instruction, arch.Instruction]][source]
_instr_classes: set[int][source]
_main_reg_file: m2isar.metamodel.arch.Memory | None[source]
visitBit_field(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Bit_fieldContext)[source]

Generate a bit field (instruction parameter in encoding).

visitBit_value(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Bit_valueContext)[source]

Generate a fixed encoding part.

visitInstruction_set(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Instruction_setContext)[source]

Generate a top-level instruction set object.

visitSection_instructions(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Section_instructionsContext)[source]
visitCore_def(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Core_defContext)[source]

Generate a top-level CoreDef object.

visitSection_arch_state(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Section_arch_stateContext)[source]

Generate “archictectural_state” section of CoreDSL file.

visitAlways_block(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Always_blockContext)[source]

Generate always block

visitInstruction(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.InstructionContext)[source]

Generate non-behavioral parts of an instruction.

visitFunction_definition(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Function_definitionContext)[source]

Generate non-behavioral parts of a function.

visitParameter_declaration(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Parameter_declarationContext)[source]

Generate function argument declaration.

visitInteger_constant(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Integer_constantContext)[source]

Generate an integer literal.

visitDeclaration(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.DeclarationContext)[source]

Generate a declaration.

visitType_specifier(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Type_specifierContext)[source]
visitInteger_type(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Integer_typeContext)[source]

Generate an integer type specification.

visitVoid_type(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Void_typeContext)[source]

Generate a void type.

visitBool_type(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Bool_typeContext)[source]

Generate a bool (alias for unsigned<1>).

visitBinary_expression(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Binary_expressionContext)[source]

Generate a binary expression.

visitSlice_expression(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Slice_expressionContext)[source]
visitPrefix_expression(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Prefix_expressionContext)[source]
visitReference_expression(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Reference_expressionContext)[source]

Generate a referencing expression.

visitStorage_class_specifier(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Storage_class_specifierContext)[source]
visitType_qualifier(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Type_qualifierContext)[source]
visitInteger_signedness(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Integer_signednessContext)[source]
visitInteger_shorthand(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Integer_shorthandContext)[source]
visitAssignment_expression(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.Assignment_expressionContext)[source]

Generate an assignment.

visitAttribute(ctx: m2isar.frontends.coredsl2.parser_gen.CoreDSL2Parser.AttributeContext)[source]

Generate an attribute.

visitChildren(node)[source]

Helper method to return flatter results on tree visits.

aggregateResult(aggregate, nextResult)[source]

Aggregate results from multiple children into a list.