ZTEX

 
Produkte
FPGA-Board Serie 2
  USB-FPGA-Modul 2.18
  USB-FPGA-Modul 2.16
  USB-FPGA-Modul 2.14
  USB-FPGA-Modul 2.13
  USB-FPGA-Modul 2.12
  USB-FPGA-Modul 2.01
  FPGA-Modul 2.00
  Debug-Board
  Serie 1-Adapter
  Cluster-Board
Eingestellt:
  USB-FPGA-Modul 2.04
Veraltete Produkte
  FPGA-Board Serie 1
Zum ZTEX Shop ZTEX Shop
 SDK und Beispiele 
  Übersicht
  Standard-Firmware
  Dokumentation
  Downloads
  Beispiel
  Lizenzen
  Versions-Geschichte
  ZTEX Wiki
 
 
Downloads
 
Kontakt
Impressum
AGB
RoHS
 
    Hauptseite / Produkte         SDK    
    Zum ZTEX Shop Shop   
    Wiki         Downloads    
    deutsch     englisch    

USB-FPGA-Modul 2.12:
Artix 7 FPGA-Board mit EZ-USB FX2 und DDR3 SDRAM

Zum ZTEX Shop Zum Shop

Inhaltsverzeichnis

Blockdiagramm
Eigenschaften
Kompatibilität mit USB-FPGA-Modulen 2.13
Varianten
Funktions-Beschreibung
    Gemeinsame Funktionen aller FPGA-Boards der Serie 2
    EEPROM-Adresse: JP1
    FPGA Status: LED1
    Stromversorgung, CON3
    Taktquellen
    FPGA-Konfiguration
    Externer I/O-Verbinder
    JTAG
    Batterie-Option
Bilder

Zusätzliche Ressourcen

Schaltplan
Pin-Belegung und Netzliste (Gnumeric-Format, mehrere Blätter)
Pin-Belegung und Netzliste (Excel-Format, mehrere Blätter)
Eagle-Bibliothek des I/O-Verbinders
I/O-Leiterbahnen-Längen
[externer Link] Datenblätter der Xilinx Artix 7 Familie von der Xilinx Homepage
[externer Link] Cypress CY7C68013A/14A Datenblatt von der Cypress Homepage
[externer Link] "EZ-USB FX2 Technical Reference Manual" von der Cypress Homepage

Zubehör

Debug-Board
Serie-1-Adapter-Board
Cluster-Basisplatine

ZTEX FPGA-Board mit Artix 7, DDR3 SDRAM und USB 2.0

Blockdiagramm

Blockdiagramm des ZTEX FPGA-Boards mit Artix 7, DDR3 SDRAM und USB 2.0

Eigenschaften

  • USB 2.0-Schnittstelle mit Mini-USB-Buchse (Typ B)
  • Cypress CY7C68013A EZ-USB FX2 Mikrocontroller (100 Pin Version)
  • Drei mögliche Xilinx Artix 7 Varianten: XC7A15T, XC7A35T und XC7A50T, siehe Varianten
  • Externer-I/O-Verbinder (bestehend aus zwei 2x32-Pin-Buchsenleisten mit 2.54mm-Raster) liefert:
  • 256 MByte DDR3 SDRAM:
    • Bis zu 400 MHz Speichertakt
    • 16 Bit Busbreite
    • Datenrate bis zu 1600 MByte/s
    • Mit dem Xilinx Memory Interface Generator (MIG) nutzbar, Beispiele befinden sich im SDK
  • 128 MBit on-board Flash Speicher
    • Ermöglicht das Laden des Bitstream vom FPGA (16.5 MByte/s)
    • Zugreifbar vom EZ-USB FX2 und vom FPGA, jedoch nicht während das EZ-USB FX2 GPIF/FIFO-Interface verwendet wird
    • Eindeutige, nicht löschbare ID welche zum Erzeugen einer Seriennummer verwendet werden kann
  • 128 Kbit EEPROM-Speicher (kann zum Laden der Firmware und für Einstellungen genutzt werden)
  • Schnelle FPGA configuration via USB: bis zu 24MByte/s
  • On-Board Stromversorgung:
    • 3,3 V: 2000 mA
    • 1,8 V: 2000 mA
    • 1,5 V: 2000 mA
    • 1,0 V: 2000 mA
  • Optional:
    • Batterie zum Speichern eines Schlüssels für Bitstream-Verschlüsselung
    • On-board JTAG-Steckverbinder

Kompatibilität mit USB-FPGA-Modulen 2.13

USB-FPGA-Module 2.12 sind eine modifizierte Version von USB-FPGA Modulen 2.13. Sie wurden als Antwort auf Lieferengpässe von Bauteilen entwickelt und sollen die kleineren Varianten der USB-FPGA Module 2.13 ersetzen. Abgesehen von unterschiedlichen Spannungsreglern gibt es jedoch einige Inkompatibilitäten:

Änderung Portierungs-Empfehlung
Signale an den EZ-USB FX2-Pins PC7 und PB0 vertauscht. DIN vom Flash ist jetzt an PB0. FPGA-Bälle K17 ⟷ M16 in der Constraint-Datei vertauschen
Signale an den EZ-USB FX2-Pins PC4 und PB1 vertausche. DOUT vom Flash ist jetzt an PB1. FPGA-Bälle K18 ⟷ L16 in der Constraint-Datei vertauschen
Kein MAC-EEPROM Eindeutige, nicht löschbare ID (welche standardmäßig zum Erzeugen einer Seriennummer verwendet wird) wird jetzt aus dem Flash-Speicher gelesen. Konfigurations-Daten werden im letzten Sektor der des Firmware-EEPROM gespeichert. Diese Änderungen werden automatisch von der neuen Firmware berücksichtigt.
Flash-Speicher und FX2 GPIF/FIFO-Interface können nicht gleichzeitig genutzt werden.

Zusammenfassend, lauten die Anweisungen zur Portierung von USB-FPGA-Modulen 2.13 wie folgt:

  • Kundenspezifische Firmware muss für das neue Ziel neu kompiliert werden ("IDENTITY_UFM_2_13(10.17.0.0,0);" wird durch "IDENTITY_UFM_2_12(10.43.0.0,0);" ersetzt) Bei Verwendung der Default-Firmware muss nur die neue (vorinstallierte) Firmware verwendet werden.
  • In der Constraint-Datei des FPGA-Projektes: Vertauschen der FPGA-Bälle K17 ⟷ M16 und K18 ⟷ L16 und Bitstream neu generieren. (Sollen die Pins nicht genutzt werden, kann der alte Bitstream ohne Veränderungen verwendet werden.)

Varianten

Diese Varianten mit unterschiedlichen FPGA's können angeboten werden:

Variante FPGA Speedgrade
(größer bedeutet schneller)
Temperatur-Bereich Status
USB-FPGA-Modul 2.12a XC7A15T 1C 0-70°C Verfügbar auf Anfrage. (Mindestbestellmenge >100, lange Lieferzeit)
USB-FPGA-Modul 2.12b XC7A50T 1C 0-70°C Lagertyp. Ersetzt USB-FPGA-Modul 2.13a. to the Shop
USB-FPGA-Modul 2.12c XC7A50T ? ? In Zukunft möglicher Ersatz für USB-FPGA Module 2.13b(2) in future.

Alle Varianten werden von den kostenlosen Vivado-Webpack-Versionen unterstützt.

Funktions-Beschreibung

Die folgende Zeichnung zeigt die Maße sowie die Lage der beschriebenen Elemente.

Zeichnung mit Maßen des ZTEX FPGA-Boards mit Artix 7  XC7A35T bis XC7A200T, DDR3 RAM und USB 2.0
Klicken sie auf das Bild für eine größere Version oder laden Sie die PDF-Version herunter.

USB-FPGA Module 2.12 haben keine Montage-Löcher da sie i.d.R. auf eine Anwendungs-Schaltung gesteckt werden. Alternativ dazu kann auch eine der Zusatzkarten als Montage-Adapter verwendet werden.

Gemeinsame Funktionen aller FPGA-Boards der Serie 2

USB-FPGA Module 2.12 sind FPGA-Boards der Serie 2. Funktionen, die alle FPGA-Boards dieser Serie besitzen, sind auf FPGA-Board-Serie 2 beschrieben.

EEPROM-Adresse: JP1

Jumper JP1 legt die I2C-Adresse des EEPROM wie folgt fest:

JP1 I2C-Adresse
offen 0xA2
geschlossen 0xAA

JP1 wird verwendet um um zu verhindern, dass die Firmware aus dem EEPROM geladen wird. Der EZ-USB FX2 Mikrocontroller sucht die Firmware an der I2C-Adresse 0xA2 (JP1 offen) und bootet mit einer internen Firmware falls keine gültigen Daten an dieser Adresse gefunden werden (Jumper geschlossen).

JP1 hat einen nicht verbundenen Pin der zum Parken des Jumpers genutzt werden kann. Die folgenden Bilder zeigen alle möglichen Jumper-Positionen:

     ZTEX FPGA Board mit Artix 7 XC7A35T bis XC7A200T: JP1 offen 1 ZTEX FPGA Board mit Artix 7 XC7A35T bis XC7A200T: JP1 offen 2           ZTEX FPGA-Board mit Artix 7 XC7A35T bis XC7A200T: JP1 geschlossen     
JP1 offen JP1 geschlossen

FPGA-Status: LED1

LED1 zeigt den Konfigurations-Zustand des FPGA's wie folgt an:

LED1 FPGA
an unkonfiguriert
aus konfiguriert

Stromversorgung, CON3

Die externe Stromversorgung kann über CON3 oder die Pins A1 and B1 des externen I/O-Verbinders erfolgen und sollte zwischen 4.5V V und 16 V liegen. CON3 ist eine Standard-Gleichstrombuchse mit 2,1mm Innenstift (+) und 5,5mm Zylinderdurchmesser (-). A1 und B1 des I/O-Verbinders und der Innenstift von CON3 sind direkt verbunden. Dadurch kann eine Basisplatine auch vom FPGA-Board versorgt werden.

Für die meisten Anwendungen (insbesondere wenn der Speicher verwendet wird) garantiert der USB-Standard nicht genügend Strom um USB-FPGA Module 2.12 zu versorgen. Nichtsdestotrotz kann das FPGA-Board vom USB versorgt werden indem der optionale 0 Ω Widerstand R102 (Gehäuse 0805) installiert wird (Unterseite unter USB-Buchse, siehe Zeichnung). In diesem Fall muss sichergestellt sein, dass keine zweite Stromversorgung an CON3 oder die Pins A1 and B1 des externen I/O-Verbinders angeschlossen ist.

Taktquellen

Auf dem FPGA-Board sind zwei Taktquellen mit den FPGA verbunden: der Taktausgang des EZ-USB FX2, welcher normalerweise auf 48 MHz konfiguriert ist, und der Interface-Takt, welcher auf 30 MHz oder 48 MHz eingestellt werden kann. Aus diesen können mittels MMCM's oder PLL's andere Takte im FPGA generiert werden.

Zusätzliche Taktsignale können an die MRCC and SRCC-Pins des I/O-Steckverbinders angeschlossen werden. (Diese Pins sind als differentielle Paare organisiert, z.B. L12P_T1_MRCC_35 und L12N_T1_MRCC_35. Single-ended Takte müssen an das positive Pin angeschlossen werden z.B. L12P_T1_MRCC_35.)

In den meisten Fällen sind die Onboard-Taktquellen ausreichend.

FPGA-Konfiguration

Das FPGA kann via USB, vom Flash-Speicher oder via JTAG konfiguriert werden. Die Konfiguration über USB ist entweder mittels EP0-Transfers möglich (langsam, immer verfügbar) oder unter Verwendung eines Hi-Speed Endpoints (bis zu 24 MByte/s), welcher nach der FPGA-Konfiguration für andere Zwecke weiter verwendet werden kann. Die Default-Firmware unterstützt beide Modi.

Weitere Information über die Verwendung des Flash-Speichers für die FPGA-Konfiguration befinden sich auf der ZTEX Wiki.

Externer I/O-Verbinder

Der externe I/O-Verbinder ist kompatibel zu anderen FPGA-Boards der Serie 2 und deshalb auf FPGA-Board-Serie 2 beschrieben. Die Pinbelegung ist die gleiche wie für USB-FPGA-Module 2.14. Dies erlaubt eine einfache Migration zwischen diesen beiden FPGA-Boards.

Bei USB-FPGA-Modulen 2.12 sind alle 100 I/O's belegt und haben eine variable I/O-Spannung. Die I/O-Spannung ist VCCO_AB für die Reihen A und B und VCCO_CD für die Reihen C und D. Werksseitig sind VCCO_AB und VCCO_CD über die 0Ω Widerstände R8 bzw. R9 mit 3.3V verbunden. Somit sind diese Pins 3.3V Ausgänge. (Das ist das Standard-Verhalten aller FPGA-Boards der Serie 2). Wird eine andere I/O-Spannung benötigt, können R8 und/oder R9 ausgelötet werden und VCCO_AB bzw. VCCO_CD als Spannungs-Eingang verwendet werden.

JTAG

Das FPGA kann entweder über USB oder über JTAG konfiguriert werden. Die JTAG-Signale stehen auf dem externen I/O-Steckverbinder zur Verfügung, JTAG Steckverbinder auf den meisten Zusatzkarten. Optional kann auch eine 14 Pin-Steckverbinder an der Seite (CON5) installiert werden. (Werksseitig wird dieser aus Platzgründen weggelassen.) Der passende Steckverbinder ist im Shop erhältlich.

Batterie-Option

Falls Bitstream-Verschlüsselung benötigt wird, kann eine standardisierte 3V Lithium-Batterie mit einem Rastermaß von 10×3mm installiert werden. Desweiteren müssen zwei 0805 SMD-Widerstände eingelötet werden, R100: 5,6 MΩ und R101: 3,3 MΩ. Unter Berücksichtigung der Selbstentladung sollte die Lebensdauer der Batterie mindestens 10 Jahre betragen.

Mit der Batterie kann das FPGA einen Schlüssel für die Bitstream-Entschlüsselung in einem speziellen Speicher halten. Dieser Schlüssel wird mittels JTAG geladen.

Um Schaden zu vermeiden muss R100 vor dem Einlöten der Batterie installiert werden. Auch sollte darauf geachtet werden, dass die Batterie später nicht kurzgeschlossen werden kann, da durch den Spannungsabfall der Speicherinhalt verloren ginge.

Das Bild auf der Seite zeigt ein USB-FPGA-Modul 2.12 mit installierter Batterie, R100 und R101 und JTAG-Steckverbinder CON5. FPGA-Boards mit werksseitig installierten Batterie-Komponenten und/oder JTAG ist auf Anfrage erhältlich.

Eine Anleitung zur Bitstream-Verschlüsselung befindet sich auf der Wiki.

ZTEX USB-FPGA Module 2.12: JTAG und Batterie für Bitstream-Verschlüsselung installiert

Bilder

Klicken Sie auf die Bilder für eine vergrößerte Darstellung.

Oberseite des ZTEX FPGA-Boards mit Artix 7 XC7A35T, DDR3 SDRAM und USB 2.0

Oberseite des USB-FPGA-Moduls 2.12b mit Artix 7 FPGA XC7A35T.

Unterseite des ZTEX FPGA-Boards mit Artix 7 XC7A15T bis XC7A50T, DDR3 SDRAM und USB 2.0

Unterseite des USB-FPGA-Moduls 2.12.


[Home]  [Impressum]   
© ZTEX GmbH