
Chapter 10. General Programmable Interface (GPIF) Page 10-1
Chapter 10 General Programmable Interface (GPIF)
10.1 Introduction
The General Programmable Interface (GPIF) is an internal master to the FX2’s endpoint FIFOs. It
replaces the external “glue” logic which might otherwise be required to build an interface between
the FX2 and the outside world.
At the GPIF’s core is a programmable state machine which generates up to six “control” and nine
“address” outputs, and accepts six external and two internal “ready” inputs. Four user-defined
Waveform Descriptors
control the state machine; generally (but not necessarily), one is written for
FIFO reads, one for FIFO writes, one for single-byte/word reads, and one for single-byte/word
writes.
“Read” and “Write” are from the FX2’s point of view.
“Read” waveforms transfer data from the
outside world to the FX2; “Write” waveforms transfer data from the FX2 to the outside world.
FX2 firmware can assign the FIFO-read and -write waveforms to any of the four FIFOs, and the
GPIF will generate the proper strobes and handshake signals to the outside-world interface as data
is transferred into or out of that FIFO.
As with external mastering (see Chapter 9 "Slave FIFOs"), the data bus between the FIFOs and
the outside world can be either 8 or 16 bits wide.
The GPIF is not limited to simple handshaking interfaces between the FX2 and external ASICs or
microprocessors; it’s powerful enough to directly implement such protocols as ATAPI (PIO and
UDMA), IEEE 1284 (EPP Parallel Port), Utopia, etc. An FX2 can, for instance, function as a single-
chip interface between USB and an IDE hard disk drive or CompactFlash™ memory card.
This chapter provides an overview of GPIF, discusses external connections, and explains the oper-
ation of the GPIF engine. Figure 10-1 presents a block diagram illustrating GPIF’s place in the FX2
system.
GPIF waveforms are generally created with the Cypress
GPIFTool
utility, a Windows™-based
application which is distributed with the Cypress EZ-USB FX2 Development Kit. Although this
Comentarios a estos manuales