M2-ISA-R v2
This tool serves as a general-purpose instruction set architecture metamodel. A parser for CoreDSL and an architecture generator for the instruction set simulator ETISS are currently also provided.
Please note: M2-ISA-R is in heavy development, things might change and break without notice. Please report issues on GitHub for any problems you encounter.
Prerequisites
- Python 3.7+ with at least
pipandvenv
Installation (Usage with CoreDSL 2 and ETISS)
- Make a Python
venvsomewhere:python -m venv <path-to-venv> - Activate said
venv:source <path-to-venv>/bin/activate - Install M2-ISA-R:
pip install git+https://github.com/tum-ei-eda/M2-ISA-R@coredsl2
Development Setup
- Clone the repository, change into the cloned directory
- Make a Python
venv:python -m venv venv - Activate said
venv:source venv/bin/activate - Install M2-ISA-R for development:
pip install -e . - Install PyPI release:
pip install m2isar
Architecture
M2-ISA-R consists of 3 components, two of which are exchangeable for different needs:
Frontend -> Metamodel -> Backend
The frontend transforms a model specification into M2-ISA-R's internal architecture model. This model can then be transformed again to an output format, e.g. models for an ISS. This repo provides a CoreDSL frontend and an ETISS backend.
Usage
M2-ISA-R v2 currently ships three usable tools: Two parsers (for transforming CoreDSL 1.5 / 2 to a M2-ISA-R metamodel) and a writer (for generating ETISS architecture plugins). These are described seperately in their respective directories, TL;DR version:
- To parse a CoreDSL 2 description:
coredsl2_parser path/to/input/<top_level>.core_desc - To generate ETISS Architecture:
etiss_writer -s path/to/input/gen_model/<top_level>.m2isarmodel
For parsers, see m2isar/frontends/coredsl or m2isar/frontends/coredsl2. For the ETISS architecture writer, see m2isar/backends/etiss.
Metadata
Release files for m2isar 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| m2isar-0.1.6.tar.gz | 186.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| m2isar-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 413.5 kB
Release files / m2isar-0.1.6.tar.gz
| Download URL | m2isar-0.1.6.tar.gz |
|---|---|
| Size | 186.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ba54905353ea35c2e389718bec580e83ae352e6fe2fcee8a4f553fc02aa551d0
|
|
BLAKE2b-256 checksum How to use checksums |
322b35433793e4284a1f8c8ef3f780773b3ab0f9fbdac736fa27b930ca0aeaf0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / m2isar-0.1.6-py3-none-any.whl
| Download URL | m2isar-0.1.6-py3-none-any.whl |
|---|---|
| Size | 227.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dfade870915173400952eed53e9900430a4fe9a9b990d628bffd891dbddfa84e
|
|
BLAKE2b-256 checksum How to use checksums |
14d2a400317e376e3c74f5a5f7db76bc1f7c433042ec5c218660cb483a50525c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for m2isar 0.1.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.