The USB 2.0 On-The-Go controller core (USBHS-OTG-SD) implements a high-speed USB OTG port that can serve as a host for a single device or as a peripheral when connected to other USB devices. USB OTG is primarily intended for portable devices that may function as a host or a peripheral depending on how they are connected. Examples of such devices include digital cameras, printers, MP3 players, flash drives, mobile GPS, and PDAs.
This core conforms to the On-The-Go supplement of the USB 2.0 specification. It is designed for processing efficiency with hardware implementing the Host Negotiation Protocol, Session Request Protocol, and other critical functions.
The microcode-free design was developed for easy reuse and is available optimized for several Lattice devices, with competitive utilization and performance characteristics.

Implementation Results
The following are typical performance and utilization results
| Lattice Device |
Device LUT-4s |
Registers |
Slices |
SysMEM EBRs |
External I/Os
|
Speed (fmax, MHz) |
| uP clock |
USB clock |
| LFXP10C-5 |
3856 |
1890 |
2712 |
16 |
226 |
37 |
53 |
| LFECP33E-5 |
3860 |
1890 |
2712 |
16 |
226 |
45 |
35 |
| LFE2-50E-7 |
4140 |
1890 |
2712 |
8 |
226 |
55 |
77 |
| LFSC3GA25E-7 |
3914 |
1890 |
2712 |
8 |
226 |
82 |
117 |
Features
- Complies with the USB 2.0 specification and its On-The-Go supplement
- Supports one Low-Speed, Full-Speed, or High-Speed peripheral device in Host mode
- Supports Full-Speed and High-Speed data transfer in Peripheral mode
- Provides hardware-based support for the Host Negotiation Protocol (HNP) and the Session Request Protocol (SRP)
- Includes endpoint 0 for USB control transfers
- Configurable for up to 15 IN and 15 OUT additional endpoints, each with:
- Configurable and programmable size
- Configurable and programmable single, double, triple, or quad buffering
- Programmable type (bulk, ISO, interrupt
- UTMI+ Level 2 (USB 2.0 Transceiver Macrocell Interface Plus) for use with any compliant transceiver macrocell
- Optional ULPI (UTMI+ Low Pin Interface)
- 32-bit Peripheral Virtual Component Interface (PVCI) to microprocessor (other standard interfaces available)
- Offers direct access to the end-point buffers via a configurable 16/32-bit dataport interface
- Ready for an external DMA module
- Synchronous dual-port RAM interface for endpoint buffers (single-port RAM version available)
- Suspend and resume power management functions Remote wake-up function
- Strictly synchronous design with postive-edge clocking, no internal tri-states and a synchronous reset; straightforward scan insertion
Applications
- Digital cameras
- Printers
- Portable digital audio (MP3, satellite radio)
- Flash and mass storage drives
- Displays
- Mobile GPS
- PDAs