Forum: FPGA, VHDL & Co. Einstieg in FPGA Programmierung - Z-turn Board?


von Kramurx (Gast)


Lesenswert?

Guten Abend, ich überlege mich nach intensiver Beschäftigung mit 
Mikrocontrollern mal mit FPGAs auseinander zu setzen. Ich möchte dabei 
grundsätzlich erst mal den Umgang lernen um dann Projekte anstreben 
wofür Mikrocontroller zu langsam sind.
Dazu würde ich am liebsten ein Entwicklungsboard verwenden. Erst hatte 
ich den MicroZed im Auge, den Preis finde ich allerdings schon recht 
hoch.
Nun habe ich das Z-turn Board gefunden, welches ebenfalls einen Xilinx 
Zynq 7010 (was ein Name...) enthält. Dort sind ja zwei A9 Prozessoren 
drauf was schonmal ultra cool ist. Verglichen mit dem MicroZed ist der 
auch nicht so teuer und die GPIOs sind wesentlich besser zugänglich.

Eine meiner Fragen richtet sich nun an den FPGA selber. Auf einem 
Blockdiagramm der zynq 7000er sehe ich nun, dass unter anderem die GPIOs 
über so genannte ,,AMBA Switches" mit den A9 Prozessoren verbunden sind.
Darüber dann mit der Programmierbaren Logik. Im Datenblatt habe ich zu 
AMBA nicht viel finden können. Was hat es damit auf sich? Außerdem würde 
es mich interessieren ob diese Verbindung die Datenübertragungsrate 
beschränken kann?
Datenblatt: 
http://www.xilinx.com/support/documentation/data_sheets/ds187-XC7Z010-XC7Z020-Data-Sheet.pdf
Blockdiagram: 
http://www.cnx-software.com/wp-content/uploads/2012/03/xilinx_zynq-7000_EPP_block_diagram_large.jpg

Eine Andere Frage, so blöd es auch klingen mag, richtet sich an die 
Taktfrequenz des Boards. Oft lese ich, dass die Prozessoren mit max 
667MHz laufen können. Irgendwie konnte ich nun nicht finden ob und was 
es für eine Taktquelle gibt. Sind die A9 Prozessoren separat über einen 
Pin getaktet oder kann man Intern den PLL des FPGA abgreifen?

Meine letzte Frage richtet sich an vorhandene Dokumentation. Zu dem 
MicroZed habe ich ein bisschen gefunden, was sich evtl. anwenden lässt, 
da ja der selbe FPGA verbaut ist. Speziell zum Z-Turn Board habe ich 
aber fast gar nichts gefunden. Auch gibt es hier im Forum keinen 
einzigen Eintrag dazu.

Vorerst habe ich erst mal keine Fragen mehr, vielleicht kommt noch etwas 
nach. Hoffentlich findet sich jemand der mir hier helfen kann.

MfG

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Kramurx schrieb:
> ich überlege mich nach intensiver Beschäftigung mit Mikrocontrollern mal
> mit FPGAs auseinander zu setzen.
Und legst die Latte gleich mal ans oberste Ende der aktuell verfügbaren 
Technologie. Hut ab. Andere verheben sich schon an wesentlich weniger...

Wie willst du denn diese FPGAs beschreiben? Welche HDL hast du im Auge? 
Oder willst du mit Codegeneratoren wie Matlab/Simulink&Co arbeiten (nur 
so bekommst du diese ICs wirklich voll)? Wieviel Geld hast du für 
Entwicklungstools über?

von Mike (Gast)


Lesenswert?

Nun, da hast du dir ja ein ganz schön komplexes FPGA für den Anfang 
ausgesucht...

> AMBA Switches
AMBA ist ein interner Bus für ARM-Prozessoren. Goggle spuckt als ersten 
Treffer das hier aus:

http://www.arm.com/products/system-ip/amba-specifications.php

Was du noch beachten solltest: das Z-turn scheint genauso wie das 
MicroZed keinen eingebauten JTAG-Adapter zu haben. Ohne den hast du 
vermutlich nicht viel Spaß mit dem Board. Ich finde auch problematisch 
das es eher spartanisch ausgestattet ist. Das ist nicht gut für den 
Einstieg bei dem eher blinkende LEDs u.ä. gefragt sind.

Eventuell wäre ein Zybo die bessere Wahl?

http://digilentinc.com/Products/Detail.cfm?NavPath=2,400,1198&Prod=ZYBO

Oder wenn es preiswerter sein soll das DE0 Nano SoC (vergleichbares FPGA 
von Altera):

http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&No=941

Für den Einstieg in die FPGA-Programmierung sind diese Boards aber nicht 
gerade ideal. Du solltest die eher als ARM-Prozessor mit angebautem FPGA 
betrachten.

von Handwerker (Gast)


Lesenswert?

das hatten wir erst vorige woche:

Beitrag "Suche nach FPGA-Dev-Board für Studenten"

Zynq - borads egal Zybo,Z-turn etc sind eher schlecht für den 
FPGA-einstieg geeignet, weil:

* die standard - peripherie am ARM und nicht in der FPGA-fabric hängt
* die Konfiguration eine komplett andere ist

von Strubi (Gast)


Lesenswert?

Moin,

ich würde auch eher mal mit einem Papilio (ab 40 $) anfangen.
Mir sind zuviele Leute bekannt, die die Zynqs bloss in der Schublade 
liegen haben, und ganz wenige, die das Ding nach nunmehr zwei Jahren 
wirklich nutzen. Wenn du aus der uC-Ecke kommst, ziehst du dem 
vielleicht die Einfachheit eines Zpuino-Setups (eine von vielen 
möglichen Konfigurationen) vor.
Die Komplexität eines Linux-BSPs (bare metal ist auf den A9ern schon ein 
kleines Abenteuer) ist da nicht zu unterschätzen, "mal eben" auf ein 
selbstgemachtes Register schreiben zieht ne Latte an Entwicklungsarbeit 
nach sich..

von Andreas R. (daybyter)


Lesenswert?

Ich versuch auch gerade den Start mit so einem Cyclone 2 Min Dev Board 
für 15,- und der freien Quartus Version mit Verilog. Die Technik ist 
wohl nicht soooo kompliziert, aber die mangelnde Dokumentation macht mir 
zu schaffen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Andreas R. schrieb:
> Die Technik ist wohl nicht soooo kompliziert
Sie ist recht simpel. aber lustigerweise stolpern alle über die selben 
Fehler...

Das Hauptproblem sind asynchrone Eingägne und/oder Taktdomänenübergänge.

von Handwerker (Gast)


Lesenswert?

Andreas R. schrieb:
> aber die mangelnde Dokumentation macht mir
> zu schaffen.

??Also bei Alterea gibte es zehntausende Seiten Dokumentation, was fehlt 
dir da konkret?

von Kramurx (Gast)


Lesenswert?

Lothar M. schrieb:
> Kramurx schrieb:
>> ich überlege mich nach intensiver Beschäftigung mit Mikrocontrollern mal
>> mit FPGAs auseinander zu setzen.
> Und legst die Latte gleich mal ans oberste Ende der aktuell verfügbaren
> Technologie. Hut ab. Andere verheben sich schon an wesentlich weniger...
>
> Wie willst du denn diese FPGAs beschreiben? Welche HDL hast du im Auge?
> Oder willst du mit Codegeneratoren wie Matlab/Simulink&Co arbeiten (nur
> so bekommst du diese ICs wirklich voll)? Wieviel Geld hast du für
> Entwicklungstools über?

Sollte dies sich dies zu naiv anhören weist mich bitte darauf hin.
So weit ich weiß, lassen sich die ARM Prozessoren unabhängig von der 
Programmierbaren Logik verwenden. Hier muss ich zugeben, dass sich noch 
mehr Fragen ergeben. Ist die Programmierbare Logik ohne Cortex A9 
nutzbar?
In dem ,,Zynq-7000 All Programmable SoC Overview" Dokument von Xilinx 
ist die Programmierbare Logik direkt über ,,Central Interconnect" mit 
den IOs verbunden. Wenn es so sein sollte, dass sich diese beiden 
Komponenten separat nutzen lassen kann ich mir vorstellen, dass man sich 
ja Stück für Stück vorarbeiten kann, oder klingt das unrealistisch?

Ich würde halt gerne ein universelles Board haben. Für neue Projekte 
immer andere Hardware kaufen möchte ich nicht. Außerdem ist es schön 
wenn man in einer Entwicklungsumgebung bleiben kann.
Hier wollte ich die WebPACK Edition der Vivado Suite benutzen. Diese ist 
kostenlos.

Mike schrieb:
> Eventuell wäre ein Zybo die bessere Wahl?
>
> http://digilentinc.com/Products/Detail.cfm?NavPath...

Danke für den Hinweis! Tatsächlich finde ich dieses Board nochmal ein 
Stück besser. So wie es aussieht würde ich diesen nach dem jetzigen 
Standpunkt sogar bevorzugen. Dazu gibt es auch glücklicherweise ein 
stück mehr Dokumentation.

von Handwerker (Gast)


Lesenswert?

Kramurx schrieb:
> Ist die Programmierbare Logik ohne Cortex A9
> nutzbar?

Ja, aber für die Konfiguration braucht man den Cortex. Zybo ohne ARM ist 
nexsys-4: 
http://shop.trenz-electronic.de/de/26283-Nexys-4-DDR-Artix-7-FPGA-Board-Akademisch?c=119

das ist preiswerter und hat noch paar 7-segment anzeigen drauf. Beim 
Zybo musst du mit 4 led's auskommen


Kramurx schrieb:
> Ich würde halt gerne ein universelles Board haben. Für neue Projekte
> immer andere Hardware kaufen möchte ich nicht.

Die universellen boards sind grad die teuerund und die mit der 
geringsten verbreitung. Wenn die ARM klein und bare metal kennenlernen 
möchtest dann nimm ein Cortex-M0 board wie den XMC2go - kostet 5 Euro. 
Wenn du ARM gross (Linux) kennenlernen möchtest nimm einen Raspi - dafür 
gibt es dutzende bücher in deutsch, für den Cybo kein einziges.

von Hans-Georg L. (h-g-l)


Lesenswert?

Naja zum Einstieg ist der Zynq wirklich nicht unbedingt das einfachste 
..
Du musst die komplette Literatur und die Datenblätter der 7er Artix 
lesen, dann die komplette Vivado Literatur. Dann kommt die komplette ARM 
Literatur und zum Schluss noch Literatur zum verwendeten Linux und den 
BSPs. Damit der 2. Arm sich nicht langweilt dazu noch als Draufgabe ein 
weiteres Bare-Metal OS ;)  Und die Installation des Xilinx Webpacks ist 
ja auch nur die halbe Miete. Die Entwicklungsumgebung für den Arm 
Crosscompiler und die Simulation ist auch nicht so einfach.

Der Zynq bootet "normalerweise" einen ARM und der konfiguriert den FPGA.

Zusätzlich lässt sich der Arm und der FPGA getrennt über JTAG 
konfigurieren, kommt aber auf das Board an wie das alles 
herausverdrahtet ist. Das ZedBoard hat für die JTAG Konfiguration des 
FPGA den Digilent Programmer Onboard und der wird von der Xilinxsoftware 
problemlos akzeptiert.

Das Ding ist nicht einfach und ich benutze im Moment auch nur die FPGA 
weil der Artix einfach besser wie der Spartan6, den ich auch noch habe, 
ist.

Und zum Schluss sollte man vieleicht noch TCL lernen um einige 
Merkwürdigkeiten von Viado zu verschlimmbessern ;)

Und zu den Boards .. Universell bedeutet ein Board mit FMC Connector, 
aber fertige Erweiterungsboards dafür kosten auch nochmal eine ganze 
Menge.

Das preiswerteste Universal Board mit einem Zynq ist meiner Meinung nach 
immer noch das ZedBoard. Und für einfache Sachen gibts auch preiswerte 
PMOD Erweiterungen

von Andreas R. (daybyter)


Lesenswert?

Handwerker schrieb:
> Andreas R. schrieb:
>> aber die mangelnde Dokumentation macht mir
>> zu schaffen.
>
> ??Also bei Alterea gibte es zehntausende Seiten Dokumentation, was fehlt
> dir da konkret?

Weniger die Docs zu dem Cyc2, sondern eher zu dem Board. Also wo z.B. 
der Takt reingeht u.ä. Aber ich will diesen Thread nicht übernehmen. 
Also besser Schluss mit meinen Problemen hier.

von Fpgakuechle K. (Gast)


Lesenswert?

Andreas R. schrieb:

> Weniger die Docs zu dem Cyc2, sondern eher zu dem Board. Also wo z.B.
> der Takt reingeht u.ä.

Kurzes googlen findet das:
https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/manual/mnl_cii_starter_board_rm.pdf

Die Pins für die 3 Takte finden sich auf Seite 32 (2-14).

MfG,

von Andreas R. (daybyter)


Lesenswert?

Das ist ein anderes Board. Bei dem min dev Board sind es 8 Pins, und nur 
1 Pin ist tatsächlich mit 50 MHz beschaltet. Pin 17. Zu dem eBay Board 
gibt es wenig Docs.

von Sigi (Gast)


Lesenswert?

Meinst du das Board mit der Ebay-ID "111723230562"?
Im Netz gibt's die Schematics, ist ein bischen Sucharbeit.

Ausserdem ist das Board auf Ober- und Unterseite gut
beschriftet. Clocks sollten also leicht identifizierbar
sein, die Pins zu den Stiftleisten sind ebenfalls einfach
zu bestimmen.

von Kramurx (Gast)


Lesenswert?

Ich habe da nochmal eine Frage. Ich dachte mir bevor ich irgendwas 
bestelle, dass ich mir mal Vivado anschaue. Die Kostenlose Web-Pack 
Edition enthält ja auch einen Simulator. Leider muss man sich für den 
Download anmelden. Kann man die Entwicklungsumgebung von einer 
alternativen Quelle beziehen? Also verglichen mit Atmel Studio, was man 
hier auf der Seite und bei Atmel herunter geladen kann.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Kramurx schrieb:
> Kann man die Entwicklungsumgebung von einer alternativen Quelle
> beziehen?
Nein. Warum?
Dass jemand Anderer deine Daten sammelt? Und die Lizenz bekommst du 
sowieso nur von Xilinx. Das machen alle so...

: Bearbeitet durch Moderator
von Thomas K. (thok)


Lesenswert?

Kramurx schrieb:
> Mike schrieb:
>> Eventuell wäre ein Zybo die bessere Wahl?
>>
>> http://digilentinc.com/Products/Detail.cfm?NavPath...
>
> Danke für den Hinweis! Tatsächlich finde ich dieses Board nochmal ein
> Stück besser. So wie es aussieht würde ich diesen nach dem jetzigen
> Standpunkt sogar bevorzugen. Dazu gibt es auch glücklicherweise ein
> stück mehr Dokumentation.

Aus den schon genannten Gründen würde ich dir eher zu einem FPGA-Board 
ohne SoC raten. Da wäre das vor Kurzem erschienene Arty-Board eine gut 
Wahl, zumal es wahrscheinlich gut zu deinen bisherigen Erfahrungen im 
Mikrocontroller Bereich passt.

http://www.em.avnet.com/en-us/design/drc/Pages/Artix-7-35T-FPGA-Evaluation-Kit.aspx

In Kürze starten auch in Europa die Vivado SpeedWay Design Workshops. 
Das könnte für dich als Einstieg in Vivado sehr hilfreich sein. (Infos 
bei Avnet o.g. Link)

Weitere Doku ist auch bei Digilent verfügbar, momentan aber nur online 
(Arty Resource Center).
http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,1487&Prod=ARTY

Der FPGA hat etwa 18% mehr Flip-Flops wie der Zync auf dem Zybo, die 
Technologie ist aber identisch (Artix-7).

Adam Taylor schreibt momentan ein Toutorial für das Arty-Board, wie er 
es schon seit über 2 Jahren für das MicroZed-Board (MicroZed Chronicles) 
tut.
http://adiuvoengineering.com/?p=626

Das kann dir bei deinem Einstieg in die FPGA-Welt eine große Hilfe sein.

von Kramurx (Gast)


Lesenswert?

Lothar M. schrieb:
> Nein. Warum?

Weil ich es praktisch finde, wenn man eine Entwicklungsumgebung einfach 
installieren kann ohne sich unbedingt anmelden zu müssen.

Thomas K. schrieb:
> Aus den schon genannten Gründen würde ich dir eher zu einem FPGA-Board
> ohne SoC raten. Da wäre das vor Kurzem erschienene Arty-Board eine gut
> Wahl, zumal es wahrscheinlich gut zu deinen bisherigen Erfahrungen im
> Mikrocontroller Bereich passt.

Nun ich habe die letzten zwei Tage einige Stunden damit verbracht durch 
Datenblätter zu gucken. So wie es nun aussieht werde ich mich doch 
wahrscheinlich nicht direkt mit SoCs auseinander setzen. Die Funktionen 
und Komponenten sehen ja sehr verlockend aus aber ich fürchte da werde 
ich wesentlich öfter auf die Nase fallen als mir lieb ist.

Den Arty habe ich beim stöbern auch schon entdeckt. Das Basys 3 Board 
hat den selben FPGA drauf und wäre meiner Meinung einer alternative.
Hier habe ich nochmal einige Fragen:

- Auf dem Arty sind 256MB DDR3 verbaut, auf dem Basys 3 nicht richtig? 
Andere Informationen habe ich nicht gefunden, mich erstaunt es da man 
dann nur den FPGA internen RAM hat.
- Die Vivado Suite ist enthalten. So wie ich es verstanden habe ist 
diese Lizenz auf den Chip beschränkt. Nach einer System neu Installation 
kann ich die Software also normal weiter benutzen?
- Die Standard Pmod Anschlüsse haben einen 200 Ohm Widerstand als Schutz 
vorgeschaltet. Dies soll die Schaltgeschwindigkeit senken können (gibt 
es da einen Prozentualen Richtwert?). Könnte man durch das Brücken der 
Widerstände die Standard Pmod Anschlüsse ganz einfach in deren 
High-Süeed Pmod Anschlüsse ändern? Also wenn man es braucht.
- Wie kommt es, dass der Arty günstiger als der Basys 3 ist, hab ich 
etwas übersehen?

von Hans-Georg L. (h-g-l)


Lesenswert?

Kramurx schrieb:
> - Die Vivado Suite ist enthalten.

Aber ohne License File und nicht unbedingt in der neuesten Version.
Selbst wenn da eine CD dabei ist, du musst dich immer bei Xilinx 
anmelden und dein Lizenz File erzeugen lassen, das dir dann via email 
zugeschickt wird. Du bekommst zu dem Board einen Gutschein für die 
Design Edition, und den Code musst du bei Xilinx eingeben.

Kommt halt darauf an, was du mit dem Board machen willst. PMOD ist eine 
Low Speed 3,3V Schnittstelle. In der PMOD Spec. steht, das damit schon 
erfolgreich 24Mhz über 4m übertragen worden sind. Die 200 ohm sind als 
Schutz gegen Kurzschluss gedacht und fest eingelötet.

Und für das FPGA gilt alle Pins sind gleich aber manche sind gleicher ;)
Das bedeutet du hast nicht von jedem beliebigen I/O Pin Zugriff auf alle 
internen Resourcen.

von Jonathan W. (anoj_ettiw)


Lesenswert?

Ich habe mit einem DE0 nano (Cyclone 4) von terasic angefangen (sehr 
günstig und reduziert auf das was man braucht). Altera bietet Videos zum 
Einsteigen und auf Youtube gibt es auch einiges zum Lernen (gleiches 
gilt wohl auch für Xilinx).

Ich habe bis jetzt noch nichts vermisst. Zum Einstieg würde ich auf 
jeden Fall noch ein Buch anschaffen. "VHDL Synthese" find ich sehr 
gelungen. "VHDL - Eine Einführung" kam da nicht ran. Aber jeder hat da 
natürlich seine Vorlieben. Skripte von diversen Unis findet man sehr 
schnell, dennoch würde ich ein Buch kaufen, da es didaktisch und 
inhaltlich deutlich besser bzw. Umfangreicher ist.

Ob man direkt etwas mit einem ARM Prozessor braucht..eher hinderlich 
statt förderlich bei der Lernkurve am Anfang.

von Kramurx (Gast)


Lesenswert?

Hans-Georg L. schrieb:
> Kommt halt darauf an, was du mit dem Board machen willst. PMOD ist eine
> Low Speed 3,3V Schnittstelle. In der PMOD Spec. steht, das damit schon
> erfolgreich 24Mhz über 4m übertragen worden sind. Die 200 ohm sind als
> Schutz gegen Kurzschluss gedacht und fest eingelötet.
>
> Und für das FPGA gilt alle Pins sind gleich aber manche sind gleicher ;)
> Das bedeutet du hast nicht von jedem beliebigen I/O Pin Zugriff auf alle
> internen Resourcen.

Was ich damit machen möchte ist unter anderem ein einlesen von Daten 
eines schnellen ADCs. Mit Mikrocontrollern habe ich da einiges 
ausprobiert. Bei 1MSPS mit einem 8Bit µC bei 16MHz habe ich es dann 
belassen weil kaum noch Zeit war die Daten zu verarbeiten. Den Faktor um 
das 100-fache zu erhöhen wäre ein Interessanter versuch. Das ist nur 
einer der Punkte warum ich mich mit FPGAs beschäftigen möchte.
Es scheint als wäre Digilent ziemlich stolz auf deren Pmod Anschlüsse.
Leider habe ich keine Information zu den "High Speed Pmod" anschlüssen 
gefunden was die Übertragungsrate angeht; der Arty hat 16 davon. Möchte 
ich diese benutzen um etwas via LVDS anzuschließen habe ich also nur 
noch 8 Pins. Das finde ich ein bisschen wenig. Aber laut TI kommt man 
bis 250Mhz mit parallelem CMOS Anschluss hin. Hier wäre wider die Frage 
wie schnell die High Speed Pmod Anschlüsse sind.
Puh ich bin mir nicht ganz sicher. Ich denke aber ich käme aber gut mit 
dem Board hin. Wahrscheinlich werde ich mir anderen Problemen eher 
Schwierigkeiten haben bevor es an das benutzen von ADCs geht.
Außerdem ist es echt praktisch, wenn man Zugang zu Vivado bekommt. Es 
scheint ja tatsächlich so zu sein, dass es eher die Ausnahme ist eine 
Entwicklungsumgebung kostenlos zur Verfügung gestellt zu bekommen.
Weitere Hinweise, Anregungen sind gerne gewünscht. Ich werde mich mal 
ein wenig mit der Dokumentation zum Arty auseinander setzen. Vielleicht 
gebe ich dann die Tage auch bescheidt wie ich mich entscheiden habe.
Danke so weit euch allen.

MfG Kramurx

von Jonathan W. (anoj_ettiw)


Lesenswert?

Nicht nur Vivado sondern auch Altera Quartus und Lattice Diamond sind 
(eingeschränkt) kostenlos.

von Mike (Gast)


Lesenswert?

Kramurx schrieb:
> Was ich damit machen möchte ist unter anderem ein einlesen von Daten
> eines schnellen ADCs.

Wie schnell soll es denn sein?

Über Pfostenstecker geht zwar erstaunlich viel, aber irgendwann ist das 
am Ende. Für sowas wäre ein Board mit HSMC-Anschluss o.ä. besser 
geeignet. Terasic bietet für die eigenen Boards allerlei Karten mit bis 
zu 2x150 Megasamples in 14 Bit an. Kosten natürlich entsprechend. Aber 
im Vergleich zur Messtechnik die du sonst brauchst vermutlich Peanuts 
;).

von Kramurx (Gast)


Lesenswert?

Hallo, da bin ich nochmal.
> Und für das FPGA gilt alle Pins sind gleich aber manche sind gleicher ;)

Dies ist mir nun auch aufgefallen. Ich finde es ziemlich umständlich wie 
man sich aus Datenblättern und Infoblättern die Informationen zusammen 
kombinieren muss die man gerade Sucht. Was ich nun herausgefunden habe 
ist, dass der Artix 7 keine HP (High Performance) Anschlüsse hat, 
sondern nur HR (High Range).
Die High-Speed Pmod anschlüsse des Arty sollen zur Symmetrischen 
Signalübertragung verwendet werden. Dazu sollen beispielsweise Pin1(E15) 
und Pin2(E16) des Pmod Steckers JB als ein paar verwendet werden. Dies 
passt mit den Angaben aus dem Datenblatt zu ,,Packaging and Pinout". 
Dort steht, dass ein Pin, bezeichnet nach dem Muster IO_LXXY_# zu einer 
Pin-paar für Symmetrische Signalübertragung gehört. In dem Schaltplan 
zum Arty sind diese Pins auch als IO_L11P und IO_L11N bezeichnet. Also 
alles in Ordnung.

Mein Problem liegt jetzt darin, dass die Pins des Pmod Steckers JA 
Standard Anschlüsse sein sollen, die nicht als Paar zur Symmetrischen 
Signalübertragung verwendet werden. Diese haben beispielsweise auch 
einen 200Ohm Widerstand in Reihe. Schaue ich in den Schaltplan, so hängt 
die Pmod Buchse wie folgt an den Pins des FPGA:

JA1 : IO_0_15
JA2 : IO_L4P_T0_15
JA3 : IO_L4N_T0_15
JA4 : IO_L6P_T0_15
JA5, JA6 gibt's nicht?
JA7 : IO_L6N_T0_VREF_15
JA8 : IO_L10P_T1_AD11P_15
JA9 : IO_L10N_T1_AD11N_15
JA10: IO_25_15

Nun scheint es mir als wären bei der Buchse JA ebenfalls 6 Pin-Paare zur 
Symmetrischen Datenübertragung gedacht. Da steht schließlich L als 
Kennung hinter und P bzw. N. Muss ich also bei den Anschlüssen mit einem 
N einen Pullup Widerstand verwenden und an den Pins mit einem P einen 
Pulldown Widerstand? Ich stelle mir den internen Aufbau so vor wie bei 
einem CMOS Ausgang, nur dass die P und N channel Transistoren von 
einander getrennt sind. Liege ich da mit meiner Vermutung richtig?

Was ich nun noch herauszufinden muss ist wie ich die Bezeichnungen im 
Schaltplan des Artys denen des ,,DC and AC Switching Characteristics" 
Dokumentes zuordnen muss.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Jona W. schrieb:
> Nicht nur Vivado sondern auch Altera Quartus und Lattice Diamond sind
> (eingeschränkt) kostenlos.
Und bei allen drei Herstellern muss man sich zum Download oder für die 
Lezenz anmelden.

Kramurx schrieb:
> Lothar M. schrieb:
>> Nein. Warum?
> Weil ich es praktisch finde, wenn man eine Entwicklungsumgebung einfach
> installieren kann ohne sich unbedingt anmelden zu müssen.
Die Hardware hast du doch auch komplett traceable mitsamt Lieferschein 
und BAnkverbindung gekauft. Warum willst du dann für eine geschenkte 
Software nicht mal den Namen angeben?

Kramurx schrieb:
> - Auf dem Arty sind 256MB DDR3 verbaut, auf dem Basys 3 nicht richtig?
> Andere Informationen habe ich nicht gefunden, mich erstaunt es da man
> dann nur den FPGA internen RAM hat.
Es gibt viele FPGA Anwendungen, denen reicht das interne RAM aus. 
Insofern ist "nur" hier das falsche Wort...

von Hans-Georg L. (h-g-l)


Lesenswert?

Arbeite mal folgende Dokumente durch, dann wird dir vielleicht einiges 
klarer ;)

Hier findest du Angaben über Timing und Parameternamen.
http://www.xilinx.com/support/documentation/user_guides/ug471_7Series_SelectIO.pdf

Hier sind die SRCC und MRCC (clock-capable) Pins wichtig, die sind nicht 
so üppig gesät.
http://www.xilinx.com/support/documentation/user_guides/ug472_7Series_Clocking.pdf

Und hier hast du unter dem Package Layout eine Übersichtstabelle der 
Pins
http://www.xilinx.com/support/documentation/user_guides/ug475_7Series_Pkg_Pinout.pdf

von Burkhard (Gast)


Lesenswert?

Kramurx schrieb:
> Schaue ich in den Schaltplan, so hängt
> die Pmod Buchse wie folgt an den Pins des FPGA:
>
> JA1 : IO_0_15
> JA2 : IO_L4P_T0_15
> JA3 : IO_L4N_T0_15
> JA4 : IO_L6P_T0_15
> JA5, JA6 gibt's nicht?
> JA7 : IO_L6N_T0_VREF_15
> JA8 : IO_L10P_T1_AD11P_15
> JA9 : IO_L10N_T1_AD11N_15
> JA10: IO_25_15

Warum fragst Du solche Details hier im Forum ab statt in das 
dazugehörige Referenzmanual 
(https://reference.digilentinc.com/arty:refmanual - Abschnitt 10 - Pmod 
Connectors) zu schauen?

Burhard

von Kramurx (Gast)


Lesenswert?

Kramurx schrieb:
> Was ich nun noch herauszufinden muss ist wie ich die Bezeichnungen im
> Schaltplan des Artys denen des ,,DC and AC Switching Characteristics"
> Dokumentes zuordnen muss.

Entweder bin ich zu beschränkt um die Daten zu finde die ich suche, oder 
ich suche falsch. Angenommen ich habe den Pin 1 von der Pmod Buchse JA.
Dieser hängt laut Schaltplan des Arty an IO_0_15. Dieser ist nach dem 
BGA Layout der Pin G13. Dies Stimmt auch mit dem Pinout Datenblatt des 
Artix 7 FPGA überein, dort befindet er sich in IO Bank 15.
Jedoch weiß ich nicht wie ich diesen Pin nun den Informationen im ,,DC 
and AC Switching Characteristics" zuordnen kann. Dort habe ich 
unterschiedliche Typen von LVTTL_S4, LVCMOSS33_S4 und noch dutzende 
andere Typen. Woher weiß ich nun was von denen der Pin JA1 ist?

Schaltplan des Arty: 
https://reference.digilentinc.com/_media/arty:arty_sch.pdf
Pinout des Artix 7 (Seite69): 
http://www.xilinx.com/support/documentation/user_guides/ug475_7Series_Pkg_Pinout.pdf
DC and AC Switching Characteristics (ab Seite 14): 
http://www.xilinx.com/support/documentation/data_sheets/ds181_Artix_7_Data_Sheet.pdf

von Garl Kustav (Gast)


Lesenswert?

Kramurx schrieb:
> Dort habe ich
> unterschiedliche Typen von LVTTL_S4, LVCMOSS33_S4 und noch dutzende
> andere Typen. Woher weiß ich nun was von denen der Pin JA1 ist?

Pins konfigurierbarer logik sind auch in ihrem signalstandard 
konfigurierbar.
Ich geh mal davon aus das bei Dir g13 auf LVCCMOS33 konfiguriert ist 
(schau mal im xdc-file). Wenn die IO-Spannung der bank 15 auf 3v3 liegt 
ist das auch ein hinweis.

von Garl Kustav (Gast)


Lesenswert?

Also laut master xdc -file:
https://reference.digilentinc.com/_media/arty_master.zip

ist für G13 LVCMOS33 als Sig-Pegel vorgesehen:

#set_property -dict { PACKAGE_PIN G13   IOSTANDARD LVCMOS33 } [get_ports 
{ ja[0] }]; #IO_0_15 Sch=ja[1]

von Kramurx (Gast)


Lesenswert?

Garl Kustav schrieb:
> Also laut master xdc -file:
> https://reference.digilentinc.com/_media/arty_master.zip

Garl Kustav schrieb:
> Pins konfigurierbarer logik sind auch in ihrem signalstandard
> konfigurierbar.

Ach du meine Güte. Das heißt also ich kann den Signalstandard (I/O 
Standard im Datenblatt) ändern und der Pin hat dann andere 
Eigenschaften, was Schaltzeiten betrifft? Damit habe ich ja nicht 
gerechnet. Dankeschön für den Hinweis!

von Garl Kustav (Gast)


Lesenswert?

Kramurx schrieb:

> Ach du meine Güte. Das heißt also ich kann den Signalstandard (I/O
> Standard im Datenblatt) ändern und der Pin hat dann andere
> Eigenschaften, was Schaltzeiten betrifft? Damit habe ich ja nicht
> gerechnet. Dankeschön für den Hinweis!

Schau mal im hiesigen wiki:
http://www.mikrocontroller.net/articles/FPGA#I.2FO_Anschl.C3.BCsse

Die Signalstandards sind bei Xilinx eigenen Datenblätter:
http://www.xilinx.com/support/documentation/user_guides/ug471_7Series_SelectIO.pdf

Die Anhängsel wie S4 oder F12 beziehen sich wohl auf die Slewrate 
[Slow|Fast] und treiberstärke (Drive strenght) bspw 4|12 mA die auch 
konfigurierbar ist.

Völlig frei ist der Signalstandard nicht per Konfiguration änderbar, Die 
IO-Spannung wird für mehrere pins in einer bank durch Verdrahtung der 
IO-Spannung festgelegt, RefSpannung ist bei manchen Standards auch so ne 
sache und Terminierung muss manchmal ach extern geschehen. Aber das ist 
in den 188 Seiten datenblatt (SelectIO) ausführlich beschrieben ;-)

Wie du schon erkannt hast FPGA ist eine ganze Bibliothek an 
Dokumentation.
Für den ARM wie beim Zynq kommt da noch eine zweite Doku-Bibliothek 
hinzu };-)

von Hans-Georg L. (h-g-l)


Lesenswert?

Kramurx schrieb:
> Entweder bin ich zu beschränkt um die Daten zu finde die ich suche, oder
> ich suche falsch. Angenommen ich habe den Pin 1 von der Pmod Buchse JA.
> Dieser hängt laut Schaltplan des Arty an IO_0_15. Dieser ist nach dem
> BGA Layout der Pin G13. Dies Stimmt auch mit dem Pinout Datenblatt des
> Artix 7 FPGA überein, dort befindet er sich in IO Bank 15.
> Jedoch weiß ich nicht wie ich diesen Pin nun den Informationen im ,,DC
> and AC Switching Characteristics" zuordnen kann. Dort habe ich
> unterschiedliche Typen von LVTTL_S4, LVCMOSS33_S4 und noch dutzende
> andere Typen. Woher weiß ich nun was von denen der Pin JA1 ist?

So schwer ist das doch auch wieder nicht !

Dein FPGA besteht aus konfigurierbaren Funktionsblöcken und wenn du 
Eingänge haben willst dann ist dafür, oh Wunder, der Block ILOGIC 
zuständig. Zufälligerweise gibt es im Datenblatt bei den AC Parametern 
auch eine eigene Tabelle dafür. Und wenn man das SelectIo pdf durchliest 
findet man sogar noch ein Timing Diagramm. Und so ähnlich ist es mit 
allen anderen Funktionsblöcken auch ...

von Fpgakuechle K. (Gast)


Lesenswert?

Naja die Abschätzung der Maximalen Transfergeschwindigkeit ist halt 
nicht einfach. Zumal hier viel die Pmod Buchsen und PCB verdrahtung 
bremsen. In der Digilent Spec zu den Pmods finden sich eher vage Zahlen:

http://www.digilentinc.com/Pmods/Digilent-Pmod_%20Interface_Specification.pdf

so etwa "Pmod sind nicht schnell über 24 MHz über twisted pair geht."

Grob würde ich denen so bis zu 15 MHz zutrauen, einen 50 MHz AD-Wandler 
mit parallelen Interface anzuschliessen halte ich für sehr gewagt. Mit 
LVDS geht sicher mehr. Ich hab schon LVDS (svga-auflösung) über 20 cm 
Bandkabel gut an einem Spartan 2E am spielen gehabt. Hier im Forum hab 
ich mal einen aufbau gesehen bei dem der Verbinder abgtelötet wurde und 
ein AD-Wandler drangelötet das ging dann wohl gut.
Profesionelle Lösungen mit schnellen ad-wandlern auf eigenem Board an 
den FPGA gesteckt benutzen FMC-verbinder. die sind sehr schnell
https://wiki.analog.com/resources/eval/user-guides/ad-fmcdaq2-ebz/hardware

aber deutlich im vierstelligen Bereich .


MfG,

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.