Python-based RISC-V Full System Simulator.
Project description
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}}
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.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file punxa-2025.1.tar.gz.
File metadata
- Download URL: punxa-2025.1.tar.gz
- Upload date:
- Size: 56.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
878408bec79f328aea818b99cf259b5ce1bf2acbf241f7c3f4b7757a5465842b
|
|
| MD5 |
8a27e11a27c872fdbdef895a9ff3c3f7
|
|
| BLAKE2b-256 |
e9ac77402f4c75c31584a0fe88fdac1ff91671da4267cd7e80798d4ba0a7de76
|
File details
Details for the file punxa-2025.1-py3-none-any.whl.
File metadata
- Download URL: punxa-2025.1-py3-none-any.whl
- Upload date:
- Size: 59.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea88633290d6344a13f2ae51bff3d4ed8fa973c64b63debeaf1966484c1b57c3
|
|
| MD5 |
8997e90e01d2f5761749e5316e9e1a2d
|
|
| BLAKE2b-256 |
9702086fe2d85a1ef2b6b04e340b373f5d90a5d70ec766e404d0650d06d8f041
|