punxa
Python-based RISC-V Full System Simulator.
Punxa provides HDL models of different parts of a full RISC-V system designed in different design styles using py4hw.
For the processor, we currently support two 64-bit models :
- Behavioral Model of a single-cycle execution processor without pipeline
- Microprogrammed structural design with an algorithmic Control Unit implementation
The single-cycle version suppports full system simulation and proxy-kernel simulation (as in Spike). We also introduce a Linux proxy-kernel to simulate applications compiled with riscv64-unknown-linux-gnu-gcc.
We also support two 32-bit models:
- Behavioral Model of a single-cycle execution processor without pipeline
- Microprogrammed structural design with an algorithmic Control Unit implementation
Testing
We started focussing on RV64 and Baremetal applications (compiled with risc64-unknown-elf-gcc). Then, we moved to RV32. When completed, next goal is Linux boot.
RISC-V ISA Tests
RV64 ISA tests progress:
| Version | Progress |
| Single Cycle | 99.7 % |█████████████████████████████████████████████| |
| Microprogrammed | 30.1 % |██████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░| |
RV32 ISA tests progress:
| Version | Progress |
| Single Cycle | 99.6 % |█████████████████████████████████████████████| |
| Microprogrammed | 53.8 % |█████████████████████████░░░░░░░░░░░░░░░░░░░░| |
check riscv-tests for a complete list
Proxy-kernel Apps
Publications
Cite as
@INPROCEEDINGS{castells2024educational,
author={Castells-Rufas, David and Novo, David and Martorell, Xavier},
booktitle={2024 39th Conference on Design of Circuits and Integrated Systems (DCIS)},
title={An Educational Tool to Analyze the Hardware/Software Integration in RISC-V Systems},
year={2024},
pages={1-6},
doi={10.1109/DCIS62603.2024.10769201}}
Metadata
Release files for punxa 2025.1
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 | Actions |
|---|---|---|---|---|
| punxa-2025.1.tar.gz | 56.9 kB | Without provenance | Details for punxa-2025.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| punxa-2025.1-py3-none-any.whl | Python 3 | none | any | Details for punxa-2025.1-py3-none-any.whl |
Total release size: 116.0 kB
Release files / punxa-2025.1.tar.gz
| Download URL | punxa-2025.1.tar.gz |
|---|---|
| Size | 56.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
878408bec79f328aea818b99cf259b5ce1bf2acbf241f7c3f4b7757a5465842b
|
|
BLAKE2b-256 checksum How to use checksums |
e9ac77402f4c75c31584a0fe88fdac1ff91671da4267cd7e80798d4ba0a7de76
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.5
|
Release files / punxa-2025.1-py3-none-any.whl
| Download URL | punxa-2025.1-py3-none-any.whl |
|---|---|
| Size | 59.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ea88633290d6344a13f2ae51bff3d4ed8fa973c64b63debeaf1966484c1b57c3
|
|
BLAKE2b-256 checksum How to use checksums |
9702086fe2d85a1ef2b6b04e340b373f5d90a5d70ec766e404d0650d06d8f041
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.5
|
Security for punxa 2025.1
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.