An open API service indexing awesome lists of open source software.

https://github.com/lowrisc/benevisrdl

This repository houses PeakRDL plugins, named after Ben Nevis, the UK's tallest peak.
https://github.com/lowrisc/benevisrdl

Last synced: about 1 month ago
JSON representation

This repository houses PeakRDL plugins, named after Ben Nevis, the UK's tallest peak.

Awesome Lists containing this project

README

          

# BenevisRDL

This repository will house PeakRDL plugins, named after Ben Nevis, the UK's tallest peak.

## Installing dependencies
### Using uv on macOS and Linux
```sh
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv
uv sync --all-extras
. .venv/bin/activate
```

### Using nix on Any OS
```sh
nix develop
```

## rdl2ot cli tool
A PeakRDL extension to generate OpenTitan register block SystemVerilog from SystemRDL files.

For more details, refer to [rdl2ot](./rdl2ot)

### How to run tests
```sh
cd rdl2ot
pytest
```

### How to generate the OpenTitan register interfaces from a RDL file
```sh
cd rdl2ot
python src/rdl2ot export-rtl tests/snapshots/lc_ctrl.rdl /tmp/
```

## rdlexporter
A library to generate SystemRDL files from the Hierarchical Register Model.

For more details, refer to [rdlexporter](./rdlexporter)

### How to run tests
```sh
cd rdlexporter
pytest
```

### How to build the package and install it locally
Install dev dependencies
```sh
uv sync --all-extras
```
Build package
```sh
uv build --all
```
Install the package locally
```sh
uv pip install dist/rdlexporter-0.1.0-py3-none-any.whl
```
Testing
```sh
uv run python
```
```python
from rdlexporter import RdlExporter
```