PDF datasheets:

ASIC
Altera Xilinx

Options for this core:

USBFS-DEV software stack

Related information:

Validated for Mentor Graphics Presicision FPGA SynthesisValidated for Precision™ FPGA Synthesis

News Releases

06/18/01 CAST Releases USB 1.1 IP Core

Resources

For an excellent USB overview, see Which version of USB is right for your application?, by Dan Harmon, at Planet Analog

USB IP Core USBFS-DEV USB Full-Speed Device Controller Core

The USBFS-DEV is a USB Device Controller that provides USB full and low speed function interface that meets the 2.0 revision of the USB specification. The USBFS-DEV logic handles bytes transfer autonomously and bridges USB interface to a simple read/write parallel interface. The USBFS-DEV can be customized and optimized for a specific application. It contains a set of Special Function Registers that is similar to the Cypress EZ-USBTM FX chip.

The microcode-free design was developed for reuse in ASICs and FPGAs. The design is strictly synchronous with positive-edge clocking, no internal tri-states and a synchronous reset. Scan insertion is straightforward.

See representative implementation results (each in a new pop-up window):

ASIC numbersAltera numbers Xilinx numbers

Features

Optional Features

Applications

The USBFS-DEV can be utilized to provide a USB full speed function interface in a variety of applications including:

Software

A complete software stack with the most popular device classes is available. It has been designed for portability in a variety of embedded applications. It includes an intuitive Application Programming Interface (API) for application development.

Block Diagram

USBFS-DEV Block Diagram

Functional Description

The USBFS-DEV core is partitioned into modules as shown in the block diagram and described below:

Serial Interface Engine (SIE)

The SIE logic contains a Digital Phase Locked Loop (DPLL) that uses 4 times over-sampling of the USB data stream for clock extraction. The SIE performs serial data decoding/encoding, bit stuffing/stripping and CRC checking/generation. Received/transmitted data are grouped in bytes and transferred to/from the USBFS-DEV endpoint buffer RAM.

Parallel Interface Engine (PIE)

The PIE contains a set of Special Function Registers (SFR) that are provided to control the USBFS-DEV behavior, the logic that handles all USB transfers and interfaces for endpoints buffers and for the microcontroller.

Port controller (PORTCTRL)

The port control module contains multiplexers and address decoders. The PORTCTRL logic handles all microprocessor and DMA read and write accesses to/from the Special Function Registers and endpoint buffer RAM.

DMA

The DMA module transfers byte data between endpoint buffers and external memory. The processor initializes the DMA by writing to the DMA Special Function Registers.

DMA wrapper (DMA WRAP)

The DMA wrapper generates read/write strobes for external asynchronous RAM.

Clock controller (CLKCTRL)

This module is provided to support suspend-resume control. The clock control logic uses a clock gate to switch off the USBFS-DEV clock in suspend state.

Deliverables

The core is available in ASIC (synthesizable HDL) and FPGA (netlist) forms, and includes everything required for successful implementation:

 

 

Request Info
Top of Page