Skip to content

darsor/PeakRDL-rust

Repository files navigation

PeakRDL-rust

Coverage Status

Generate Rust code for accessing control/status registers from a SystemRDL description.

This is currently in a beta state. Feel free to try it out and report any bugs encountered.

For documentation including API reference, configuration options, and detailed examples, visit:

PeakRDL-rust Documentation on Read the Docs

Installation

It can be installed from PyPI using

pip install peakrdl-rust[cli]

Usage

For usage available options, use

peakrdl rust --help

TODO

  • Arrays
  • Enum encoding
  • Reg impl with regwidth != accesswidth
  • Impl Default for registers
  • Test generator
  • Add field constants (width, offset, etc.)
  • Impl Debug for registers
  • Add ARCHITECTURE.md
  • Find/generate additional test input
  • Mem components
  • More efficient field tests
  • Set up github actions/PyPI publishing
  • Fixedpoint/signed UDPs
  • Rust keyword conflict test
  • Unwrap encoded field enums if exhaustive
  • Restrict read/write to memories
  • Add examples to docs
  • Regwidth > native integer types

About

Generate a Rust crate from SystemRDL for accessing control/status registers.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •