Skip to main content

curvtools package

CLI tools for the Curv RISC-V CPU project.

Prerequisites

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 PATH after make setup):

    curv-memmap2 --help
    
  • Run tests just for one tool using pytest from 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 artifacts

    CURV_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.env in the curvcpu/curv repo

    CURV_BUILD_DIR=build curvcfg [-vv] show curvpaths \
      --board=ulx3s --device=85f --profile=default
    
  • Inspect merged variables for any merged *.toml

    CURV_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
    

Download files

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

Source Distribution

curvtools-0.0.19.tar.gz (155.8 kB view details)

Uploaded Source

Built Distribution

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

curvtools-0.0.19-py3-none-any.whl (142.9 kB view details)

Uploaded Python 3

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

Hashes for curvtools-0.0.19.tar.gz
Algorithm Hash digest
SHA256 7d13b69bb764d186328aa1f75ef4c47776f88d1bd5dd76dc916c7cfcbccfe078
MD5 b03c051c44bc34e57ad12850369b3c3f
BLAKE2b-256 48cf76aaf4150ef904d237790909c787520e9c4199f7e2c737b35fe53eab7104

See more details on using hashes here.

Provenance

The following attestation bundles were made for curvtools-0.0.19.tar.gz:

Publisher: ci.yaml on curvcpu/curv-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for curvtools-0.0.19-py3-none-any.whl
Algorithm Hash digest
SHA256 774aab130be9843cb26d11aa60c75afaaf8e0ee7077c7159d0005ceeda0eaaed
MD5 95166be98c87bf9a99823820dc1abca9
BLAKE2b-256 6777136bafe7d37475c1dc2af10a5f7ab2144aae983c317b8bef4f5c81d642fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for curvtools-0.0.19-py3-none-any.whl:

Publisher: ci.yaml on curvcpu/curv-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.0.19 This release

2 files

0.0.18

2 files

0.0.17

2 files

0.0.16

2 files

0.0.15

2 files

0.0.14

2 files

0.0.13

2 files

0.0.12

2 files

0.0.11

2 files

0.0.10

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

Supported by

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