|
|
ZTEX FPGA-Boards der Serie 2
ZTEX USB-FPGA-Module 2.∗ bilden eine Serie von FPGA-Boards mit USB-Controller und einem kompatiblen externen I/O-Steckverbinder.
Diese Seite beschreibt die gemeinsamen Eigenschaften und gibt einen Überblick über die FPGA-Boards und das Zubehör.
Inhaltsverzeichnis
FPGA-Boards - Produktübersicht
Zubehör
Gemeinsame Eigenschaften
SDK, Beispiele und Einführungen
Beschreibung gemeinsamer Funktionen
Laden der Firmware
FPGA-Konfiguration
Möglichkeiten zum Hochladen von Firmware und Bitstream
Externer I/O-Steckverbinder
Pinbelegung und -Beschreibung
Kompatibilität
Nummerierungsschema
FPGA-Boards - Produktübersicht
|
- FPGA-Board mit Xilinx Artix 7 XC7A200T
- Super-Speed USB 3.0-Schnittstelle
- Cypress CYUSB3033 EZ-USB FX3S-Mikrocontroller mit ARM926EJ-Kern
- 100 General-Purpose-I/O's (GPIO)
- 256 MByte DDR3-SDRAM
- 128 MBit Flash memory (z.B. für Firmware und Bitstream)
|
|
- FPGA-Board mit Xilinx Artix 7 XC7A200T
- High-Speed (480 MBit/s) USB-Schnittstelle
- Cypress CY7C68013A EZ-USB FX2 Mikrocontroller
- 100 General-Purpose-I/O's (GPIO)
- 128 MBit Flash-Speicher (z.B. für den Bitstream)
- 128 KBit EEPROM (z.B. für die Firmware)
- Memory-Mapped-I/O zwischen EZ-USB FX2 und FPGA
|
|
- FPGA-Board in 5 Varianten mit Xilinx Artix 7: XC7A15T, XC7A35T, XC7A50T, XC7A75T and XC7A100T
- Super-Speed USB 3.0-Schnittstelle
- Cypress CYUSB3033 EZ-USB FX3S-Mikrocontroller mit ARM926EJ-Kern
- 100 General-Purpose-I/O's (GPIO)
- 256 MByte DDR3-SDRAM
- 128 MBit Flash memory (z.B. für Firmware und Bitstream)
|
|
- FPGA-Board in 4 Varianten mit Xilinx Artix 7 FPGA's: XC7A35T, XC7A50T, XC7A75T and XC7A100T
- High-Speed (480 MBit/s) USB-Schnittstelle
- Cypress CY7C68013A EZ-USB FX2 Mikrocontroller
- 100 General-Purpose-I/O's (GPIO)
- 256 MByte DDR3-SDRAM
- 128 MBit Flash-Speicher (z.B. für den Bitstream)
- 128 KBit EEPROM (z.B. für die Firmware)
|
|
- FPGA-Board mit Xilinx Spartan 6 XC6SLX16
- High-Speed (480 MBit/s) USB-Schnittstelle
- Cypress CY7C68013A EZ-USB FX2 Mikrocontroller
- 100 General-Purpose-I/O's (GPIO)
- 128 MBit Flash-Speicher (z.B. für den Bitstream)
- 128 KBit EEPROM (z.B. für die Firmware)
|
|
- FPGA-Board mit Xilinx Spartan 6 XC6SLX16
- 100 General-Purpose-I/O's (GPIO)
- Dual 16 MBit Flash-Speicher, Bitstream-Quelle mittles Jumper wählbar
- On-Board JTAG- und SPI-Sockel
|
Eingestellt: |
|
- FPGA-Board mit Xilinx Spartan 6 XC6SLX16
- High-Speed (480 MBit/s) USB-Schnittstelle
- Cypress CY7C68013A EZ-USB FX2 Mikrocontroller
- 96 General-Purpose-I/O's (GPIO)
- 64 MByte DDR-SDRAM
- 128 MBit Flash-Speicher (z.B. für den Bitstream)
- 128 KBit EEPROM (z.B. für die Firmware)
|
Zubehör

|
Eine Erweiterungskarte mit vielen LED's, Schaltern und einem JTAG-Verbinder. Es vereinfacht das Debuggen und die Prototypenentwicklung und ist in zwei Varianten erhältlich:
- Die Variante mit stapelbaren Buchsenleisten kann zwischen FPGA-Board und Anwendungsschaltung gesteckt werden.
- Die Variante mit Prototypen-Raster kann alleine oder in Kombination mit weiteren Prototypen-Platinen verwendet werden.
|

|
Eine Adapter-Platine welche es ermöglicht FPGA-Boards der Serie 2 auf Anwendungs-Schaltungen für USB-FPGA-Module 1.∗ zu betreiben.
Die Platine kann auch als Montageadapter verwendet werden, falls keine Anwendungs-Schaltung vorhanden, auf die das FPGA-Board gesteckt erden kann.
|

|
Verbindet bis zu 4 FPGA-Boards der Serie 2 zu einem kleinem Cluster-Knoten.
|
|
Mehr Zubehör befindet sich im ZTEX-Shop
|
Gemeinsame Eigenschaften
- Externer I/O-Steckverbinder mit:
- Bis zu 100 mit dem FPGA verbundene General-Purpose-I/O's (GPIO)
- JTAG-Signalen
- Reset-Signal
- Eingang für externe Stromversorgung
- 3.3V-Ausgang
- Eingang oder Ausgang für I/O-Spannung
- On-Board Stromversorgung
- On-Board SPI-Flash-Speicher zum Speichern des Bitstreams
- On-Board EEPROM oder Flash zum Speichern des Firmware
- On-Board MAC-EEPROM: enthält eine eindeutige, nicht löschbare MAC-Adresse und wird zum Speichern von Firmware-Einstellungen genutzt
- Unterstützung von SD-Karten als sekundärer Flash, siehe ZTEX Wiki
- SDK welches sowohl das FPGA-Board als auch den Host-PC abdeckt
SDK, Beispiele und Einführungen
Alle ZTEX USB-FPGA Module werde durch das ZTEX SDK unterstützt. Dieses ist für EZ-USB FX2- und
FX3-Mikrocontroller entwickelt und beinhaltet Firmware Kits, eine Host-Software-API, Werkzeuge und viele Beispiele.
Eine Standard-Firmware mit flexibler Kommunikations-Schnittstelle macht die Firmware-Entwicklung bei vielen Anwendungen überflüssig
und erlaubt Board-unabhängige Host-Software.
Zusätzliche Dokumentationen einschließlich Einführungen
befinden sich auf der ZTEX Wiki
Im Rahmen der FX3-Portierung wird das SDK gegenwärtig (Anfang 2016) umgebaut. Der Entwicklungsfahrplan
befindet sich auf der FX3 Portierungs-Seite.
Beschreibung gemeinsamer Funktionen
Funktionen, die für alle FPGA-Boards der Serie 2 gleich sind, werden hier beschrieben.
Laden der Firmware
Der EZ-USB kann Firmware von zwei Quellen laden,
- vom USB und
- aus dem nichtflüchtigen Speicher (FX2: EEPROM, FX3: Flash).
Beim Hochfahren sucht der EZ-USB im nichtflüchtigen Speicher nach Firmware. Ist ein gültiges Firmware-Abbild vorhanden, wird dies zum Booten des USB-Controllers verwendet.
Andernfalls wird eine interne Firmware geladen und der EZ-USB wartet auf Programmierung vom USB.
Alle FPGA-Bords der Serie 2 haben den Jumper JP1, mit welchem das Laden der Firmware aus dem nichtflüchtigen Speicher deaktiviert werden kann.
Dies ist vor allem nützlich, falls eine defekte Firmware installiert wurde. Details werden auf den FPGA-Board spezifischen Seiten beschrieben.
FPGA-Boards der Serie 2 werden mit einer ab Werk installierten Standard-Firmware geliefert, welche mit Nutzer-Firmware überschrieben werden kann, siehe Möglichkeiten zum Hochladen von Firmware und Bitstream.
FPGA-Konfiguration
Es gibt drei Möglichkeiten zur FPGA-Konfiguration:
- Via USB mittels des SDK
- Via JTAG mit Hilfe der Xilinx-Werkzeuge (Kann sehr langsam sein. USB ist deshalb zu bevorzugen.)
- Vom Flash mittels des SDK
Falls ein Bitstream in den Flash-Speicher geschrieben wurde, versucht die Firmware automatisch diesen während des Hochfahrens in das FPGA zu laden.
Alle FPGA-Boards der Serie 2 haben ein LED welche den Konfigurations-Zustand des FPGA's anzeigt.
Details befinden sich auf den FPGA-Board spezifischen Seiten.
Möglichkeiten zum Hochladen von Firmware und Bitstream
Das SDK bietet mehrere Möglichkeiten Firmware und Bitstream direkt zum EZ-USB bzw. FPGA oder in den nichtflüchtigen Speicher zu laden:
- API:
- Kommandozeilen-Werkzeug FWLoader
- Server basierte (G)UI DeviceServer
Externer I/O-Steckverbinder
Der externer I/O-Steckverbinder befindet sich auf der Unterseite und besteht aus zwei 2x32 Steckverbindern mit 2.54mm-Raster.
Zeichnung mit Maßen des externen I/O-Verbinders der FPGA-Board-Serie 2. (Klicken Sie auf das Bild für eine PDF-Version.)
|
Externer I/O-Verbinder auf der Unterseite des Artix 7 USB-FPGA-Moduls 2.16. (Klicken Sie auf das Bild für eine größere Version.)
|
Pinbelegung und -Beschreibung
Die Pin-Belegung und -beschreibung kann auch im Gnumeric- oder Excel-Format heruntergeladen werden (mehrere Blätter).
Diese Tabellen enthalten auch FPGA-Board-spezifische Details wie Verbindungslisten (Netzlisten) und I/O-Spannungs-Bereiche.
Eine Eagle-Bibliothek ist ebenfalls verfügbar.
|
A |
B |
|
C |
D |
1 |
VIN |
VIN |
|
USB+5V |
Reset |
2 |
GND |
GND |
|
GND |
GND |
3 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
4 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
5 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
6 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
7 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
8 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
9 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
10 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
11 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
12 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
13 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
14 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
15 |
3.3V |
3.3V |
|
FPGA_IO |
FPGA_IO |
16 |
GND |
GND |
|
VCCO_CD |
VCCO_CD |
17 |
VCCO_AB |
VCCO_AB |
|
GND |
GND |
18 |
FPGA_IO |
FPGA_IO |
|
3.3V |
3.3V |
19 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
20 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
21 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
22 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
23 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
24 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
25 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
26 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
27 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
28 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
29 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
30 |
FPGA_IO |
FPGA_IO |
|
FPGA_IO |
FPGA_IO |
31 |
JTAG_TDI |
JTAG_TCLK |
|
JTAG_TDO |
JTAG_TMS |
32 |
JTAG_VIO |
GND |
|
GND |
GND |
|
|
FPGA_IO |
Jedes FPGA-Board hat bis zu 100 mit dem FPGA verbundene General-Purpose-I/O's (GPIO's, nicht alle FPGA_IO's müssen belegt sein).
Die I/O-Spannung ist entweder 3.3V oder variabel.
Details befinden sich in der Gnumeric- oder Excel-Tabelle und
in der Produktbeschreibung.
|
GND |
Masse-Pins |
3.3V |
3.3V Ausgang |
VCCO_AB VCCO_CD |
Eingang oder Ausgang der I/O-Spannung für die Reihen A/B und C/D. Beträgt die I/O-Spannung 3.3V sind diese Pins fest mit 3.3V verdrahtet.
Wenn Die I/O Spannung variabel ist, ist dieses Pin durch einen 0Ω Widerstand mit 3.3V verbunden. (Das Standard-Verhalten ist in jedem Fall gleich.)
Durch Auslöten des Widerstandes kann eine externe I/O-Spannung angelegt werden.
Details befinden sich in der Gnumeric- oder Excel-Tabelle und
in der Beschreibung zum FPGA-Board.
|
JTAG_∗ |
JTAG-Signale. (Auf den meisten FPGA-Boards kann zusätzlich auch ein 14-Pin-Steckverbinder installiert werden oder ist bereits installiert). |
VIN |
Externer Spannungs-Eingang. Der Spannungsbereich hängt vom FPGA-Board ab. |
USB+5V |
5V Ausgang vom USB. In einigen Fällen kann dieses Pin mit VIN verbunden werden, um das FPGA-Board über USB mit Strom zu versorgen.
(In der Regel garantiert die USB-Spezifikation jedoch nicht ausreicht Strom.)
|
RESET |
Logisches 0 resettet das FPGA-Board. Das Pin hat einen Pull-Up-Widerstand und kann offen gelassen werden. |
|
Kompatibilität
Die im vorherigen Abschnitt genannte Pinbelegung ist zwar für alle FPGA-Board der Serie 2 festgelegt, jedoch sind nicht in jedem Fall alle Pins bzw. Funktionen belegt.
Um Die Wahrscheinlichkeit von Inkompatibilitäten bei der Migration zwischen FPGA-Boards zu vermeiden, sollten einige Regeln berücksichtigt werden:
- Spezielle IO-Funktionen wie differentielle Signale oder Takt-Pins sollten vermieden werden (stattdessen die internen Taktquellen verwenden)
- Nicht immer sind alle FPGA-IO's belegt. Gegenwärtig betrifft das nur USB-FPGA-Module 2.04 und wahrscheinlich werden zukünftige FPGA-Boards voll belegt sein.
Die FPGA-IO's mit niedrigen Nummern sollten möglichst vermeiden werden.
- Nicht immer ist die IO-Spannung aller FPGA-IO's variabel. Gegenwärtig betrifft das nur USB-FPGA-Module 2.04 und wahrscheinlich wird bei zukünftigen FPGA-Boards die Spannung aller FPGA-IO's variabel sein.
Wenn möglich, sollte eine IO-Spannung von 3.3V gewählt werden.
- Die Pins mit mittleren Nummern haben die besten Signal-Laufzeiten
Nummerierungsschema
Das Nummerierungsschema für die FPGA-Boards ist 2.<n><m>, z.B. 2.16.
2. |
Seriennummer: Ist immer 2. |
<n> |
FPGA-Generation:
0: Xilinx Spartan 6 FPGA
1: Xilinx Artix 7 FPGA
|
<m> |
Board-Nummer: Eine größere Zahl bedeutet gewöhnlich ein größeres FPGA-Board in irgend einem Sinn, z.B. größeres FPGA, mehr Speicher, besserer USB-Controller. |
|