---
title: "Documentation"
---

{{< boxes >}}

## Introduction to OpenTitan

[OpenTitan](https://opentitan.org/) 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]({{< doc-url >}}doc/project_governance{{< /doc-url >}}) to produce high quality, open IP for instantiation as a full-featured product. This repository exists to enable collaboration across partners participating in the OpenTitan project.

{{< earlgrey-diagram >}}

## Getting Started

To get started with OpenTitan, see the [Getting Started](/guides/getting_started) page. For additional resources when working with OpenTitan, see the [contribution guide]({{< doc-url >}}doc/contributing{{< /doc-url >}}) and the [tools guide]({{< doc-url >}}util{{< /doc-url >}}). Lastly, the [Hardware book]({{< doc-url >}}hw{{< /doc-url >}}) contains technical documentation on the SoC, the Ibex processor core, and the individual IP blocks. For questions about how the project is organized, see the [project landing spot]({{< doc-url >}}doc/project_governance{{< /doc-url >}}) for more information.

## Understanding OpenTitan

- [Use Cases]({{< doc-url >}}doc/use_cases{{< /doc-url >}})
- [Security]({{< doc-url >}}doc/security/{{< /doc-url >}})

## Datasheets

- [OpenTitan Earl Grey Chip Datasheet]({{< doc-url >}}hw/top_earlgrey/{{< /doc-url >}})

## Documentation

- [Hardware]({{< doc-url >}}hw{{< /doc-url >}})
- [Software]({{< doc-url >}}sw{{< /doc-url >}})

## Development

- [Getting Started](/guides/getting_started)
- [Contributing]({{< doc-url >}}doc/contributing{{< /doc-url >}})
- [Tools]({{< doc-url >}}util{{< /doc-url >}})
