1. OpenTitan Introduction
  2. Introduction
    1. Product Architecture
    2. Use Cases
      1. Platform Integrity Module
      2. Trusted Platform Module
      3. Universal 2nd-Factor Security Key
    3. OpenTitan updates - RFCs
  3. Glossary
  4. Update this documentation
  5. OpenTitan Contributions
  6. Getting Started
    1. Workflows
    2. Design Verification
    3. Formal Verification
    4. Building (and Testing) Software
    5. Building Documentation
    6. Using OpenOCD
    7. Tools Setup
    8. FPGA Setup
    9. Verilator Setup
    10. Installing Vivado
    11. Unofficial Guides
    12. RedHat/Fedora
  7. Contributing
    1. Detailed Contribution Guide
    2. Directory Structure
    3. Contributing to Documentation
      1. An Example IP Block's Documentation
    4. Continuous Integration
    5. Top-Level Design and Targets
    6. GitHub Notes
    7. Bazel Notes
    8. Using the Container
    9. Contributing to Hardware
    10. Comportability
    11. RACL
    12. Hardware Design
    13. Design Methodology
    14. Vendoring in Hardware
    15. Linting
    16. Synthesis Flow
    17. Contributing to Verification
    18. Verification Methodology
    19. Security Countermeasure Verification Framework
    20. Assertions
    21. Contributing to Software
    22. Device Interface Functions
    23. Committers
    24. RFC Process
  8. Contributor Guides
    1. HJSON
    2. Python
    3. C & C++
    4. Markdown
    5. RISC-V Assembly
    6. OTBN Assembly
    7. Guidance for Volatile
    8. Developing on an FPGA
    9. Get a Board
    10. FPGA Reference Manual
    11. Debugging with an ILA
    12. Generalized Priority Definitions
    13. Generalized Project Milestone Definitions
    14. Hardware Development Stages
    15. Signoff Checklist
    16. Rust for Embedded C Programmers
  9. OpenTitan Hardware
  10. Introduction
  11. Earl Grey Top-Level Design
    1. Datasheet
    2. Memory Map
    3. Design
    4. Pinout / Pinmux Tables
      1. ASIC
      2. CW340
    5. Design Verification
      1. Chip Testplan
    6. Alert Handler
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Interface and Registers
      5. Device Interface Functions
      6. Checklist
    7. Analog Sensor Top
      1. Interfaces
    8. Clock Manager
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Device Interface Functions
      7. Checklist
    9. Flash Controller
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Device Interface Functions
      7. Checklist
    10. GPIO
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Device Interface Functions
      7. Checklist
    11. Ibex RISC-V Core Wrapper
      1. Theory of Operation
      2. Boot, ROM execution and Patching
      3. Design Verification
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Checklist
    12. Interrupt Controller
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Interface and Registers
      5. Device Interface Functions
      6. Checklist
    13. OTP Controller
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Device Interface Functions
      7. Checklist
    14. Pinmux
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Device Interface Functions
      7. Checklist
    15. Power Management
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Device Interface Functions
      7. Checklist
    16. Reset Manager
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Device Interface Functions
      7. Checklist
    17. Sensor Control
      1. Theory of Operation
      2. Programmer's Guide
      3. Hardware Interfaces
      4. Registers
      5. Device Interface Functions
      6. Checklist
    18. TL-UL Checklist
  12. Darjeeling Top-Level Design
    1. Datasheet
    2. Memory Map
    3. Pinout / Pinmux Tables
      1. ASIC
    4. AC Range Check
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Hardware Interfaces
      4. Registers
      5. Checklist
    5. Alert Handler
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Interface and Registers
      5. Device Interface Functions
      6. Checklist
    6. Clock Manager
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Device Interface Functions
      7. Checklist
    7. GPIO
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Device Interface Functions
      7. Checklist
    8. Ibex RISC-V Core Wrapper
      1. Theory of Operation
      2. Boot, ROM execution and Patching
      3. Design Verification
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Checklist
    9. Interrupt Controller
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Interface and Registers
      5. Device Interface Functions
    10. OTP Controller
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Device Interface Functions
      7. Checklist
    11. Pinmux
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Device Interface Functions
      7. Checklist
    12. Power Management
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Device Interface Functions
      7. Checklist
    13. RACL Control
      1. RACL Configuration
      2. Hardware Interfaces
      3. Registers
    14. Reset Manager
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Device Interface Functions
      7. Checklist
  13. Cores
    1. Ibex RISC-V Core Wrapper
      1. Theory of Operation
      2. Boot, ROM execution and Patching
      3. Design Verification
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Checklist
    2. OTBN
      1. Introduction to OTBN
      2. Theory of Operation
      3. ISA Guide
      4. Design Verification
      5. Random Instruction Generator
        1. Internals
        2. Configuration
      6. memutil wrapper
      7. OTBN Simulation Software
      8. Tracer
      9. Formal Masking Verification Using Alma
      10. Functional Coverage
      11. Developer's Guide
      12. Hardware Interfaces
      13. Registers
      14. Checklist
  14. Hardware IP Blocks
    1. Analog to Digital Converter Control
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Checklist
    2. AES
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    3. AON Timer
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    4. Ascon
      1. Background
      2. Theory of Operation
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Checklist
    5. CSRNG
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    6. DMA
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    7. EDN
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    8. Entropy Source
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    9. Flash Controller
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    10. HMAC
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    11. I2C
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    12. Key Manager
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    13. Key Manager DPE
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    14. KMAC
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    15. Life Cycle Controller
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    16. Mailbox
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    17. Pattern Generator
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    18. ROM Control
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    19. RISC-V Debug Manager
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Checklist
    20. SoC Debug Access Control
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Checklist
    21. SPI Device
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    22. SPI Host
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    23. SRAM Controller
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    24. System Reset Controller
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Hardware Interfaces
      5. Registers
      6. Device Interface Functions
      7. Checklist
    25. Timer
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    26. TL-UL Bus
      1. Design Verification
      2. Testplan
      3. Protocol Checker
    27. UART
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    28. USB 2.0
      1. Theory of Operation
      2. Design Verification
      3. Testplan
      4. Programmer's Guide
      5. Suspending and Resuming
      6. Hardware Interfaces
      7. Registers
      8. Device Interface Functions
      9. Checklist
  15. lowRISC Hardware Primitives
    1. Flash Wrapper
    2. Keccak Permutation
    3. Linear Feedback Shift Register
    4. Packer
    5. Packer FIFO
    6. Present Scrambler
    7. Prince Scrambler
    8. Pseudo Random Number Generator
    9. SRAM Scrambler
  16. Common SystemVerilog and UVM Components
    1. ALERT_ESC Agent
    2. Bus Params Package
    3. Comportable IP Testbench Architecture
    4. Common Interfaces
    5. CSR Utils
    6. CSRNG Agent
    7. DV Library Classes
    8. DV Utils
    9. FLASH_PHY_PRIM Agent
    10. I2C Agent
    11. JTAG Agent
    12. JTAG DMI Agent
    13. JTAG RISCV Agent
    14. KEY_SIDELOAD Agent
    15. KMAC_APP Agent
    16. Memory Backdoor Scoreboard
    17. Memory Backdoor Utility
    18. Memory Model
    19. PATTGEN Agent
    20. PUSH_PULL Agent
    21. PWM Monitor
    22. RNG Agent
    23. Scoreboard
    24. Simulation SRAM
    25. SPI Agent
    26. String Utils
    27. Test Vectors
    28. Tile Link Agent
    29. UART Agent
    30. USB20 Agent
  17. OpenTitan Security
  18. Introduction
  19. Cryptography Library
    1. API Documentation
    2. Security Hardening
    3. Contributing
  20. Implementation Guidelines
    1. Secure Hardware Design Guidelines
    2. Reset vs. Non-Reset Flops
  21. Logical Security Model
  22. Security Model Specification
    1. Device Attestation
    2. Device Life Cycle
    3. Device Provisioning
    4. Firmware Update
    5. Identities and Root Keys
    6. Ownership Transfer
    7. Secure Boot
  23. Lightweight Threat Model
  24. Penetration test Framework
  25. OpenTitan Software
  26. Introduction
  27. Build Software
    1. External dependencies
    2. RISC-V toolchain
    3. Build & Test Rules
    4. Top selection
    5. Creating a new top
    6. FPGA Bitstreams
  28. Device Software
    1. Device Libraries
      1. DIF Library
        1. ADC Checklist
        2. AES Checklist
        3. Alert Handler Checklist
        4. Always-On Timer Checklist
        5. Clock Manager Checklist
        6. CSRNG Checklist
        7. DMA Checklist
        8. EDN Checklist
        9. Entropy Source Checklist
        10. Flash Controller Checklist
        11. GPIO Checklist
        12. HMAC Checklist
        13. I2C Checklist
        14. Key Manager Checklist
        15. Key Manager DPE Checklist
        16. KMAC Checklist
        17. Lifecycle Checklist
        18. Mailbox Checklist
        19. OTBN Checklist
        20. OTP Controller Checklist
        21. Pattern Generator Checklist
        22. Pin Multiplexer Checklist
        23. PWM Checklist
        24. Power Manager Checklist
        25. ROM Checklist
        26. Reset Manager Checklist
        27. RV Core Ibex Checklist
        28. PLIC Checklist
        29. RV Timer Checklist
        30. Sensor Controller Checklist
        31. SPI Device Checklist
        32. SPI Host Checklist
        33. SRAM Controller Checklist
        34. System Reset Controller Checklist
        35. UART Checklist
        36. USB Checklist
      2. OpenTitan Standard Library
        1. Freestanding C Headers
      3. Top-Level Test Libraries
    2. Silicon Creator Software
      1. Manufacturing Firmware
        1. Test Plan
      2. ROM
        1. ROM Specification
        2. Bootstrap
        3. Memory Protection
        4. E2E tests
        5. Root Keys
        6. Signature Verification
        7. Test Plan
        8. Signoff Test Plan
        9. Shutdown Specification
      3. ROM_EXT
        1. ROM_EXT for Silicon Validation
        2. ROM_EXT Ownership Transfer
        3. ROM_EXT Rescue Protocol
        4. Manifest Format
      4. Boot Log
    3. Top-Level Tests
      1. On-Device Test Framework
      2. Manufacturer Test Hooks
      3. Cryptotest
      4. Silicon Validation
        1. Developer Guide
  29. Host Software
    1. OpenTitanLib
      1. Bitbanging
    2. OpenTitanTool
    3. OpenTitanSession
    4. OpenTitan Certificate Generator
    5. Signing Guide
    6. TPM2 Test Server
  30. Tooling
    1. Design-Related Tooling
    2. fpvgen: Initial FPV Testbench Generation
    3. reggen & regtool: Register Generator
    4. Setup and use of regtool
    5. ralgen: FuseSoC UVM RAL Generator
    6. uvmdvgen: Initial Testbench Auto-generation
    7. tlgen: Crossbar Generation
    8. ipgen: Generate IP Blocks from IP Templates
    9. topgen: Top Generator
    10. vendor: Vendoring In Tool
    11. i2csvg: Generate SVGs of I2C Commands
    12. dtgen: Generate Device Tables