FPGA Verification
Reusable Python tools for FPGA simulation and hardware-in-the-loop verification. The library combines protocol codecs, cocotb and pyuvm components, Altera simulation runners, DMA modeling, performance measurements, and Quartus System Console access.
Documentation · PyPI · Video endianness example · Changelog
Install
Python 3.10 - 3.13 is supported.
python -m pip install fpga-verification
For local library development, install a checkout from the repository root in editable mode:
python -m pip install -e ".[docs]"
What is included
- Avalon-ST and Avalon-MM cocotb helpers;
- Altera Avalon-ST Video packets, codecs, agents, and scoreboards;
- runners for plain RTL, Altera components, and Platform Designer systems;
- an Altera streaming DMA model and sparse byte memory;
- packet latency and throughput analysis;
- persistent Quartus System Console access for hardware tests;
- video frame and raw numeric data helpers.
Altera-specific functionality has one public root:
from fpga_verification.altera.video import VideoFormat, VIPFrameCodec
from fpga_verification.altera.video.uvm import VIPAgent
from fpga_verification.altera.dma import IntelDMABFM
from fpga_verification.altera.quartus import run_rtl_test
The vendor-independent RTL runner remains available from
fpga_verification.sim.runners.
Start with the documentation or run the video-packet endianness example. It preserves CONTROL and USER packets while reversing byte order in VIDEO payload beats. The repository includes examples for several verification patterns. The site separates a complete tutorial, verification concepts, focused how-to guides, case studies, and generated API reference.
Build the documentation locally
./docs/mkdoc.sh setup
./docs/mkdoc.sh serve
./docs/mkdoc.sh build
GitHub Pages is rebuilt automatically when documentation changes reach
main.
License
Version 1.1.1 is licensed under the FPGA Verification Commercial Reciprocity License 1.0. Releases up to and including version 1.1.0 remain under the license that accompanied each release.
Project Use may begin immediately but requires a private Notice of Use within
30 days. See the notice instructions and template. Personal
Use does not require notice. The complete terms in LICENSE control.
Metadata
Release files for fpga-verification 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 47.5 MB
Release files / fpga_verification-1.1.1-cp313-cp313-win_amd64.whl
| Download URL | fpga_verification-1.1.1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
2a7393e02bceb7c2e542dc7dfec54adea12bd74acb0bd7b9e04efe7763d0f800
|
|
BLAKE2b-256 checksum How to use checksums |
d8fa5a902e03509163d50704662a5ec5a6f4d325cfee37096c0db71d8a496083
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency logRelease files / fpga_verification-1.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fpga_verification-1.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 10.5 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
219cca57b4050a28582d8dd6150901e8b08dd210aa976a54007d7e8f958a4f2a
|
|
BLAKE2b-256 checksum How to use checksums |
482f69a78c707335fd2bbb9536ac6982992581f6c0f9c4c7e66d1e03e0a92baf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency logRelease files / fpga_verification-1.1.1-cp312-cp312-win_amd64.whl
| Download URL | fpga_verification-1.1.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
cfde55c10ce1a52bbb1d29bb5cdd841cce6d46ee1a3fd3a7e68d26fca74a1294
|
|
BLAKE2b-256 checksum How to use checksums |
73e4f64ba78b2fc747728fd608ad8c1e6b585ec7a75e9cfa103ebd32ef8e1b26
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency logRelease files / fpga_verification-1.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fpga_verification-1.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 10.6 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
8ed98294b1ee7a43d0e13daaca00bf145a94598ee03d235163a0da04788d430d
|
|
BLAKE2b-256 checksum How to use checksums |
171cbef208092e1ca79c0a2523264109607d918cf3be9a5c74363eafcbde00b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency logRelease files / fpga_verification-1.1.1-cp311-cp311-win_amd64.whl
| Download URL | fpga_verification-1.1.1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
db3705585a41261f8f6b6101befe0da175f7a66d8cceeb7ec1070afdd58dcf68
|
|
BLAKE2b-256 checksum How to use checksums |
7dd9551429bfa5c6b31f3ca22188dd15c9b59c492fb41f417e733cad62d71a6c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency logRelease files / fpga_verification-1.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fpga_verification-1.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 10.5 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
04b8dff1464bfb2e9d7cb6ebd1e221b8364ae0c86d653e45db76493a553b7118
|
|
BLAKE2b-256 checksum How to use checksums |
7644f6ea5972705731413f3a2765990a19cc1eae04781e83e83ecfb3d9ffa12d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency logRelease files / fpga_verification-1.1.1-cp310-cp310-win_amd64.whl
| Download URL | fpga_verification-1.1.1-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7ee4517434c96d79bf3aaf30f479ea07bc4c70e7d05746112eb47127d7e2f94b
|
|
BLAKE2b-256 checksum How to use checksums |
d280d6cfc36c74544b611a6d0edb519878b74316aa41cc1d6ea65c01dc919be4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency logRelease files / fpga_verification-1.1.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fpga_verification-1.1.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 10.1 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
ab7b587ac79d6b7e2c9c074aee298fef9d9b067ce38aacdface084a39a8fbae2
|
|
BLAKE2b-256 checksum How to use checksums |
7f22043b07bdb430d23a391a16ebed5dca584ff8fc0ef4d55ba1ba022191158b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency log