Device Libraries
Overview
The OpenTitan repository contains device libraries which are used within our Reference Firmware Images, and can (and should) be used by other OpenTitan device software.
These are organised into the sw/device/lib
directory.
sw/device/lib/base
contains the Base Libraries, including freestanding C library headers. The Base Libraries are simple libraries that can be used by any other OpenTitan device software libraries.sw/device/lib/dif
contains the Device Interface Functions.sw/device/lib/arch
contains the libraries to be used on specific device configurations (for instance FPGA, Simulation, etc.).sw/device/lib/runtime
contains general libraries for more advanced on-device functionality (including logging, printing, and interacting with the RISC-V core).sw/device/lib/testing
contains test library code. Test library code is any (reusable) code that could aid in the writing of smoke, IP integration, or system-level tests, that is a layer of above the DIFs. In other words, this code may make use of the DIFs to actuate the hardware, and chip-level test code may make use of this code to actuate the DIFs.
Documentation Index
-
The OpenTitan DIF Library
- ADC Controller DIF Checklist
- AES DIF Checklist
- Alert Handler DIF Checklist
- Always-On Timer DIF Checklist
- Clock Manager DIF Checklist
- CSRNG DIF Checklist
- Entropy Distribution Network DIF Checklist
- Entropy Source DIF Checklist
- Flash Controller DIF Checklist
- GPIO DIF Checklist
- HMAC DIF Checklist
- I2C DIF Checklist
- Key Manager DIF Checklist
- KMAC DIF Checklist
- Lifecycle Controller DIF Checklist
- OTBN DIF Checklist
- OTP Controller DIF Checklist
- Pattern Generator DIF Checklist
- Pin Multiplexer DIF Checklist
- PWM DIF Checklist
- Power Manager DIF Checklist
- ROM Controller DIF Checklist
- Reset Manager DIF Checklist
- Rv core ibex DIF Checklist
- PLIC DIF Checklist
- RV Timer DIF Checklist
- Sensor Controller DIF Checklist
- SPI Device DIF Checklist
- SPI Host DIF Checklist
- SRAM Controller DIF Checklist
- System Reset Controller DIF Checklist
- UART DIF Checklist
- USB Device DIF Checklist
- Chip-Level Test Libraries