Inventra™ MUSBLSFC USB1.1 Low-Speed Function Controller
© 2000-2001 Mentor Graphics Corporation, All Rights Reserved.
™Mentor Graphics and Inventra are trademarks of Mentor Graphics Corporation.
All other trademarks are the property of their respective owners.
Corporate Headquarters
Mentor Graphics Corporation
8005 S.W. Boeckman Road
Wilsonville, OR 97070 USA
Phone: 503-685-7000
North American Support Center
Phone: 800-547-4303
Fax: 800-684-1795
Silicon Valley Headquarters
Mentor Graphics Corporation
1001 Ridder Park Drive
San Jose, California 95131 USA
Phone: 408-436-1500
Fax: 408-436-1501
Europe Headquarters
Mentor Graphics Corporation
Immeuble le Pasteur
13/15, rue Jeanne Braconnier
92360 Meudon La Foret
France
Phone: 33-1-40-94-74-74
Fax: 33-1-46-01-91-73
Pacific Rim Headquarters
Mentor Graphics (Taiwan)
Room 1603, 16F,
International Trade Building
No.333, Section 1, Keelung Road
Taipei, Taiwan, ROC
Phone: 886-2-87252000
Fax: 886-2-27576027
Japan Headquarters
Mentor Graphics Japan Co., Ltd.
Gotenyama Hills
7-35, Kita-Shinagawa 4-chome
Shinagawa-Ku, Tokyo 140
Japan
Phone: 81-3-5488-3033
Fax: 81-3-5488-3021 06/01 PD-40103.002-FO
Structure
The MUSBLSFC function controller consists of a
Serial Interface Engine (SIE), a RAM Controller, an
MCU Interface, and a control block for each endpoint.
Serial Interface Engine
The SIE handles NRZI encoding/decoding, bit
stuffing/unstuffing, and CRC generation/checking. It
generates a 1.5 MHz USB clock from the 6 MHz input
clock to the core, and synchronizes this clock to the
incoming data stream when receiving data from the USB.
It generates headers for packets to be transmitted and
decodes the headers of received packets.
RAM Controller
The RAM Controller provides an interface to the single
block of synchronous single-port RAM that is used to buffer
packets between the CPU and USB. It takes the FIFO
pointers from the endpoint controllers, converts them to
address pointers within the RAM block and generates the
RAM access control signals.
MCU Interface
The MCU Interface provides an 8-bit synchronous
VCI-compliant CPU interface to allow access to the
control/status registers and FIFOs for each endpoint. It
generates an interrupt to the CPU when a packet has been
successfully transmitted or received, or when the core enters
or resumes from Suspend mode.
Endpoint Controllers
Two controller state machines are used. One for control
transfers over Endpoint 0, and one for bulk/interrupt
transactions over Endpoints 1 and 2.
Reference Technology Gate Count: 5000
Signal Description
The MUSBLSFC has a maximum of 63 external signals,
28 inputs and 35 outputs.
SIGNAL TYPE DESCRIPTION
USB INTERFACE SIGNALS
DIP Input D+ single-ended input.
DIM Input D- single-ended input.
DIDIF Input Differential input.
DOP Output D+ output.
DOM Output D- output.
NDOE Output Output enable for DOP, DOM. Active low.
MCU INTERFACE SIGNALS
MC_ADDR[3:0] Input Address bus.
MC_DI[7:0] Input Data bus input.
MC_DO[7:0] Output Data bus output.
MC_NOE Output Data bus output enable. Active low.
MC_VAL Input MCU access validate.
MC_RNW Input Read not write.
MC_ACK Output MCU access acknowledge.
MC_NINT Output MCU interrupt. Active low.
SYSTEM SIGNALS
FCLK Input Input clock. This clock should be 6 MHz.
CLKOUT Output System clock output (1.5 MHz ).
CLK Input Buffered version of CLKOUT.
NRST Input Power-up reset. Active low.
USB_NRSTO Output USB function reset output. Active low.
USB_SUSPEND Output This signal goes high when the function is in
Suspend mode.
RAM INTERFACE SIGNALS
RAM_NCE Output RAM Enable. Active low.
RAM_ADDR[n:0] Output RAM address bus. Bus width is dependent on the
number and type of endpoints configured.
RAM_DATAI[7:0] Input Data input bus – from RAM.
RAM_DATAO[7:0] Output Data output bus – to RAM.
RAM_NWR Output RAM write enable. Active low.
Configurable Options
The MUSBLSFC is user-configurable for:
1. The number of IN endpoints and/or OUT endpoints that
are required in addition to Endpoint 0 (1 or 2).
2. Whether these endpoints have separate FIFOs or share a
FIFO between an IN endpoint and the corresponding OUT
endpoint.
Note: All endpoints configured to work with 8-byte FIFOs.