Skip to main content

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 pip and venv

Installation (Usage with CoreDSL 2 and ETISS)

  • Make a Python venv somewhere: 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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

m2isar-0.1.2.tar.gz (184.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

m2isar-0.1.2-py3-none-any.whl (225.3 kB view details)

Uploaded Python 3

File details

Details for the file m2isar-0.1.2.tar.gz.

File metadata

  • Download URL: m2isar-0.1.2.tar.gz
  • Upload date:
  • Size: 184.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for m2isar-0.1.2.tar.gz
Algorithm Hash digest
SHA256 053aa4cf7ed10d5dfc1f2ec7c408cbb16c9296ec52cd739c743d6fe18cf95637
MD5 01ac1d4004ae65426d442f1dc31a3e2f
BLAKE2b-256 dea69a7441c4eee96afc21b27c54e594de5d8b257a7d285e7624b2646c0678b2

See more details on using hashes here.

File details

Details for the file m2isar-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: m2isar-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 225.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for m2isar-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0ae4421bfb3bb9fa4d668f06c99409fe0795f26a2d639263f57e1261d25d82d2
MD5 c8a805ee7c9bdab5c5c76710eb12350c
BLAKE2b-256 84fd575b81dc579f1df7d7a164fc95b11fa3052fc0ef46e00d7da501ae4ff714

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

This release

0.1.2 This release

2 files

0.1.1

2 files

0.1.0

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page