USB-FPGA Module 2.16:
(larger means faster)
|USB-FPGA Module 2.16a||XC7A100T||2C||0-85°C||On request (no stock type)|
|USB-FPGA Module 2.16b||XC7A200T||2C||0-85°C|| Stock type, to the Shop
replaced by faster and fully
compatible variant 2.16b2
|USB-FPGA Module 2.16b2||XC7A200T||3E||0-100°C|| Stock type, to the Shop
long term availability
All variants are supported by the free Vivado and ISE Webpack versions.
The following drawing shows the measurements and the location of the of the described elements.
Click on the image for a larger version or download the PDF version.
The FPGA Board has no mounting holes because it is usually plugged onto an application circuit. If this is not present, e.g. if the FPGA board is used standalone as co-processor card, one of the add-on cards may be used as mounting adapter.
The EZ-USB FX2 Microcontroller searches for the firmware at the address 0xA2 which is the default address (jumper open).
The main purpose of this jumper is to suppress booting the Firmware from EEPROM. If, for example, the EEPROM was programmed with a corrupt firmware the Microcontroller can be booted with the internal firmware by closing JP1 during powering-on the FPGA Board.
JP1 has an unconnected pin which can be used for parking the jumper. The following pictures show all possible jumper positions:
|JP1 open||JP1 closed|
A1 and B1 of the I/O connector and the center pin of CON3 are connected directly. This allows to supply a base board from the FPGA board.
Additional clocks can be connect to the MRCC and SRCC pins of the I/O connector. (These pins are arranged as differential pairs, e.g. L12P_T1_MRCC_35 and L12N_T1_MRCC_35. Single ended clocks must be connected to the positive pin, e.g. L12P_T1_MRCC_35.)
In most cases the on board clock sources are sufficient.
The CPLD also controls the access of the Flash and FPGA configuration pins shared by different configuration sources. The following table gives an overview about the access and FPGA configuration modes. CM1:CM0 are the configuration mode pins of the CPLD and are driven by FX2. They are pulled up, i.e. default mode at FX2 start-up is 1:1. The mode pins M2:M1:M0 of the FPGA are driven by CPLD.
|CM1:CM0||M2:M1:M0||CCLK driven by:||Configuration source||Flash can be accessed by:|
|1:0||1:1:0||FX2:CTL5||USB (high speed mode, up to 24 MByte/s) or JTAG||-|
|0:1||1:1:0||FX2:PC6||USB (low speed mode, about 1 MByte/s) or JTAG||-|
|0:0||0:0:1||FPGA||Flash (up to 16.5 MByte/s) or JTAG||FPGA (and FX2 after successful configuration)|
This table is just a brief summary because all configuration related issues are automatically handled by the firmware and the factory programmed CPLD. Interested user are referred to the schematics and the CPLD data package usb-fpga-2.13-2.16-cpld.zip which contains the source files and the jed file for programming the CPLD via JTAG.
More information about using the Flash for FPGA configuration can be found on the ZTEX Wiki.
On USB-FPGA Modules 2.16 all 100 external I/O's are assigned and have a variable I/O voltage. I/O voltage for rows A and B is VCCO_AB and for rows C and D it is VCCO_CD. By default VCCO_AB and VCCO_CD are connected to 3.3V through 0Ω resistors R8 and R9, respectively. Thus, these pins are 3.3V outputs. (This is the standard behaviour for all FPGA Boards of the Series 2.) If another I/O voltage is required, R8 and/or R9 can be unsoldered and VCCO_AB and/or VCCO_CD can be used as voltage input.
CON4 is a standard 3 pin fan connector for active coolers. If this connector is used the input voltage should be between 9V and 13V.
USB-FPGA Modules 2.16 are delivered with a cooler kit which consists in:
The FPGA can be configured either via USB or via JTAG. JTAG signals are available on the external I/O connector and JTAG headers are installed on most add-on cards. Optionally a 14 pin header (CON5) can be installed as depicted on the side. (By default it is not installed for space reasons). The JTAG header is available in the shop.
The JTAG interface can also be used for re-programming the CPLD.
Battery optionIf Bitstream encryption is required a standard 3V Lithium battery with a pin distance of 10×3mm can be installed. Furthermore two 0805 SMD resistors need to be soldered, R17: 5.6 MΩ and R18: 3.3 MΩ. Taking into account the battery degeneration the data retention time should be at least 10 years.
The battery allows the FPGA to store a key which is used for bitstream encryption in a special low-power memory. The key has to be uploaded via JTAG.
In order to prevent damage R17 must be soldered before the battery is installed. Also care should be taken in order to prevent shortcuts that can cause voltage drop and loss of encryption data.
The picture on the side shows an USB-FPGA Module 2.16 with installed battery, R17 and R18 and JTAG header CON5. FPGA Boards with factory-installed battery components and/or JTAG are available on request.
Instructions for Bitstream encryption can be found on the Wiki.
Click on the images for larger versions.
Top side of USB-FPGA Module 2.16b with Artix 7 FPGA XC7A200T.
Bottom side of USB-FPGA Module 2.16 with Artix 7 FPGA.
USB-FPGA Module 2.16 with passive (top) and active (bottom) cooler. Both heat sinks belong to the contents of delivery of the FPGA Board.