CLI tools for the Curv RISC-V CPU project
Project description
curvtools package
CLI tools for the Curv RISC-V CPU project.
Prerequisites
- Follow the developer setup instructions including installing
uvand runningmake setup(only needed once per machine).
Development/testing of CLI tools
We'll use the memmap2 tool as an example. Here are some common tasks:
-
Run one of the CLI tools (they're in your
PATHaftermake setup):curv-memmap2 --help -
Run tests just for one tool using
pytestfrom its source directory:# from the repo root $ cd packages/curvtools/src/curvtools/cli/memmap2 $ pytest
curvcfg
curvcfg is a command line tool for managing the configuration of the Curv CPU. It is used to merge and generate configuration files for the CPU.
Here is a quick rundown of how to use it (paths below are representative—set CURV_ROOT_DIR per the curvcpu/curv docs and point CURV_BUILD_DIR at a scratch build dir like ./build):
-
Board flow: merge board config, then generate HDL/make artifacts
CURV_BUILD_DIR=build curvcfg [-vv] board merge \ --board=ulx3s --device=85f \ --schema=$CURV_ROOT_DIR/boards/schema/schema.toml \ --schema=$CURV_ROOT_DIR/boards/schema/schema_flash.toml
[
CURV_BUILD_DIR=build curvcfg [-vv] board generate
--merged-board-toml build/generated/config/merged_board.toml
--template=$CURV_ROOT_DIR/boards/templates/boardpkg.sv.jinja2
```
Representative outputs: `generated/config/merged_board.toml`, `generated/make/board.mk(.d)`, `generated/hdl/boardpkg.sv`, `generated/hdl/board.svh`, `generated/shell/board.env`.
-
Configuration variables flow:
merge cfgvars, then generate remaining artifactsCURV_BUILD_DIR=build curvcfg [-vv] cfgvars merge \ --profile=default \ --schema=$CURV_ROOT_DIR/config/schema/schema.toml \ --schema=$CURV_ROOT_DIR/config/schema/tb-extras-schema.toml \ --overlay=$CURV_ROOT_DIR/config/profiles/overlays/tb.toml CURV_BUILD_DIR=build curvcfg [-vv] cfgvars generate \ --merged-config-toml build/generated/config/merged_cfgvars.toml
Representative outputs:
generated/config/merged_cfgvars.toml,generated/make/config.mk.d+curv.mk,generated/hdl/curvcfgpkg.sv,generated/hdl/curvcfg.svh,generated/shell/curv.env. -
Show derived paths from
scripts/make/paths_raw.envin the curvcpu/curv repoCURV_BUILD_DIR=build curvcfg [-vv] show curvpaths \ --board=ulx3s --device=85f --profile=default
-
Inspect merged variables for any merged
*.tomlCURV_BUILD_DIR=build curvcfg [-vv] show vars \ --merged-toml=build/generated/config/merged_board.toml CURV_BUILD_DIR=build curvcfg [-vv] show vars \ --merged-toml=build/generated/config/merged_cfgvars.toml
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 curvtools-0.0.19.tar.gz.
File metadata
- Download URL: curvtools-0.0.19.tar.gz
- Upload date:
- Size: 155.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d13b69bb764d186328aa1f75ef4c47776f88d1bd5dd76dc916c7cfcbccfe078
|
|
| MD5 |
b03c051c44bc34e57ad12850369b3c3f
|
|
| BLAKE2b-256 |
48cf76aaf4150ef904d237790909c787520e9c4199f7e2c737b35fe53eab7104
|
Provenance
The following attestation bundles were made for curvtools-0.0.19.tar.gz:
Publisher:
ci.yaml on curvcpu/curv-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
curvtools-0.0.19.tar.gz -
Subject digest:
7d13b69bb764d186328aa1f75ef4c47776f88d1bd5dd76dc916c7cfcbccfe078 - Sigstore transparency entry: 776763418
- Sigstore integration time:
-
Permalink:
curvcpu/curv-python@2058e7bdf54c6121b10437fec47852fbaaa62b0a -
Branch / Tag:
refs/tags/curvtools-v0.0.19 - Owner: https://github.com/curvcpu
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yaml@2058e7bdf54c6121b10437fec47852fbaaa62b0a -
Trigger Event:
push
-
Statement type:
File details
Details for the file curvtools-0.0.19-py3-none-any.whl.
File metadata
- Download URL: curvtools-0.0.19-py3-none-any.whl
- Upload date:
- Size: 142.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
774aab130be9843cb26d11aa60c75afaaf8e0ee7077c7159d0005ceeda0eaaed
|
|
| MD5 |
95166be98c87bf9a99823820dc1abca9
|
|
| BLAKE2b-256 |
6777136bafe7d37475c1dc2af10a5f7ab2144aae983c317b8bef4f5c81d642fe
|
Provenance
The following attestation bundles were made for curvtools-0.0.19-py3-none-any.whl:
Publisher:
ci.yaml on curvcpu/curv-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
curvtools-0.0.19-py3-none-any.whl -
Subject digest:
774aab130be9843cb26d11aa60c75afaaf8e0ee7077c7159d0005ceeda0eaaed - Sigstore transparency entry: 776763481
- Sigstore integration time:
-
Permalink:
curvcpu/curv-python@2058e7bdf54c6121b10437fec47852fbaaa62b0a -
Branch / Tag:
refs/tags/curvtools-v0.0.19 - Owner: https://github.com/curvcpu
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yaml@2058e7bdf54c6121b10437fec47852fbaaa62b0a -
Trigger Event:
push
-
Statement type: