Skip to main content

RAVEL

RAVEL (Rate-Aware Vectorized Engine for Low-latency) generates a specialized, hls4ml-compatible FPGA inference project for the fixed CNN-for-Arianna model family. Aria 1.0 implements the pair-parallel, two-row wide-stream design; it is not a design-space explorer.

Install

Use a clean Python 3.11 environment on Linux for the fully qualified generation and C++ verification workflow. From PyPI:

python -m pip install ravel-hls
ravel-hls doctor --json

For an editable source checkout, replace the install command with:

python -m pip install -c constraints/aria-reference.txt -e .

The dependency profile is intentionally exact. Do not co-install the retired HGQ distribution with hgq2; both own the hgq Python namespace and RAVEL will reject the conflict before generation.

Python API

import hls4ml
import keras
from hgq.layers import QConv2D, QDense
from ravel_hls import RavelConfig, convert_from_keras_model

model = keras.models.load_model(
    "model.keras", custom_objects={"QConv2D": QConv2D, "QDense": QDense}
)
hls_config = hls4ml.utils.config_from_keras_model(
    model, granularity="name", backend="Vitis"
)
hls_config["Model"].update({"Strategy": "Latency", "ReuseFactor": 1})

project = convert_from_keras_model(
    model,
    output_dir="cnn_core",
    project_name="cnn_core",
    hls_config=hls_config,
    ravel_config=RavelConfig(
        {"Verification": {"Mode": "required", "Samples": 32, "Seed": 19}}
    ),
    part="xcku5p-ffvb676-2-e",
    clock_period=5.0,
)
print(project.status)

The public lifecycle also provides optimize_project, open_project, refresh_model, RavelProject.link_hls4ml, and import_vitis_reports. Generated projects are staged and atomically published only after enabled checks pass. ravel-hls inspect PROJECT --json recomputes managed-source integrity without modifying the project.

Reference and evidence boundary

references/cnn_for_arianna contains the canonical model and executable reference workflow. Its legacy/ directory preserves selected retired-generator sources and a historical Vitis report for comparison only; production code never imports them.

Aria generation and bit-exact baseline/optimized C++ equivalence are qualified on the pinned Linux stack. Vitis synthesis, initiation interval, timing, resources, and measured RTL ports are separate evidence. A report is recorded only when import_vitis_reports links Vitis 2023.2 results to the exact current manifest and its expected stream widths.

See architecture, compatibility, and project format for the precise contracts.

Download files

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

Source Distribution

ravel_hls-1.0.0.tar.gz (76.5 kB view details)

Uploaded Source

Built Distributions

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

ravel_hls-1.0.0-py3-none-any.whl (35.4 kB view details)

Uploaded Python 3

ravel_hls-1.0-py3-none-any.whl (35.3 kB view details)

Uploaded Python 3

File details

Details for the file ravel_hls-1.0.0.tar.gz.

File metadata

  • Download URL: ravel_hls-1.0.0.tar.gz
  • Upload date:
  • Size: 76.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ravel_hls-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c6aadd9364ca321d23aec2bfed89dfa3f8e5f6c0cf4f4d9c907054b98313463d
MD5 a4f6c77e302f3e5a531939fe3bbde1ba
BLAKE2b-256 fba4687b4069b4bb22dc64305bd417055b16269ed02d9954ce49346f7e3e6cc5

See more details on using hashes here.

Provenance

The following attestation bundles were made for ravel_hls-1.0.0.tar.gz:

Publisher: publish.yml on albertc9/RAVEL

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

File details

Details for the file ravel_hls-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: ravel_hls-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 35.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ravel_hls-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5b7941c345b319d627bd3ffa1e8e12c82a9f1c49ee4434c3be3408de4676b98e
MD5 db4a2750f1f8850c1ba3bbf72bff485a
BLAKE2b-256 05544e38da546fe8f6d386287b57fd311005f198a76874c0c3190761483e70c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ravel_hls-1.0.0-py3-none-any.whl:

Publisher: publish.yml on albertc9/RAVEL

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

File details

Details for the file ravel_hls-1.0-py3-none-any.whl.

File metadata

  • Download URL: ravel_hls-1.0-py3-none-any.whl
  • Upload date:
  • Size: 35.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ravel_hls-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4884be5fcc0d0df6cea2653fab6ff017cc32c147e23a7a26561cd013fc9caace
MD5 dfd1dbc604016aa60135e4724f3fbe40
BLAKE2b-256 bba6db009321e89b756a0b921ca5b4503bd89d10f8eb2f6cd6c062194f57c165

See more details on using hashes here.

Provenance

The following attestation bundles were made for ravel_hls-1.0-py3-none-any.whl:

Publisher: publish.yml on albertc9/RAVEL

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

Supported by

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