Introduction
Styx is an easy to use Zynq Development Module featuring Zynq XC7Z020 SoC from Xilinx with FTDI’s FT2232H Dual Channel USB Device. Zynq series of integrated circuits from Xilinx feature a hard System on Chip (SoC) with an ARM core and numerous peripherals including UART, SPI, I2C, Dual Gigabit Ethernet, SDIO, etc. Apart from the complete SoC, the Zynq also features an FPGA die equivalent to Xilinx Series-7 devices. It is specifically designed for the development and integration of FPGA based accelerated features into other larger designs. Styx is pin-compatible with Saturn Spartan 6 FPGA Module, Neso Artix 7 FPGA Module as well as Skoll Kintex 7 FPGA Module and thus offers a seamless upgrade path. The high-speed USB 2.0 interface provides fast and easy configuration download to the on-board SPI flash. No programmer or special downloader cable is needed to download the bitstream to the board. The second FTDI channel can be used to develop custom high data-rate USB based applications. Styx provides users flexibility in adding their own peripherals through IO Expansion Headers.
Board Features
- Pin compatible with Saturn Spartan 6 FPGA Module, Neso Artix 7 FPGA Module and Skoll Kintex 7 FPGA Module and offers a seamless upgrade path
- Device: XC7Z020 in CLG484 package, Speed Grade: -1
- DDR3: 2Gb DDR3 (MT41J128M16HA-125:K or equivalent)
- Flash memory: 128 Mb Quad bit SPI flash memory (N25Q128A13EF840E)
- 33.33 MHz CMOS oscillator
- 100 MHz CMOS oscillator
- High-Speed USB 2.0 interface for On-board flash programming. FT2232H Channel B is dedicated to SPI Flash /JTAG Programming. Channel A can be used for custom applications.
- On-board voltage regulators for single power rail operation
- Flash programming via JTAG and USB
- Maximum IOs for user-defined purposes
- FPGA – 150 IOs
- FT2232H – 8 IOs
Applications
- Product Prototype Development
- Accelerated computing integration
- Custom Embedded platform
- Signal Processing
- Communication devices development
- Educational tool for Schools and Universities
How to use the module
The following sections describe in detail how to use this module.
Components/Tools required
Along with the module, you may need the items in the list below for easy and fast installation.
- USB A to Micro B cable.
- A Xilinx Platform Cable USB II compatible JTAG programmer
- DC Power supply (Optional)
USB Interface
The onboard high-speed USB controller helps a PC/Linux/Mac computer to
communicate with this module. Use a USB A to Micro B cable to connect with a PC.
By default, the module is powered from USB so make sure not to overcrowd unpowered
USB hubs (the picture on the right shows USB Micro connector).
FT2232H Channel B is dedicated to SPI Flash /JTAG Programming. Channel A can be used for custom applications.
DC Power Supply
By default, the board is configured to use the +5V supply from USB. So an external power is not required unless the USB port is unable to supply enough current. USB 2.0 ports are only capable of providing enough current for the module for small designs that require less power. The current requirement for this board largely depends on your application. Please consult the FPGA datasheet for more details on power requirements. If for any reason, the external power supply needs to be used for the board, the Power select jumper should be configured properly before connecting the power supply. Please refer to the marking on the board for more details. The external power supply should be in the range of +5 to +12V, with sufficient current rating.
Power Select
The Power Select header P7 is used to configure the power source for the board. Connect pins 1 and 2 to use USB power and connect pins 2 and 3 to use the external DC power.
JTAG/SPI Configuration on FT2232H channel B
Channel B of FT2232H can be either connected to the SPI bus or JTAG by using on-board jumpers. By connecting the SPI bus to FT2232H channel B, the SPI flash can be directly programmed to save the configuration permanently. This is the default configuration set when Styx is shipped. When FT2232H channel B is connected to SPI, Styx Configuration Downloader utility can be used to program the board.
When FT2232H channel B is connected to FPGA JTAG, the JTAG signals can be accessed directly through FT2232H. Styx Configuration Downloader utility currently does not support programming FPGA SRAM through JTAG.
Please see the tables below for information about selecting SPI or JTAG for FT2232H channel B. SPI must be selected for Styx Configuration Downloader utility to work.
Solder Jumpers P2
-
Jumper Configuration for SPI Jumper Configuration for JTAG 1 - 2 1 - 3 5 - 6 4 - 6
Solder Jumpers P3
-
Jumper Configuration for SPI Jumper Configuration for JTAG 1 - 2 1 - 3 5 - 6 4 - 6
Important: These jumper settings are only meant for accessing the JTAG signals via FT2232H through USB using programs such as xc3sprog
. If you are using external JTAG such as Xilinx Platform Cable USB II connected to the JTAG header, then please do not change these jumpers. They should be in the factory-shipped SPI configuration. If the jumpers are changed to JTAG mode, and an external JTAG is used, then the external JTAG will not work.
Boot Configuration
Styx can boot from one of the three devices/channels: JTAG, QSPI, and SD boot modes. Boot mode can be changed using jumpers on jumper header JP1. By default, Styx is configured to boot from QSPI Flash. The following table shows jumper configurations for different boot modes:
Boot Mode | Jumper Configuration |
---|---|
QSPI Boot Mode | Either no jumpers or jumpers between 1-3 and 2-4 |
JTAG Boot Mode | Jumper between 1-2 only |
SD Boot Mode | Jumper between 3-4 only |
GPIOs
This device is equipped with a maximum of 150 user IO pins that can be used for various custom applications. All user IOs are length matched and can be used as differential pairs.
Header P4
Pin No. On The Header | Zynq-7020 (CLG484) Pin No. | Pin No. On The Header | Zynq-7020 (CLG484) Pin No. |
---|---|---|---|
1 | GND | 2 | VCC3V3 |
3 | VCCIN | 4 | GND |
5 | J22 | 6 | J21 |
7 | L22 | 8 | L21 |
9 | G22 | 10 | H22 |
11 | G21 | 12 | G20 |
13 | H20 | 14 | H19 |
15 | E20 | 16 | E19 |
17 | F22 | 18 | F21 |
19 | A22 | 20 | A21 |
21 | C22 | 22 | D22 |
23 | C20 | 24 | D20 |
25 | B22 | 26 | B21 |
27 | C19 | 28 | D18 |
29 | B20 | 30 | B19 |
31 | C18 | 32 | C17 |
33 | A19 | 34 | A18 |
35 | B17 | 36 | B16 |
37 | A17 | 38 | A16 |
39 | E16 | 40 | F16 |
41 | B15 | 42 | C15 |
43 | E18 | 44 | F18 |
45 | D17 | 46 | D16 |
47 | F19 | 48 | G19 |
49 | GND | 50 | GND |
51 | GND | 52 | GND |
53 | D21 | 54 | E21 |
55 | G16 | 56 | G15 |
57 | F17 | 58 | G17 |
59 | J17 | 60 | J16 |
61 | P18 | 62 | P17 |
63 | K15 | 64 | J15 |
65 | K18 | 66 | J18 |
67 | M16 | 68 | M15 |
69 | M17 | 70 | L17 |
71 | K20 | 72 | K19 |
73 | U16 | 74 | U15 |
75 | T19 | 76 | R19 |
77 | V15 | 78 | V14 |
79 | U4 | 80 | T4 |
81 | U9 | 82 | U10 |
83 | W8 | 84 | V8 |
85 | U5 | 86 | U6 |
87 | T6 | 88 | R6 |
89 | GND | 90 | GND |
91 | GND | 92 | GND |
93 | VCC3V3 | 94 | VCC3V3 |
95 | VCC3V3 | 96 | VCC3V3 |
Header P5
Pin No. On The Header | Zynq-7020 (CLG484) Pin No. | Pin No. On The Header | Zynq-7020 (CLG484) Pin No. |
---|---|---|---|
1 | BCBUS0 | 2 | BCBUS1 |
3 | VCC3V3 | 4 | GND |
5 | BCBUS2 | 6 | BCBUS3 |
7 | M19 | 8 | M20 |
9 | BCBUS4 | 10 | BCBUS5 |
11 | M21 | 12 | M22 |
13 | BCBUS6 | 14 | BCBUS7 |
15 | N19 | 16 | N20 |
17 | N22 | 18 | P22 |
19 | N17 | 20 | N18 |
21 | P20 | 22 | P21 |
23 | P16 | 24 | R16 |
25 | R20 | 26 | R21 |
27 | N15 | 28 | P15 |
29 | J20 | 30 | K21 |
31 | V18 | 32 | V19 |
33 | W15 | 34 | Y15 |
35 | W17 | 36 | W18 |
37 | W16 | 38 | Y16 |
39 | AA21 | 40 | AB21 |
41 | U17 | 42 | V17 |
43 | AB19 | 44 | AB20 |
45 | GND | 46 | GND |
47 | GND | 48 | GND |
49 | GND | 50 | GND |
51 | GND | 52 | GND |
53 | V13 | 54 | W13 |
55 | Y19 | 56 | AA19 |
57 | V12 | 58 | W12 |
59 | Y18 | 60 | AA18 |
61 | U12 | 62 | U11 |
63 | AA17 | 64 | AB17 |
65 | AB10 | 66 | AB9 |
67 | AA16 | 68 | AB16 |
69 | Y14 | 70 | AA14 |
71 | AB14 | 72 | AB15 |
73 | W11 | 74 | W10 |
75 | Y13 | 76 | AA13 |
77 | Y11 | 78 | Y10 |
79 | AA12 | 80 | AB12 |
81 | AA9 | 82 | AA8 |
83 | AA11 | 84 | AB11 |
85 | Y9 | 86 | Y8 |
87 | V10 | 88 | V9 |
89 | INIT_B | 90 | VCC3V3 |
91 | PROG_B | 92 | VCC3V3 |
93 | GND | 94 | GND |
95 | GND | 96 | GND |
* BCBUS0 – BCBUS7 are pins of FTDI FT2232H Dual-Channel USB device.
FT2232H – Zynq-7020 (CLG484) FPGA Connection Details
FTDI Pin No. | Pin Function (245 FIFO) | Zynq-7020 Pin No. |
---|---|---|
16 | D0 | T22 |
17 | D1 | T21 |
18 | D2 | U22 |
19 | D3 | U21 |
21 | D4 | V22 |
22 | D5 | W22 |
23 | D6 | AA22 |
24 | D7 | AB22 |
26 | RXF# | W20 |
27 | TXE# | Y21 |
28 | RD# | Y20 |
29 | WR# | W21 |
30 | SIWUA | V20 |
32 | CLKOUT | L18 |
33 | OE# | U20 |
Driver Installation
Installing on Windows
This product requires Numato Lab drivers to be installed for proper functioning when used with Windows. The driver can be downloaded from https://numato.com/wp-content/uploads/2019/06/NumatoLabFPGADrivers.zip Windows users should download and run the WHQL Certified executable file that will prompt to install the Numato Lab drivers.
Styx USB Vendor ID | 2A19 |
Styx USB Product ID | 1007 |
Installing on Linux
The Linux ships with the drivers required for Styx. It should be enough to run the following two commands in the terminal:
>> sudo modprobe ftdi_sio >> echo 2a19 1007 > /sys/bus/usb-serial/drivers/ftdi_sio/new_id
Getting Started With Development on Styx
Workflow for the Zynq series is slightly different than Series-7 FPGAs. There is a tutorial on quickly getting up and running with Styx to accelerate the pace of development.
Link: https://docs.numato.com/kb/getting-started-zynq-on-styx-using-vivado-design-suite/
Powering Up Styx
Styx is factory configured to be powered directly from the USB port so make sure that you are using a USB port that can power the board properly. It is recommended to connect the board directly to the PC instead of using a hub. It is practically very difficult to estimate the power consumption of the board, as it depends heavily on your design and the clock used. XILINX provides tools to estimate power consumption. In any case, if power from USB is not enough for your application, external supply can be applied to the board. Jumper P7 should be set up properly (short pin 1-2) to use the board on external power. Styx requires five different voltages, a 3.3V, a 1.8V, a 1.0V, a 0.75V supplies, and a 1.5V supply. On-board regulators derive these voltages from the USB/Ext power supply.
Generating Bit Stream for Styx
The bitstream can be generated for Styx in Vivado by following the steps below:
Step 1: It is recommended to generate .bin file along with .bit file. Right-click on “Generate Bitstream” under the “Program and Debug” section of the Flow Navigator window and click “Bitstream Settings”.
Step 2: Select “-bin_file” option in the dialog window and click “Apply” and then “OK”.
Step 3: Finally click “Generate Bitstream”.
Programming Styx Zynq Module Using JTAG
Styx Zynq FPGA Module features an onboard JTAG connector which facilitates easy reprogramming of SRAM and onboard SPI flash through JTAG programmer like “Xilinx Platform cable USB”. Following steps illustrate how to program FPGA on Styx using JTAG.
Step 1: By using JTAG cable, connect Xilinx platform cable USB to Styx and power it up.
Step 2: Open Vivado project and open the target by clicking on the “Open Target” in “Open Hardware Manager” in the “Program and Debug” section of the Flow Navigator window. Select “Auto Connect”.
Step 3: If the device is detected successfully, then select “Program Device” after right clicking on the target device “xc7z020_1 (1)” as shown below.
Step 4: In the dialog window which opens up, Vivado automatically chooses the correct bitstream file if the design was synthesized, implemented and bitstream generated successfully. If needed, browse to the bitstream which needs to be programmed to FPGA. Finally, click “Program”.
Programming Using Styx Tenagra
For steps on how to program Styx using Tenagra, refer the Getting started with Tenagra FPGA System Management Software article.
Programming QSPI Flash
Programming the QSPI Flash for the Zynq series is slightly different than Series-7 FPGAs. There is a tutorial on how to flash and boot Styx from QSPI (as well as SD Card).
Link: Styx: Boot from SD card and QSPI flash
Technical Specifications
Parameter * | Value | Unit |
---|---|---|
Basic Specifications | ||
Number of GPIOs | 150 + 8 (Max) | |
On-board oscillator frequency | 33.33 | MHz |
On-board oscillator frequency (ASEM1-100.000MHZ-LC-T) | 100 | MHz |
DDR3 Capacity | 2 | Gb |
Quad SPI Flash Memory (N25Q128A13ESE40E) | 128 | Mb |
Power supply voltage (External) | 5 - 12 | V |
Programmable Logic Specifications | ||
Internal supply voltage relative to GND | -0.5 to 1.1 | V |
Auxiliary supply voltage relative to GND | -0.5 to 2.0 | V |
Output drivers supply voltage relative to GND | -0.5 to 3.6 | V |
Processing Section Specifications | ||
PS MIO I/O supply voltage (VCCO_MIO) | -0.5 to 3.6 | V |
PS MIO I/O input voltage | -0.40 to VCCO_MIO + 0.55 | V |
PS DDR I/O input voltage | -0.55 to VCCO_MIO + 0.55 | V |
Maximum Processor Frequency | 667 | MHz |
* All parameters considered nominal. Numato Systems Pvt Ltd reserves the right to modify products without notice.