Forum: FPGA, VHDL & Co. Spartan 6 mit minimal beschaltung


von Felix H. (masterq)


Lesenswert?

Hallo zusammen,
2 Freunde von mir und ich bilden ein kleines Team und wir möchten gerne 
ein kleines Board des Xilinx Spartan 6 XC6SLX4-2 TQG144C bauen.
Dieses soll die IOs nach außen führen und für die grundlegenden 
Funktionen keine weitere Beschaltung benötigen.

Unser Team besteht aus einem konzentrierten und schlauen Leser / einem 
guten Programmierer mit Bastelerfahrung, aus einem cleveren 
Programmierer mit VHDL-Kenntnissen und gutem Schreiber, und mir, einem 
Bastler mit Microcontroller-Erfahrung bis zum Atmel 32bit-Controller und 
erfahrenem Programmierer (allerdings kein VHDL).

Wir haben das oben genannte FPGA zu Verfügung, diverse statische und 
nicht statische Speicher ICs, alle möglichen Taktgeber, eine ausreichend 
präzise Ausrüstung zum Ätzen, alle möglichen Peripherie-Teilchen, 
digitale und analoge Analyse-Werkzeuge. Wir haben diverse SPI ISPs und 
das USPprog 3.0 zur JTAG-Programmierung.

Zum Projektbegin fehlt uns allerdings die nötige Übersicht, und umso 
mehr ich nachforsche kommt mir das Gefühl, dass das gewählte FPGA für 
ein solches Einsteiger-Projekt nicht genügend dokumentiert ist.
Deshalb bitte ich um Hilfe.
Die Auswahl der Hardware fiel jedoch nicht in meinen Aufgabenbereich und 
steht nach besten Möglichkeiten fest.
Bei einem erfolgreichen Projektabschluss werde ich alles im Wiki 
veröffentlichen.

Hier ein paar Fragen:
0. Ist euch hilfreiche Dokumentation bekannt?
1. Welche Art von Peripherie wird auf dem Board benötigt?
2. Wie genau läuft das mit dem Programmieren und laden der Konfiguration 
ab?
3. Welche Art von externen Speicher wird benötigt (wenn überhaupt)?
4. Wie genau läuft es mit der Spannungsversorgung ab?
5. Sind multiple Versorgung nötig?
6. Würdet ihr beim ersten Prototypen den Speicher lieber noch nicht auf 
das Board packen?
7. Ist das FPGA lizenzlich im Xilinx Webpack integriert oder benötigt 
man eine weitere Lizenz?

Grüße

MasterQ

von Klaus F. (kfalser)


Lesenswert?

Felix H. schrieb:
> 0. Ist euch hilfreiche Dokumentation bekannt?

Ja. Dieses Forum und die Dokumentation von Xilinx.
Datenblatt des Bausteins.

> 1. Welche Art von Peripherie wird auf dem Board benötigt?
Das hängt wohl von eurer Aufgabenstellung ab.
Minimale Peripherie ist die Stromversorgung und ein Oszillator.

> 2. Wie genau läuft das mit dem Programmieren und laden der Konfiguration
> ab?
Siehe unten

> 3. Welche Art von externen Speicher wird benötigt (wenn überhaupt)?
Ein Flash zum Laden der Konfiguration.
Kann über JTAG geladen werden.

> 4. Wie genau läuft es mit der Spannungsversorgung ab?
Sie muss Spannung und Strom liefern

> 5. Sind multiple Versorgung nötig?
Ja. Siehe Datenblatt.

> 6. Würdet ihr beim ersten Prototypen den Speicher lieber noch nicht auf
> das Board packen?
Der Speicher kommt immer aufs Board. Man kann einen schnellen Speicher 
(DDR RAM oder ähnliches) nicht zuverlässig über längere Leitungen 
betreiben.

> 7. Ist das FPGA lizenzlich im Xilinx Webpack integriert oder benötigt
> man eine weitere Lizenz?
Weiss ich so nicht. Warum schaut ihr nicht auf der Xilinx Homepage nach?

Wäre es nicht besser, Ihr kauft euch ein fertiges Board?

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


Lesenswert?

Felix H. schrieb:
> 0. Ist euch hilfreiche Dokumentation bekannt?
Ich würde da mal ein EVAL-Board ansehen.
Das Rad wurde ja schon mal erfolgreich erfunden...  ;-)

> Unser Team besteht aus ...
Euch fehlt noch ein "Sucher und Finder"....

> 7. Ist das FPGA lizenzlich im Xilinx Webpack integriert oder benötigt
> man eine weitere Lizenz?
http://www.xilinx.com/publications/matrix/Software_matrix.pdf

von hp-freund (Gast)


Lesenswert?

Ich denke auch das irgend wann der Selbstbau an seine Grenzen stösst.

bei ebay:

260910024299
260910024328

http://www.sioi.com.au/download/

von Lattice User (Gast)


Lesenswert?

Klaus Falser schrieb:
>> 6. Würdet ihr beim ersten Prototypen den Speicher lieber noch nicht auf
>> das Board packen?
> Der Speicher kommt immer aufs Board. Man kann einen schnellen Speicher
> (DDR RAM oder ähnliches) nicht zuverlässig über längere Leitungen
> betreiben.

Da der XC6SLX4 keine Memorycontrollerblöcke hat, ist das Thema DDR RAM 
sowieso obsolet.

von Christian R. (supachris)


Lesenswert?

Zur Spannung: Der S6 kommt zum Glück mit 2 Spannungen aus. 1,2V Core und 
3.3V aux und IO.

von Bernd S. (Gast)


Lesenswert?

ich benutze einen XC6SLX75/100/150, evtl. kann ich ein bisschen was aus 
dem Stehgreif beschreiben. (ob das alles auf euren Spartan zutrifft, 
müsst ihr selber rausfinden)

1. Als Anfänger würde ich evtl. ein Evalboard nehmen, wie schon andere 
geraten haben.

2. Das Design für das Board allein kann schon Spaß machen, und wenn ihr 
das vorhabt: bitteschön:

Der XC6 benötigt einen externen Flash um beim Startup das Bitfile aus 
diesem zu laden. Alternativ kann man auch nach dem Anschalten der 
Spannung über JTAG, z.B. mit dem Xilinx USB-Kabel II und dem Programm 
iMPACT von Xilinx (im Xilinx ISE-Paket enthalten) das Bitfile reinladen. 
Das bleibt natürlich nur bis zum Ausschalten im FPGA erhalten, reicht 
aber zum probieren aus.

Es ist auch möglich über einen uC jedes Mal das Bitfile reinzuladen, 
z.B. über einen embedded SVF-Player, naja das ist schon ein bisschen 
fortgeschritten.

Nehmt einfach ein simples SPI-Flash, das ist am einfachsten, z.B. von 
Spansion.

Im Xilinx-Dokument ug380 (einfach über google suchen) ist für Spartan 6 
beschrieben wie er geladen wird und welche Modi es gibt. Hier wird auch 
erklärt, wie man das SPI-Flash oder andere Flashes anschließt und welche 
Pull-Ups usw. man braucht.

Und wie kommt das Bitfile dann in den SPI-Flash?
Mit dem iMPACT-Programm und dem Xilinx USB-Kabel II kann man über JTAG 
durch den FPGA hindurch auf das SPI-Flash zugreifen und es 
programmieren. Dafür sollte man jedoch ein Flash benutzen, das 
Xilinx/iMPACT offiziell unterstützt.

Für eine Übersicht der gesamten Spartan 6 Doku: Sucht das Dokument DS160 
von Xilinx, auch bekannt als Spartan 6 Family data sheet. Auf der 
letzten Seite sind alle Dokus aufgelistet. Sind eine Menge.

Zum Verdrahten: UG385 und UG393

von Felix H. (masterq)


Lesenswert?

Hallo zusammen eine harte Nacht, aber es sieht gut aus, das Board ist 
bald fertig.
Vielen dank für die konstruktiven Tipps.
Aber die Absolute Maximum Ratings für die Core Spannung haben es ja in 
sich. Aber wird schon schief gehen.
Der Configuration User Guide ist sehr hilfreich, UG380.
JTAG wird als eine zu dem USBProg kompatible Schnittstelle rausgeführt, 
geeignet zum direkten Programmieren. Möglich macht dies angeblich das 
USPprog mit dem SVF-Player ebenfalls die default SPI Geschichte für 
externen Speicher, und alle I/Os, und sonstige sonder Pins.
M0 und M1 bleiben über Jumper programmierbar, sowie auch HSWAPEN.
Ein Oszillator wird nicht integriert. Debug LEDS für für done und init 
über kleine mosfets geschaltet.
Core Voltage anfangs durch Jumper getrennt um sicher zu gehen ob man 
auch genau trifft und um sich vcccore vorher nochmal anzusehen.
Alle Glättungkondensatoren sind/werden so gut wie möglich positioniert.

Wenn ein wissender in der Stimmung ist noch ein wenig zu schreiben, 
könnte dieser ja gerne ein paar Worte über Induktivitäten verlieren. 
UG393 habe ich überflogen.
Bei meinen µC Projekten habe ich meist nur mit kleinen Ferit Perlen 
rumgemacht, da bei einem durchdachten Design waren Störungen von vorne 
herein zu minimal um Probleme zu machen.

Daumen drücken für einen baldigen Erfolg

Höchste Zeit zum schlafen.

nochmal Danke und

Grüße

MasterQ

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

Mit einem FT(2)232H kann man den Spartan und das Flash programieren 
(z.B. svn co https://xc3sprog.svn.sourceforge.net/svnroot/xc3sprog 
xc3sprog) und im synchronous Fifo Mode Daten mit bis zu 20 MByte zu PC 
oder in das FPGA pumpen. XC3sprog programmier Flash direkt aus dem 
Bitfile. Ein FT(2)232H sollte daher eine Ueberlegung wert sein...

von X- R. (x-rocka)


Lesenswert?

Felix H. schrieb:

> Ein Oszillator wird nicht integriert.

Schlechte Idee.
Desweiteren: unbedingt SPI-Flash zum booten drauf. Das ist wesentlich 
angenehmer, als ständig über JTAG zu booten.

> Bei meinen µC Projekten habe ich meist nur mit kleinen Ferit Perlen
> rumgemacht, da bei einem durchdachten Design waren Störungen von vorne
> herein zu minimal um Probleme zu machen.

Ich habe gerne beim ersten Board mit neuem Chip in jeder Stromversorgung 
eine kleine Ferritperle. Kann man immer noch durch 0 bis x Ohm ersetzen, 
Strom messen, andere Spannung besser dran fädeln etcpp.
Habt ihr euch die Abblockkondensator-Empfehlungen angesehen? Haltet euch 
erstmal dran, runternehmen kann man immer noch.

Grundsätzlich würde ich auch ein fertiges Board empfehlen, aber wenn ihr 
Spass dran habt.

von Mani (Gast)


Lesenswert?

Sagt mal, gibt es eigentlich irgendwo eine Übersicht, mit welcher frei 
verfügbaren Software Spartan 6 programmiert werden können?

Ich meine früher gab es da soetwas, das nur die "kleineren" Devices mit 
ISE / Webpack programmiert werden konnten. Ist das heute immer noch so? 
Ich finde hierzu keine Übersicht :(

von Höffi (Gast)


Lesenswert?

geht bis LX75 alles drüber nicht.

von Michael D (Gast)


Lesenswert?

Hallo,

ich bin auch gerade dabei ein Basisdesign für Spartan 6 zu entwerfen. 
Was ich bisher noch nicht gefunden habe, ist eine Empfehlung zur 
Auslegung des Spannungsreglers für die Corespannung. Also mit wieviel 
Strom man bei welchem Device rechnen sollte. Ich hab da bisher nur 
Ruhestromangaben gefunden. Hat da jemand eine Quelle oder 
Erfahrungswerte?

Gruß

von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

Vielleicht ist es als Vorlage interessant.

http://ultra-embedded.com/fpga_audio

von Mani (Gast)


Lesenswert?


von Bernd S. (Gast)


Lesenswert?

Stromaufnahme:

Es gibt von Xilinx ein Excel-Sheet und ein in ISE integriertes Tool um 
für das fertige Design die Power Consumption auszurechnen. Ich bin mir 
fast sicher, da wird auch die Stromaufnahme für die Core-Spannung 
angezeigt.

von hp-freund (Gast)


Lesenswert?

http://www.sioi.com.au/download/FS60X-Manual.pdf

Unten auf der Seite steht etwas zum Stromverbrauch.

von Rene B. (themason) Benutzerseite


Lesenswert?

Wenn ich das richtig sehe sind bei den sioi Boards aber nicht die 
Spannungsregler für die Core Spannung drauf, oder ?
Ansonsten sehen die Boards aber schon schnuckelig aus.
Ich glaub ich lass mich auch noch mal dazu hinreissen ein neues FPGA 
Board zu basteln :-)
Natürlich ebenfalls mit Audio-Funktionalität :-)

von Michael D (Gast)


Lesenswert?

Hallo,

danke erst mal für die Info. Xpower ist bekannt, allerdings kenne ich 
das finale Design noch gar nicht. Bin ehr auf der Suche nach groben 
Richtwerten, so wird das bei den ganzen Evaluation Boards ja vermutlich 
auch gemacht werden (müssen). Der Ziel FPGA wäre auch ehr so in der 
Region LX75. Bei den großen Virtex 6 kommen wohl durchaus Ströme bis in 
die Region von 30A zusammen, daher weiß ich nicht, ob man das bei den 
Spartan 6 einfach locker sehen kann..
Hast du eventuell nen Link zu dem Xilinx Exel Sheet?

Gruß und Danke,
 Michael

von Felix H. (masterq)


Lesenswert?

Hallo liebe Leute,
unser Finales Design ist leider immer noch nicht fertig, da wir große 
Probleme hatten, mit rauschen und hochfrequente Sinus Schwingungen auf 
der 1,2V core Voltage jetzt ist. Wir wollen lieber auf Nummer sicher 
gehen.
Und jetzt sind erst mal Oster Ferien, unsere Familien wollen 
Aufmerksamkeit.

@ Michael H:
Ich bin von bis zu 160 mA auf core ausgegangen, unser Netzteil schafft 
jetzt allerdings 500 mA mit weniger als 60 mV Spannungs Einbruch. Die 
Quelle dieser Information kann ich dir leider nicht mehr nennen, es war 
irgendeine Dokumentation von einem der Fertigboards, mit dem nächst 
größeren FPGA. Wir haben Netzteile aufbaut und sie mit dem Oscilloscope 
und Messgerät mit variabler Last durch gemessen. Den hochfrequenten 
verbrauchen, haben wir auf Grund von mangelnden Mittel nicht simulieren 
können.
Grundsätzlich kann ich empfehlen am Ausgang einen Widerstand gegen GND 
zu führen um einen mindestens 1 mA oder was bei dir auch nötig sei, 
Verbraucher zu Simulieren. Im Leerlauf hat man oft nicht erwünschte 
Spannungen auf den Netzteilen. Und es kann beim FPGA zu einem dem sehr 
ähnlichen Zustand kommen.

X- Rocka schrieb:
>> Ein Oszillator wird nicht integriert.
>
> Schlechte Idee.
> Desweiteren: unbedingt SPI-Flash zum booten drauf. Das ist wesentlich
> angenehmer, als ständig über JTAG zu booten.

ich würde gerne noch einen Installieren, es ist auch noch problemlos 
möglich, jedoch bin mir völlig unsicher welchen ich nehmen soll. Meine 
Kollegen, haben den Clocking guide gelesen, und meinten eindeutige 
Information über die Art des Oszillator wäre dort nicht zu finden. 
Wahrscheinlich weil ja alles mögliche gerade Clock seien könnte. Deshalb 
meine Schlussfolgerung Clock kommt von Außen.
Hat da jemand vielleicht eine Empfehlung?
Typ und Frequenz.
Ich dachte an einen 20 MHz Quarzoszillator. Kann aber auch völliger 
Unsinn, aber da man die Clock ja glaube ich fast beliebig Skalieren kann 
sollte ja gerade gut und schlecht genug sein oder?
Gerne würde ich auch einen nehmen der eine niedrigere Frequenz hat. 
Damit ich nicht so große Probleme mit dem Boardlayout bekomme. 2 Layer 
sind halt 2 Layer. Mehr habe ich nicht.

Flash Speicher wird ein Modul, mit einer kleinen Buchse. Ich muss das 
erst mal testen bevor ich da irgendwas drauf löte. Sonnst gibt es 
nachher zu viele Fehler Quellen. Im nächsten Design kommt es dann sicher 
direkt drauf.

X- Rocka schrieb:
> Habt ihr euch die Abblockkondensator-Empfehlungen angesehen? Haltet euch
> erstmal dran, runternehmen kann man immer noch.

Angesehen ja, halten wollte ich mich auch gerne daran. Aber ich weiß 
nicht ob ich dann noch das Routing hinbekomme, das würde für mich heißen 
das ich fast vor jeder Strom Versorgung 4 Teilchen haben müsste. 4,7 µF 
0,47 µF 100 nF und das Ferit Perlchen.
Vielleicht ist die Lösung einfach ein etwas größeres SMD Pad zu nehmen 
und 3 Kondensatoren drauf zu löten. Sollte doch eigentlich kein Problem 
sein oder?

Uwe Bonnes schrieb:
> Mit einem FT(2)232H kann man den Spartan und das Flash programieren
> (z.B. svn co https://xc3sprog.svn.sourceforge.net/svnroot/xc3sprog
> xc3sprog) und im synchronous Fifo Mode Daten mit bis zu 20 MByte zu PC
> oder in das FPGA pumpen. XC3sprog programmier Flash direkt aus dem
> Bitfile. Ein FT(2)232H sollte daher eine Ueberlegung wert sein...

Richtig guter Tipp, vielen dank, aber Onboard auch frühestens beim 
nächsten Modell. Gleicher Grund Gedanke, erst mal den Kern verstehen und 
dann mit Addons zu klatschen. Wobei ein Board das man einfach an einen 
beliebigen USB ranklatschen kann um es Konfigurieren, ist natürlich cool 
ich freue mich darauf wenn es soweit ist.

Immer noch bin ich für Kritik und Vorschläge offen, und ich freue mich 
über die Vielen hilfreichen und informativen Beiträge.

Vielen dank

MasterQ

von Michael D (Gast)


Lesenswert?

Hier mal die Teile, die bei mir soweit ausgewählt sind:

Coresystem
----------
1x FPGA: XC6SLX45-2FGG484C (Farnell: 1876241)
1x Config-ROM: M25P32 (Farnell: 1099666)
1x Oszillator: FXO-HC536R-50 (Farnell: 1641047)

1.2V Power Supply
-----------------
1x Regler: LM2853MH-1.2 (Farnell: 1564776)
1x Spule: 4,7µH 3.3V->1.2V Regler (Farnell: 1828049)
1x Kondensator: 1 uF Bypass 3.3V->1.2V Regler (Farnell: 1759479)
1x Kondensator: 47 uF Eingang 3.3V->1.2V Regler (Farnell: 1886100)
1x Kondensator: 220 uF Ausgang 3.3V->1.2V Regler (Farnell: 1432327)

Gruß

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


Lesenswert?

Mani schrieb:
> Sagt mal, gibt es eigentlich irgendwo eine Übersicht, mit welcher frei
> verfügbaren Software Spartan 6 programmiert werden können?
> Ich finde hierzu keine Übersicht :(
Ähmmm...
Es wurde zwar schon geantwortet, aber ich hatte es zuvor schon verlinkt 
im Beitrag "Re: Spartan 6 mit minimal beschaltung"

von Christian R. (supachris)


Lesenswert?

500mA sollten für den mickrigen Spartan 6 den ihr nehmen wollt, 
eigentlich reichen. Den Oszillator würde ich auf jeden Fall vorsehen und 
an einen GCLK Eingang anschließen. Was du dann drauf lötest ist ja dann 
immer noch deine Sache. Ohne Clock ist so ein FPGA quasi nutzlos.
Den Flash auf jeden Fall auch mit drauf, die genaue Anschlussbelegung 
ist im Configuration User Guide zu finden, da kann man eigentlich nix 
falsch machen. Und die beiden M-Pins für den Bootmode per Lötbrücke oder 
so machen.
Im Power User Gude gibts übrigens auch jede Menge wichtige Tipps. Es 
hilft auch, mal ein Demo-Board mit dem oder einem ähnlichen Spartan 6 
anzuschauen, gerade in bezug auf die Auslegung der Schaltregler.

von Fragen kost' nix (Gast)


Lesenswert?

In den Weiten des WWW habe ich dieses Dokument gefunden: 
http://embeddedprojects.googlecode.com/svn/trunk/700343_CPLDStarterkit/Anleitung/700343_AnleitungCPLDStarterkit_V101.pdf 
(eigentlich hätte ich garnicht so weit in die Ferne schweifen müssen...)

Meine Frage daraus wäre jetzt, ob ich mit dem USBprog auch den Spartan 6 
via JTAG programmieren könnte und wenn ja, auch mit "nicht" Linux?

von Rene B. (themason) Benutzerseite


Angehängte Dateien:

Lesenswert?

Wie weiter oben schon angedeutet hab ich mich mal ebenfalls an einem 
Board versucht, nachdem ich ja schon erfolgreich mehrere kleine Spartan 
3 Boards gebastelt hab.

Ich hab über Ostern da mal was in Eagle gepinselt. :-)

Rausgekommen ist ein Schaltplan mit Minimalbeschaltung für den Spartan 
6.
Ich hab mich ein bissl an den Schaltplänen von dem SOIO Board und dem 
FPGA-Audio-Board von Ultra Embedded orientiert.
Als Flash hab ich den M25P40 vorgesehen, als 1.2V-Regler einen LD1117.
Für jedes VCCO/VCCINT/VCCAUX-Paar hab ich einen Kondensator vorgesehen.
Die Boot-Mode-Pins sind auf 10 festgelegt (also das der vom SPI-Flash 
aus bootet). Auch ein Quarz-Oszillator ist vorhanden.
Vllt kann ja jemand damit was anfangen. Für konstuktive Kritik bin ich 
immer offen. Das Board ist so gesehen schon weiter, aber ich wollte 
erstmal grundsätzlich (und passend zu diesem Thread) was zu meinem 
Schaltplan bzw dem Spartan 6 fragen.

Da hab ich dann auch direkt 3 Fragen. Ich hab hier meine ich gelesen das 
man den SPI-Flash auch über JTAG indirekt programmieren kann.
Ginge das dann über das iMPACT, das der über JTAG die FPGA-Pins wackeln 
lässt die dann den Flash programmieren ?
Wäre es nicht ebenso über den PROGRAM_B Pin möglich ? Das der Pin auf 1 
(wars glaub ich) gezogen wird, und alle FPGA-Pins in den Tri-State gehen 
und man mit einem ext. uC den Flash-Programmieren kann ? Zumindest habe 
ich meine ich sowas in der Richtung in dem Configuration User Guide 
gelesen.
Und die dritte Frage bezieht sich auf das Layout : Wäre es (EMV-mäßig) 
eine "Sünde" den 1.2V Regler nebst Abblock-Kondis unter (!) den FPGA zu 
flanschen ? Oder besteht die Gefahr das durch Einstreuungen der FPGA 
ausm tritt kommt, oder der Regler irgendnen Murks macht ? Masseflächen 
wären vorhanden.

von Christian R. (supachris)


Lesenswert?

Rene B. schrieb:
> Da hab ich dann auch direkt 3 Fragen. Ich hab hier meine ich gelesen das
> man den SPI-Flash auch über JTAG indirekt programmieren kann.
> Ginge das dann über das iMPACT, das der über JTAG die FPGA-Pins wackeln
> lässt die dann den Flash programmieren ?

Ja genau so geht es. Impact lädt ein kleines Mini-Design in den FPGA, 
was die Umsetzung von JTAG auf SPI macht.

> Wäre es nicht ebenso über den PROGRAM_B Pin möglich ? Das der Pin auf 1
> (wars glaub ich) gezogen wird, und alle FPGA-Pins in den Tri-State gehen
> und man mit einem ext. uC den Flash-Programmieren kann ? Zumindest habe
> ich meine ich sowas in der Richtung in dem Configuration User Guide
> gelesen.

Das geht auch, ist dann SPI Direct Programming. Der Status der Pins ist 
abhängig von der Beschaltung des HSWAPEN Pins, steht auch im Config User 
Guide. Allerdings brauchst du dann einen SPI-Programmer plus Software, 
Impact kann das nicht (mehr) direkt.

von MasterQ (Gast)


Lesenswert?

@Rene habe mir dein eagle file angeschaut, das sieht sehr interessant 
aus, habe aber ein paar fragen:

Du hast den oszillator an die userclock angeschlossen
Nach meinem Verständnis ist die ausschliesslich als externe clock für 
die konfiguration gedacht. Und damit auch nur nötig, wenn man einen der 
master modes zur konfiguration verwenden möchte. Und dabei könnte man ja 
sogar die interne configuration clock verwenden.

1.) War das von dir als externe configuration clock gedacht, oder habe 
ich das evtl. ganz falsch verstanden?

Ich frage mich stattdessen eher, ob wir eine (oder sogar mehrere) clocks 
als takt für die logischen schaltungen bereistellen muss, die wir mit 
dem fpga später erst entwerfen.
Ich weiss aber ja noch gar nicht, was für clocks wir da brauchen werden. 
das ganze soll ja universell sein.

2. )Sollte man dafür einen oder mehrere oszillatoren pauschal schonmal 
aufs board packen? oder reicht es, diese dann wirklich von aussen an die 
gclock eingänge zu legen?

3.) Ab welcher Frequenz würde das problematisch werden? bzw. wie hoch 
kann man mit dem takt überhaupt gehen? leider sagt der clocking guide 
(ug382) da nichts konkretes drüber aus.

Danke!

MasterQ

von Christian R. (supachris)


Lesenswert?

MasterQ schrieb:

> Du hast den oszillator an die userclock angeschlossen
> Nach meinem Verständnis ist die ausschliesslich als externe clock für
> die konfiguration gedacht.

Das ist auch ein GCLK Eingang, somit völlig OK.

> 2. )Sollte man dafür einen oder mehrere oszillatoren pauschal schonmal
> aufs board packen? oder reicht es, diese dann wirklich von aussen an die
> gclock eingänge zu legen?

Lieber einen Oszillator aufs Board. Kannst ja einen oder zwei der 
restlichen GCLK auf die Anschlussleisten nach außen legen.
Für den Anfang reicht garantiert ein Takt.

> 3.) Ab welcher Frequenz würde das problematisch werden? bzw. wie hoch
> kann man mit dem takt überhaupt gehen? leider sagt der clocking guide
> (ug382) da nichts konkretes drüber aus.

Die maximale Frequenz des globalen Taktnetzes und der Takt-Eingänge 
steht im Datenblatt, nicht im User Guide.

von Rene B. (themason) Benutzerseite


Lesenswert?

@Chris

>Ja genau so geht es. Impact lädt ein kleines Mini-Design in den FPGA,
>was die Umsetzung von JTAG auf SPI macht.

Achso, es wird nicht per JTAG an den FPGA-Pins gewackelt, sondern über 
ein separates Design der Flash-Baustein programmiert.

>Allerdings brauchst du dann einen SPI-Programmer plus Software,
>Impact kann das nicht (mehr) direkt.

Macht nix, das würd ich über nen AVR machen der ohnehin mit aufs Board 
kommt um den FPGA zu programmieren und steuern.

@MasterQ

>das sieht sehr interessant aus

Danke schön :-)

Das fertige Design bekommt dann noch nen SDRAM, nen Audio-Codec und nen 
AVR :-) Wird dann der Nachfolger meines Audio-Projektes. Vllt leg ich 
das ganze mal neu auf.

Zu den Clocks :

Ich hab mir angewöhnt bei meinen Boards immer mindestens einen 
Quarz-Oszillator zu verwenden. Ich find das immer sauberer einen 
System-Clock zu haben und für z.b. Audio dann noch weitere Oszillatoren. 
Erspart einem einfach Ärger.

> 3.) Ab welcher Frequenz würde das problematisch werden? bzw. wie hoch
> kann man mit dem takt überhaupt gehen? leider sagt der clocking guide
> (ug382) da nichts konkretes drüber aus.

Es hängt ja auch sehr stark vom Design ab. Wichtig sind in dem 
zusammenhang halt die Delayzeiten der Gates und der Interconnects. Aber 
das rechnet WebPACK ja (grob) aus. Und daraus ergibt sich auch deine max 
Takt-Frequenz.

von Bernd S. (bernd_s)


Lesenswert?

IMPACT 11.4 kann das direkte SPI flashen noch... Man kann diese Version 
auch parallel zu der neuesten installieren...

In neueren IMPACT-Versionen wurde der direct SPI mode rausgenommen. Soll 
aber angeblich in zukünftigen Versionen wieder unterstützt werden, 
natürlich habe ich kein Datum, nur die Aussage vom Xilinx-FAE.

von Felix H. (masterq)


Lesenswert?

Achso danke nochmal für eure Hilfe. Ich wollte nochmal melden, dass es 
möglich ist und auch gar nicht so schwerig.
Also wer es probieren möchte, viel spaß, und lasst euch nicht stressen, 
es ist nicht so empfindlich wie das Datenblatt angibt.
So ungefähr reicht auch hier, und für die 1,2V reicht der variable 
Spannungsregler LM317.

Grüße

Felix

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.