glip  0.1.0-dev
The Generic Logic Interfacing Project
Cypress FX3


 Cypress FX3 Firmware
 Cypress FX3 FPGA Logic
 Cypress FX3 libglip backend

Detailed Description

The Cypress FX3 (internal name: cypressfx3) connects over USB 3.0 to a target device with a Cypress EZ-USB FX3 Chip on it or attached to it.

Supported Features


To make use of this backend, a number of components are required, as shown in the graphic below.

        Host PC                Cypress FX3              Target FPGA
-----------  ----------       ------------  -----------------------------------
|         |  |        |       |          |  | --------------   -------------- |
| libglip |--| libusb |--USB--| firmware |--| | GLIP logic | - | Your Logic | |
|         |  |        |       |          |  | --------------   -------------- |
-----------  ----------       ------------  -----------------------------------

On the host PC, the cypressfx3 backend of libglip internally uses libusb 1.0 for all USB communication. This library is available on all major Linux distributions and does not need any kernel components.

The data is then transferred as USB 3.0 bulk transfers to the Cypress FX3 chip, the control signals as USB control transfers. This chip contains a small CPU and needs a special firmware for configuration. This firmware is provided in different flavors by GLIP.

A 32 bit wide parallel interface (plus some control lines) connects the Cypress FX3 chip with your FPGA. For this FPGA GLIP provides a small piece of glue logic, which then provides the common GLIP logic FIFO interface with a width of 16 or 32 bit.

For details and usage instructions for the individual components, see these pages: