PyMTL 3 (Mamba): Python-based hardware generation, simulation, and verification framework
Project description
PyMTL 3 (Mamba)
PyMTL 3 (Mamba) is the latest version of PyMTL, an open-source Python-based hardware generation, simulation, and verification framework with multi-level hardware modeling support. The original PyMTL was introduced at MICRO-47 in December, 2014. Please note that PyMTL 3 is currently beta software that is under active development and documentation is currently quite sparse.
In June 2019, Keeping Computer Hardware Fast and Furious: "PyMTL is a fantastic example of what we need to jump-start the open-source hardware ecosystem…It’s a key missing link." was featured on Cornell Research.
Tutorial
We recently hold a very high quality PyMTL 3 tutorial at FCRC 2019 with 40+ researchers attended. The code for tutorial is here https://github.com/cornell-brg/pymtl-tutorial-isca2019. The website with all slides and link to VM is here https://www.csl.cornell.edu/pymtl2019/. This 32-bit CentOS 7 virtualbox image includes pymtl3 and all the open-source EDA toolchains required to complete the tutorial.
Related publications
-
Shunning Jiang, Christopher Torng, and Christopher Batten. "An Open-Source Python-Based Hardware Generation, Simulation, and Verification Framework." First Workshop on Open-Source EDA Technology (WOSET'18) held in conjunction with ICCAD-37, Nov. 2018.
-
Shunning Jiang, Berkin Ilbeyi, and Christopher Batten. "Mamba: Closing the Performance Gap in Productive Hardware Development Frameworks." 55th ACM/IEEE Design Automation Conf. (DAC-55), June 2018.
-
Derek Lockhart, Gary Zibrat, and Christopher Batten. "PyMTL: A Unified Framework for Vertically Integrated Computer Architecture Research." 47th ACM/IEEE Int'l Symp. on Microarchitecture (MICRO-47), Dec. 2014.
License
PyMTL is offered under the terms of the Open Source Initiative BSD 3-Clause License. More information about this license can be found here:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.