USB 2.0 Device Controller IP
We provide highly configurable USB 2.0 device controller IP Cores. Our host, device, and hub offerings are silicon realized and USB-IF certified by our customers. We provide highly configurable and scalable USB 2.0 device controller IP Core for a wide range of applications. This USB 2.0 device controller is designed for compliance with USB2.0 specification Revision 2.0 and all associated ECN’s. Its physical interface is compliant with ULPI+ or 8/16 bits UTMI PLUS Level3 specification. The system interface is compliant with AHB and/or AXI interface, allowing easy integration. Optional custom bridges can also be bundled as a service offering. The USB 2.0 device controller can optionally include an proprietary high-performance DMA engine for moving USB payloads. The register interface of the DMA Engine is simple and user-friendly, allowing device-side class-specific function drivers to be implemented easily. All licensees can access reference mass storage-class device-side function drivers as well. All buffering associated with the DMA engine is configurable, based on latency and performance requirements. The USB device controller can optionally include an proprietary EP0 processor block for managing all standard requests, directed to the control endpoint – minimizing software development overheads. Class and vendor-specific requests directed to control endpoint are routed to software for processing via the DMA engine.
Optionally, the controller can be provided with no DMA Engine and no buffering, operating in a cut-through mode forwarding and receiving USB payloads and managing only the USB protocol. In this case, the customer can implement their own differentiated DMA engine.
Optionally, a simple transmit and receive buffer is included in this configuration which can be accessed by software over the slave register access interface (typically AHB). This option results in very low-footprint hardware, useful for scenarios where the software can completely manage USB traffic including sequencing of the USB transactions.
- The USB 2.0 device controller can be configured to support all types of USB transfers – bulk, interrupt and isochronous. While operating in device mode, it can be dynamically configured to support a configurable number of endpoints, interfaces, alternate interfaces, and settings.
- The USB 2.0 device controller can be configured to support any combination of USB 2.0 interface speeds – LS (1.5 Mbps), FS (12.0 Mbps), HS (480 Mbps). Sample combinations are LS only, FS only, HS only, LS and FS, and FS and HS.
- The USB 2.0 device controller supports all low-power features of USB specifications, including suspend, remote wakeup and Link Power Management states – L1, L2.
- The USB 2.0 device controller supports all test modes features, a requisite for obtaining USB-IF certification
- The USB 2.0 device controller core is a USB-IF certified core
- The USB controllers are silicon proven in a wide range of products, such as graphics controller, flash storage controllers, SATA bridges with support for bulk streaming, embedded hosts, docking stations, mobile application processors, smart TV, and hubs
- Support for managing a configurable number of endpoints
- Hardware configurable support for USB speeds – HS/FS/LS
- Hardware configurable support for different use cases:
- Optional simple slave mode operation for initiating/completing USB transactions, enabling areaoptimized implementation
- Optional proprietary DMA engine for initiating/completing USB transactions, reducing software overheads
- Graphics controller
- Flash storage controller
- SATA bridges with support for bulk streaming
- Embedded hosts
- Docking stations
- Mobile application processors
- Smart TV
- Configurable RTL code
- HDL-based test bench and behavioral models
- Test cases
- Protocol checkers, bus watchers, and performance monitors
- Configurable synthesis shell
- Design guide
- Verification guide
- Synthesis guide
- FPGA platform for pre-tape-out validation
- Reference firmware