1. About OpenTitan
    1. Introduction
    2. Why Open Source?
    3. OpenTitan News
    4. Product Architecture
    5. History
    6. OpenTitan updates - RFCs
    7. lowRISC CIC
    8. Glossary
  2. Governance and Policies
    1. Introduction
    2. Governing Board
    3. Technical Committee
    4. Working Groups
    5. User accounts
    6. Trademarks
    7. Code of Conduct
    8. Communication Policy
  3. Use Cases
    1. Introduction
    2. Platform Integrity Module
    3. Trusted Platform Module
    4. Universal 2nd-Factor Security Key
  4. Hardware
    1. Introduction
    2. Top Earlgrey
      1. Datasheet
      2. Memory Map
      3. Design
      4. Pinout / Pinmux Tables
        1. ASIC
        2. CW310
        3. 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. Pulse Width Modulator
        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. 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
      18. Sensor Control
        1. Theory of Operation
        2. Programmer's Guide
        3. Hardware Interfaces
        4. Registers
        5. Device Interface Functions
        6. Checklist
      19. TL-UL Checklist
    3. Top Darjeeling
      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
    4. 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. Theory of Operation
        2. Introduction to OTBN
        3. Developing OTBN
        4. ISA Guide
        5. Design Verification
        6. Random Instruction Generator
          1. Internals
          2. Configuration
        7. memutil wrapper
        8. OTBN Simulation Software
        9. Tracer
        10. Formal Masking Verification Using Alma
        11. Functional Coverage
        12. Programmer's Guide
        13. Hardware Interfaces
        14. Registers
        15. Checklist
    5. 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
    6. 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
    7. 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
  5. Security
    1. Introduction
    2. Cryptography Library
      1. API Documentation
      2. Security Hardening
      3. Contributing
    3. Implementation Guidelines
      1. Secure Hardware Design Guidelines
      2. Reset vs. Non-Reset Flops
    4. Logical Security Model
    5. 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
    6. Lightweight Threat Model
  6. Software
    1. Introduction
    2. Build Software
      1. External dependencies
      2. RISC-V toolchain
      3. Build & Test Rules
      4. Top selection
      5. Creating a new top
      6. FPGA Bitstreams
    3. 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
    4. Host Software
      1. OpenTitanLib
        1. Bitbanging
      2. OpenTitanTool
      3. OpenTitanSession
      4. OpenTitan Certificate Generator
      5. Hardware Security Module (HSM) tool
      6. Requirements
      7. Signing Guide
      8. TPM2 Test Server
  7. Working as a contributor
    1. 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
    2. 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. Writing and Building Software for OTBN
      24. Committers
      25. RFC Process
    3. 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
    4. Tooling
      1. Design-Related Tooling
      2. dvsim
      3. Design Document
      4. Testplanner
      5. Glossary
      6. fpvgen: Initial FPV Testbench Generation
      7. reggen & regtool: Register Generator
      8. Setup and use of regtool
      9. ralgen: FuseSoC UVM RAL Generator
      10. uvmdvgen: Initial Testbench Auto-generation
      11. tlgen: Crossbar Generation
      12. ipgen: Generate IP Blocks from IP Templates
      13. topgen: Top Generator
      14. vendor: Vendoring In Tool
      15. i2csvg: Generate SVGs of I2C Commands
      16. dtgen: Generate Device Tables
  8. Update this documentation
  9. Hardware Reference
  10. Top Earlgrey
  11. Top Darjeeling
  12. Hardware IP Blocks
  13. Hardware Primitives