m2isar.backends.etiss.architecture_writer
Functions for generating auxillary ETISS ArchImpl files.
Attributes
Functions
|
Recursively generate register declarations |
|
|
|
|
|
Populate the passed lists with memory objects of their category. |
|
Generate {CoreName}Arch.cpp file. Contains mainly register initialization code. |
|
|
|
|
|
|
|
|
|
Module Contents
- write_child_reg_def(reg: m2isar.metamodel.arch.Memory, regs: list[str])[source]
Recursively generate register declarations
- write_arch_struct(core: m2isar.metamodel.arch.CoreDef, start_time: str, output_path: pathlib.Path)[source]
- write_arch_header(core: m2isar.metamodel.arch.CoreDef, start_time: str, output_path: pathlib.Path)[source]
- build_reg_hierarchy(reg: m2isar.metamodel.arch.Memory, ptr_regs: list[arch.Memory], actual_regs: list[arch.Memory], alias_regs: dict[arch.Memory, arch.Memory], initval_regs: list[arch.Memory])[source]
Populate the passed lists with memory objects of their category.
ptr_regs: Registers that need to be a pointer within ETISS actual_regs: Registers that are not a pointer alias_regs: Registers which are an alias to some other register initval_regs: Registers which have initial value(s) defined in the model
- write_arch_cpp(core: m2isar.metamodel.arch.CoreDef, start_time: str, output_path: pathlib.Path, aliased_regnames: bool = True)[source]
Generate {CoreName}Arch.cpp file. Contains mainly register initialization code.
- write_arch_lib(core: m2isar.metamodel.arch.CoreDef, start_time: str, output_path: pathlib.Path)[source]
- write_arch_specific_header(core: m2isar.metamodel.arch.CoreDef, start_time: str, output_path: pathlib.Path)[source]
- write_arch_specific_cpp(core: m2isar.metamodel.arch.CoreDef, start_time: str, output_path: pathlib.Path)[source]
- write_arch_gdbcore(core: m2isar.metamodel.arch.CoreDef, start_time: str, output_path: pathlib.Path)[source]
- write_arch_cmake(core: m2isar.metamodel.arch.CoreDef, start_time: str, output_path: pathlib.Path, separate: bool)[source]