OpenTitan is an open source silicon Root of Trust (RoT) project. OpenTitan will make the silicon RoT design and implementation more transparent, trustworthy, and secure for enterprises, platform providers, and chip manufacturers. OpenTitan is administered by lowRISC CIC as a collaborative project to produce high quality, open IP for instantiation as a full-featured product. See the OpenTitan site and OpenTitan docs for more information about the project.
This repository contains DVSim which is a build and run system written in Python that runs a variety of EDA tool flows. There are multiple steps involved in running EDA tool flows. DVSim encapsulates them all to provide a single, standardized command-line interface to launch them. While DVSim was written to support OpenTitan, it can be used for any ASIC project.
All EDA tool flows on OpenTitan are launched using the DVSim tool. The following flows are currently supported:
- Simulations
- Coverage Unreachability Analysis (UNR)
- Formal (formal property verification (FPV), and connectivity)
- Lint (semantic and stylistic)
- Synthesis
- CDC
- RDC
If you have Nix and direnv installed, then it's as simple as direnv allow .
.
New to Nix? Perhaps checkout this installer which will enable flakes by default.
The recommended way of installing DVSim is inside a virtual environment to isolate the dependencies from your system python install.
We use the uv
tool for python dependency management and creating virtual environments.
First make sure you have uv
installed, see the installation documentation for details and alternative installation methods.
There is a python package that can be installed with pip install uv
, however the standalone installer is preferred.
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv
uv sync
From there you can run the dvsim
tool.
irm https://astral.sh/uv/install.ps1 | iex
uv venv
uv sync
From there you can run the dvsim
tool.
For further information on how to use DVsim with OpenTitan see Getting Started
DVSim development started in the main OpenTitan repository under utils/dvsim
.
This repository contains the code that origionaly lived there, as well as the full git history copied over as generated by git subtree split -p utils/dvsim
.
The project contains comprehensive documentation of all IPs and tools. You can access it online at opentitan.org/book/.
Have a look at CONTRIBUTING and our documentation on project organization and processes for guidelines on how to contribute code to this repository.
Unless otherwise noted, everything in this repository is covered by the Apache License, Version 2.0 (see LICENSE for full text).
Please see link for a list of open bugs and feature requests.