1. OpenTitan
  2. Getting Started
  3. Getting Started
  4. Workflows
    1. Design Verification
    2. Formal Verification
    3. Building (and Testing) Software
    4. Building Documentation
    5. Using OpenOCD
  5. Tools Setup
    1. FPGA Setup
    2. Verilator Setup
    3. Installing Vivado
  6. Unofficial Guides
    1. RedHat/Fedora
  7. Hardware
  8. Introduction
  9. Top Earlgrey
    1. Datasheet
    2. Design
    3. Design Verification
      1. Chip Testplan
    4. Analog Sensor Top
      1. Interfaces
    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. 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
    7. Sensor Control
      1. Theory of Operation
      2. Programmer's Guide
      3. Hardware Interfaces
      4. Registers
      5. Device Interface Functions
      6. Checklist
    8. TL-UL Checklist
    9. Pinmux Targets
      1. ASIC Target Pinout and Pinmux Connectivity
      2. CW310 Target Pinout and Pinmux Connectivity
      3. CW340 Target Pinout and Pinmux Connectivity
  10. Top Darjeeling
    1. Datasheet
  11. Cores
    1. Ibex RISC-V Core Wrapper
      1. Theory of Operation
      2. Design Verification
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Checklist
    2. OTBN
      1. Theory of Operation
      2. Introduction to OTBN
      3. Developing OTBN
      4. ISA Guide
      5. Design Verification
        1. Random Instruction Generator
          1. Internals
          2. Configuration
        2. memutil wrapper
        3. OTBN Simulation Software
        4. Tracer
        5. Formal Masking Verification Using Alma
      6. Functional Coverage
      7. Programmer's Guide
      8. Hardware Interfaces
      9. Registers
      10. Checklist
  12. Hardware IP Blocks
    1. Analog to Digital Converter Control
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Checklist
    2. AES
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Device Interface Functions
      7. Checklist
    3. AON Timer
      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. Ascon
      1. Background
      2. Theory of Operation
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Checklist
    5. 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
    6. CSRNG
      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. EDN
      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. Entropy Source
      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. HMAC
      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. I2C
      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. Key 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
    14. Key Manager DPE
      1. Theory of Operation
      2. Programmer's Guide
      3. Interface and Registers
      4. Checklist
    15. KMAC
      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. Life Cycle 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
    17. 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
    18. Pattern Generator
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Device Interface Functions
      7. Checklist
    19. 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
    20. 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
    21. 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
    22. ROM Control
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Device Interface Functions
      7. Checklist
    23. 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
    24. RISC-V Debug Manager
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Checklist
    25. SPI Device
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Device Interface Functions
      7. Checklist
    26. SPI Host
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Device Interface Functions
      7. Checklist
    27. SRAM 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
    28. System Reset Controller
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Hardware Interfaces
      4. Registers
      5. Device Interface Functions
      6. Checklist
    29. Timer
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Device Interface Functions
      7. Checklist
    30. TL-UL Bus
      1. Design Verification
        1. Testplan
        2. Protocol Checker
    31. UART
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Hardware Interfaces
      5. Registers
      6. Device Interface Functions
      7. Checklist
    32. USB 2.0
      1. Theory of Operation
      2. Design Verification
        1. Testplan
      3. Programmer's Guide
      4. Suspending and Resuming
      5. Hardware Interfaces
      6. Registers
      7. Device Interface Functions
      8. Checklist
    33. 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. SRAM Scrambler
      9. Pseudo Random Number Generator
  13. 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
  14. Software
  15. Introduction
  16. Build Software
  17. Device Software
    1. Build & Test Rules
      1. FPGA Bitstreams
      2. OTP Build and Test Infrastructure
    2. 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. EDN Checklist
        8. Entropy Source Checklist
        9. Flash Controller Checklist
        10. GPIO Checklist
        11. HMAC Checklist
        12. I2C Checklist
        13. Key Manager Checklist
        14. KMAC Checklist
        15. Lifecycle Checklist
        16. OTBN Checklist
        17. OTP Controller Checklist
        18. Pattern Generator Checklist
        19. Pin Multiplexer Checklist
        20. PWM Checklist
        21. Power Manager Checklist
        22. ROM Checklist
        23. Reset Manager Checklist
        24. RV Core Ibex Checklist
        25. PLIC Checklist
        26. RV Timer Checklist
        27. Sensor Controller Checklist
        28. SPI Device Checklist
        29. SPI Host Checklist
        30. SRAM Controller Checklist
        31. System Reset Controller Checklist
        32. UART Checklist
        33. USB Checklist
      2. Top-Level Test Libraries
        1. On-Device Test Framework
      3. OpenTitan Standard Library
        1. Freestanding C Headers
    3. 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
      5. Boot Log
    4. Top-Level Tests
      1. Manufacturer Test Hooks
      2. Cryptotest
    5. Silicon Validation
      1. Developer Guide
  18. Host Software
    1. OpenTitanLib
    2. OpenTitanTool
    3. OpenTitanSession
    4. OpenTitan Certificate Generator
    5. Hardware Security Module (HSM) tool
      1. Requirements
      2. Signing Guide
    6. TPM2 Test Server
  19. Tooling
  20. Tools Overview
  21. Design-Related Tooling
  22. dvsim
    1. Design Document
    2. Testplanner
    3. Glossary
  23. fpvgen: Initial FPV Testbench Generation
  24. reggen & regtool: Register Generator
    1. Setup and use of regtool
  25. ralgen: FuseSoC UVM RAL Generator
  26. uvmdvgen: Initial Testbench Auto-generation
  27. tlgen: Crossbar Generation
  28. ipgen: Generate IP Blocks from IP Templates
  29. topgen: Top Generator
  30. vendor: Vendoring In Tool
  31. i2csvg: Generate SVGs of I2C Commands
  32. Contributing
  33. Contributing
    1. Detailed Contribution Guide
    2. Directory Structure
    3. Contributing to Documentation
      1. An Example IP Block's Documentation
    4. Continuous Intergration
    5. Top-Level Design and Targets
    6. GitHub Notes
    7. Bazel Notes
    8. Using the Container
  34. Contributing to Hardware
    1. Comportability
    2. Hardware Design
    3. Design Methodology
    4. Vendoring in Hardware
    5. Linting
    6. Synthesis Flow
  35. Contributing to Verification
    1. Verification Methodology
    2. Security Countermeasure Verification Framework
    3. Assertions
  36. Contributing to Software
    1. Device Interface Functions
    2. Writing and Building Software for OTBN
  37. Style Guides
    1. HJSON
    2. Python
    3. C & C++
    4. Markdown
    5. RISC-V Assembly
    6. OTBN Assembly
    7. Guidance for Volatile
  38. Developing on an FPGA
    1. Get a Board
    2. FPGA Reference Manual
    3. Debugging with an ILA
  39. Project Governance
  40. Introduction
  41. Committers
  42. RFC Process
  43. Generalized Priority Definitions
  44. Generalized Project Milestone Definitions
  45. OpenTitan Technical Committee
  46. Hardware Development Stages
  47. Signoff Checklist
  48. Security
  49. Security
  50. Cryptography Library
    1. API Documentation
    2. Contributing
  51. Implementation Guidelines
    1. Secure Hardware Design Guidelines
    2. Reset vs. Non-Reset Flops
  52. Logical Security Model
  53. 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
  54. Lightweight Threat Model
  55. Use Cases
  56. Use Cases
  57. Platform Integrity Module
  58. Trusted Platform Module
  59. Universal 2nd-Factor Security Key
  60. Rust for C Developers
  61. Rust for Embedded C Programmers
  62. Appendix
  63. Glossary