Skip to main content

A tool for verifying RTL and FPGA models using custom SW applications

Project description

Just TestIt!

TestIt is a python package designed to automate full-system integration testing using a Software-Based Self-Test (SBST) approach. While formal verification methods are highly effective for targeting individual components, their complexity grows exponentially with the size of the System-Under-Test (SUT), making them impractical for testing large scale systems, like MCUs. Furthermore, they do not test interactions between the hardware platform and the software stack, which is essential for validating real-world functionality. Last but not least, they are limited to simulated environments, with all their limitations.

TestIt tackles these limitations and to bridge the gap between formal verification and real-world applications.

In short, what can TestIt do?

  • Automate generation of random datasets and reference values, according to your specifications.
  • Automate building of simulation models and synthesis for FPGA.
  • Automate compilation of SW application, which take advantage of the datasets it generates.
  • Automate execution of tests, both in simulation environments and using FPGAs, which greatly speed up the test time (up to x11 times reduction).
  • Characterize the real-world performance of your system.

How can TestIt do all of this?

With just three requirements:

  • A simple configuration file, config.test, in which you have to describe both your workflow and the tests you want to run.
  • A python module, testit_golden.py, in which you can develop the golden functions used to generate the reference values for your test.
  • A complete Makefile-based workflow, with some custom targets, as described below. This is the gateway that TestIt uses to access your workflow to build, compile and load.

How can you use TestIt?

Again, very simple! Just go to TestIt's documentation at https://vlsi-lab.github.io/TestIt/. If you have any question or suggestions, just contact Tommaso Terzano at tommaso.terzano@gmail.com. He will be glad to connect with you and help you with any doubt you might have.

Installation

Simply run this command in your bash terminal:

pip install testitpy

That's it!

Usage

$ testit -h

usage: testit [-h] {run,setup,report} ...

TestIt CLI tool

positional arguments:
  {run,setup,report}
    run               Run the verification process
    setup             Set up the verification environment
    report            Generate a report based on the test results

options:
  -h, --help          show this help message and exit

Publish Python 🐍 distribution 📦 to PyPI and TestPyPI

Downloads PyPi package gitHub


Project details


Download files

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

Source Distribution

testitpy-0.4.tar.gz (726.4 kB view details)

Uploaded Source

Built Distribution

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

testitpy-0.4-py3-none-any.whl (45.0 kB view details)

Uploaded Python 3

File details

Details for the file testitpy-0.4.tar.gz.

File metadata

  • Download URL: testitpy-0.4.tar.gz
  • Upload date:
  • Size: 726.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for testitpy-0.4.tar.gz
Algorithm Hash digest
SHA256 4c9aa5d8c71438a5e4592a4ad12b10e0ffeb854200c9b2d9665f2d1492706afc
MD5 b70fa6c1b7c33966a0bcbd36251a797a
BLAKE2b-256 14c049db9a060eafecac00899bcb50c627d58f171a00865ca9e9384989d7925b

See more details on using hashes here.

File details

Details for the file testitpy-0.4-py3-none-any.whl.

File metadata

  • Download URL: testitpy-0.4-py3-none-any.whl
  • Upload date:
  • Size: 45.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for testitpy-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 332024e728a95a82f02e677fc74ce97778a18ffbfcd6adb66daa12d5fa71d772
MD5 3488ada5ab983283ca0003c0ed5f1df6
BLAKE2b-256 bfedc554c68ff8da6eeed003fbb466ac743739d7b6fddd686ae0b72c53f6e7d1

See more details on using hashes here.

Supported by

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