Skip to main content

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:

VersionProgress
Single Cycle 99.7 % |█████████████████████████████████████████████|
Microprogrammed 30.1 % |██████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|

RV32 ISA tests progress:

VersionProgress
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


Download files

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

Source Distribution

punxa-2025.1.tar.gz (56.9 kB view details)

Uploaded Source

Built Distribution

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

punxa-2025.1-py3-none-any.whl (59.1 kB view details)

Uploaded Python 3

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

Hashes for punxa-2025.1.tar.gz
Algorithm Hash digest
SHA256 878408bec79f328aea818b99cf259b5ce1bf2acbf241f7c3f4b7757a5465842b
MD5 8a27e11a27c872fdbdef895a9ff3c3f7
BLAKE2b-256 e9ac77402f4c75c31584a0fe88fdac1ff91671da4267cd7e80798d4ba0a7de76

See more details on using hashes here.

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

Hashes for punxa-2025.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ea88633290d6344a13f2ae51bff3d4ed8fa973c64b63debeaf1966484c1b57c3
MD5 8997e90e01d2f5761749e5316e9e1a2d
BLAKE2b-256 9702086fe2d85a1ef2b6b04e340b373f5d90a5d70ec766e404d0650d06d8f041

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page