USB-FPGA Module 2.12:
| Signals connected to
|| Swap FPGA balls
| Signals connected to
|| Swap FPGA balls
|No MAC-EEPROM||Unique non-erasable device ID (which is used to generate the serial number by default) is now read form the Flash. Configuration data is stored in last sector of firmware EEPROM. These changes are automatically considered by the new firmware.|
|Flash and FX2 GPIF/FIFO interface can't be used at the same time|
In summary, instruction for porting from USB-FPGA Modules 2.13 are:
IDENTITY_UFM_2_13(10.17.0.0,0);" with "
IDENTITY_UFM_2_12(10.43.0.0,0);") If you use the default firmware, just use the new (pre-installed) default firmware.
K17 ⟷ M16and
K18 ⟷ L16and rebuild the bitstream. (If you do not use these pins, you can re-use the old bitstreams without modification.)
(larger means faster)
|USB-FPGA Module 2.12a||XC7A15T||1C||0-70°C||Available on-request. (Minimum order quantity >100. Long lead time.)|
|USB-FPGA Module 2.12b||XC7A35T||1C||0-70°C||In production. Replacement for USB-FPGA Module 2.13a. to the Shop|
|USB-FPGA Module 2.12c||XC7A50T||?||?||Possible replacement for USB-FPGA Module 2.13b(2) in future.|
All variants are supported by the free Vivado Webpack versions.
The following drawing shows the measurements and the location of the described elements.
Click on the image for a larger version or download the PDF version.
USB-FPGA Modules 2.12 have no mounting holes because they are usually plugged onto an application circuit. Alternatively also one of the add-on cards may be used as mounting adapter.
JP1 is used tp prevent Firmware booting from EEPROM, e.g. if the firmware is corrupt. At booting the EZ-USB FX2 Microcontroller expects the firmware at the I2C address 0xA2 (jumper open) and falls back to an internal firmware if no valid data is found at this address (jumper closed).
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|
For most applications (especially if memory if used) USB standard does not guaranty sufficient current in order to power USB-FPGA Modules 2.12. Nevertheless, the FPGA Board can be powered from USB if the optional 0 Ω resistor R102 (package 0805) is installed (bottom side below USB connector, see drawing). In that case care must be taken in order to prevent that no second power external power supply is connected to CON3 or pins A1 and B1 of the external I/O connector.
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.
More information about using the Flash for FPGA configuration can be found on the ZTEX Wiki.
On USB-FPGA Modules 2.12 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.
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 headers are available in the shop.
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, R100: 5.6 MΩ and R101: 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 R100 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.12 with installed battery, R100, R101 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.12b with Artix 7 FPGA XC7A35T.
Bottom side of USB-FPGA Module 2.12.