Lumina VIP · USB
Preview

xHCI Verification IP

The eXtensible Host Controller Interface from the software side: rings, transfer and command descriptors, events and doorbells.

Verification IP
Overview

xHCI verification IP

xHCI is the standard register and memory interface between operating-system drivers and USB host controllers for every USB speed. Verifying a host controller means driving it the way a driver does.

Lumina VIP for xHCI covers xHCI 1.2, as published by Intel. It comes as verification IP, built for Lumina, so the same components run in simulation and report their results in one place.

Features

What the xHCI VIP covers.

Software interface

  • Command, transfer and event rings with TRBs
  • Device, slot and endpoint contexts
  • Doorbells, interrupters and event handling
  • Port management and USB 2 and USB 3 enumeration

Scenarios and options

  • Streams, isochronous scheduling and bandwidth checks
  • Error events, stalls and endpoint recovery

What it checks

  • Enumeration, descriptors and every transfer type
  • Link and power state machines
  • Timing of packets, handshakes and turnarounds
  • Error injection and recovery

Verification IP capabilities

  • Active and passive agents for every protocol role, set per instance
  • Bus widths, timing and optional features set by parameters, and changeable while a test runs
  • A sequence library from basic directed traffic to constrained-random stress
  • Error injection, static or on the fly, with checks that the expected error was seen
  • Protocol checks that run in real time, each tied to a rule of the specification
  • Scoreboards that check data end to end
  • Throughput, latency and utilisation statistics for each interface
  • Callbacks at each stage for your own checks and stimulus
  • UVM register model adapters for protocols that carry register access
  • Transaction logs and messages linked to the waveform for debug
Built for Lumina

Why Lumina VIP.

  • Fast xHCI testbench bring-up: connect the agents, pick a test and run
  • Every failure names the rule it broke and the transaction that broke it
  • Protocol coverage merges with your design coverage in one database
  • Readable SystemVerilog and UVM source your team can extend
  • Runs natively in Lumina Sim, with no wrappers and no separate compile
  • Results structured for engineers and AI agents alike
Components

Verification components.

Each component works on its own or together with the others in one environment, in active or passive mode.

  • 01Driver model on the system bus
  • 02USB device models on the ports
Products

xHCI products.

xHCI verification IP

UVM agents that drive and check a protocol in simulation, in every role the protocol defines.

Includes

  • Active and passive UVM agents for each protocol role
  • Configurable sequences, from directed to constrained-random
  • Protocol checks that flag violations with a spec reference
  • Functional coverage of the protocol's features
  • Scoreboards and transaction logs readable by people and AI agents
Test suite

Test suite and coverage.

  • Directed tests for each feature of the specification
  • Constrained-random tests across configurations and traffic mixes
  • Error-injection tests that check how the design recovers
  • A functional coverage model mapped to the specification
  • Regression lists ready to run in Lumina

Test focus for this protocol family

  • Enumeration for every device class in scope
  • Each transfer type at each speed
  • Link power management entry and exit
  • Packet, CRC and timeout errors
Deliverables

What you receive.

  • Readable source of every component
  • The test suite and its coverage model
  • An example environment connected to a sample design
  • User guide, integration guide and release notes
  • Scripts to run the examples in Lumina
Applications

Where it is used.

  • PCs, docks and hubs
  • Phones and tablets
  • Chargers and Type-C controllers
FAQ

Frequently asked questions.

What is Lumina VIP for xHCI?

Lumina VIP for xHCI is a set of verification products for designs that use xHCI: verification IP. The eXtensible Host Controller Interface from the software side: rings, transfer and command descriptors, events and doorbells.

Which xHCI versions does it support?

xHCI 1.2, as published by Intel. If you need another version or option, tell us which one.

Which verification components are included?

Driver model on the system bus and USB device models on the ports. Each one can be used on its own or together with the others in one environment.

What language and methodology does it use?

The verification IP and models are written in SystemVerilog with UVM, as readable source your team can extend.

How does it work with Lumina?

It runs in Lumina Sim beside your RTL. Protocol coverage merges into the same database as your own coverage, and every violation names the rule it broke and the transaction that broke it.

Which tests come with it?

Directed tests for each feature of the specification. Constrained-random tests across configurations and traffic mixes. Error-injection tests that check how the design recovers. A functional coverage model mapped to the specification. Regression lists ready to run in Lumina. For this protocol family the tests focus on: enumeration for every device class in scope, each transfer type at each speed, link power management entry and exit and packet, CRC and timeout errors.

What is delivered?

Readable source of every component. The test suite and its coverage model. An example environment connected to a sample design. User guide, integration guide and release notes. Scripts to run the examples in Lumina.

How can I get Lumina VIP for xHCI?

Lumina VIP for xHCI is in preview. Email hello@lumeeslab.com with the versions and product types you need.

Contact

Need VIP for a protocol?

Tell us which protocols and versions you need. We also add protocols on request.

Lumina VIP

hello@lumeeslab.com

Helpful to include

  • The protocols and versions
  • Product types: VIP, assertion IP, memory model, transactor
  • Your schedule

Privacy settings

Choose what this site may use. You can change your mind at any time from the Privacy settings link at the bottom of every page.

What the site needs to work, and the record of the choice you make here, kept in your browser. No cookies are set.

Always on

Would let us count visits and see which pages are useful, without advertising or cross-site tracking. We do not use any analytics today, so nothing is loaded whichever you choose.

Cookie policy · Privacy policy