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.3.tar.gz (726.3 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.3-py3-none-any.whl (45.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for testitpy-0.3.tar.gz
Algorithm Hash digest
SHA256 2a3c3f2971398af7c290eeaad8d8178be83e75ce6688f116926f19a7ca7aa0be
MD5 8dc966ac501d9629289ecff12f13f568
BLAKE2b-256 3ef5a60b7029abb8132579e5d4e0b76851805293f82026885381eea25d8389f7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: testitpy-0.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6c467628b0bdb11cbafe9c4f9fafe737978b42e91745705a2f2b785c633e5c7b
MD5 6b703be3a0dbc234f33dba8c5f04382e
BLAKE2b-256 0cbdfdb46d7f61e34a10846f9cb6bd2dd633af63d96a51aa20091500fdeb901d

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