Als blutiger FPGA-Anfänger hab ich mal folgende Frage:
Wenn ich das o.g. Parall-Drucker-Kabel nachbaue, kann ich dann jeden
Xilinx FPGA z.B. Spartan 3 und Spartan 3E und auch CPLDs von Xilinx
programmieren bzw. downloaden ?
Ich würde dann, wenn ichs richtig verstanden hab, die kostenlose Impact
Software von Xilinx benutzen und das FPGA wäre betriebsbereit. richtig ?
Ich müsste dann allerdings nach jedem Reset des Xilinx FPGA den Download
wiederholen. Oder ?
Wenn ich also einen FPGA auf eine selbstgemachte Platine mit den
benötigten Betriebsspannungen von 3.3, 1.5, 1.8, 1.2 V einlöten würde
hätte ich im Prinzip ein betriebsbereites Experimentierboard.
Ist eigentlich das Downloaden über die Impact Software nur ein Notbehelf
oder wird aus der ISE heraus als letzter Schritt der FPGA immer über
dieses Programm geladen ?
Wie ist das eigentlich mit dem Quarz ? Auf manchen Experimentierboards
werden Quarze z.B. mit 40 MHz verbaut. Könnte ich z.B. einen Quarz mit
10 MHz benutzen und diesen über interne Taktverdopplung auf sagen wir 40
MHz erhöhen. Wären beide Löstungen gleichwertig oder wo besteht der
Vorteil bzw. der Nachteil beider Lösungen ?
Wenn ich nur kombinatorische Logik und Flip-Flops verwenden würde dann
bräuchte ich doch keinen Quarz oder gibt es eine unbedingte
Notwendigkeit dass in jedem Fall ein externer Takt anliegen muß ?
Herzlichen Dank für alle Antworten
Uiuiui sooo viele Fragen - aber die richtigen sind dabei :-)
Also, die Programmierung des Spartans (II, III oder CPLD ist das selbe)
erfolgt alles über JTAG. Am einfachsten über den Druckerport und einen
Bustreiber, z.B. 2x 74HC125 und ein paar Widerstände. Die Bustreiber
versorgst du mit 5V (an meinem MSP430 mach ich das mit einem
Wiggle-Clone sogar mit 3.3V und es läuft bestens).
Als leitungen des Spartans ZUM PROGRAMMIEREN brauchst du TMS, TDO TDI
TCK, Masse und Vsense (das sind nur 5V, di du der ISE bzw. Impact
vorgaukelst)
Impact ist immer der letzte Schritt, ist aber aus der ISE startbar. Wenn
der Saft vom FPGA weg ist, ist auch das Proggi weg - aber dafür hat so
ein Spartan auch ein SRAM, das beliebig oft beschrieben werden kann. Für
den Download oder einfache logische Proggs brauchst du keinen Quarz. Für
den Anfang reichen ein paar Tastenund ein paar LED's. In ISE
programmierst du das dann mit einfacher Logik, compilierst das Proggund
testest es am besten.
Hier eine nützlicher Link - auch für den Download-Adapter:
http://www.trenz-electronic.de/down/downde5.htm
Die ganze Trenz-Homepage ist da wirklich super!!!
Bis denne,
MG.
Für die Programmierung würde ich ziemlich schnell einmal zum Platform
Flash greifen. Dieses in die JTAG Chain mit reinhängen und das Programm
da rein braten. Beim Start holt sich das FPGA sein Programm dann von
dort und das Board muss nicht bei jedem Start vom PC aus programmmiert
werden.
Zur Taktfrequenz: Du wirst am Anfang auch mit 10MHz glücklich werden,
den Taktverdoppler würde ich (v.a. bei Spartan 3(e) ) erstmal sein
lassen, da dieser eine SEHR stabile Speisung voraussetzt. Sonst könnten
schwer zu findende Fehler auftauchen, die für einen Anfänger nicht
gerade angenehm sind.
Und noch etwas: Für den Spartan 3e brauchst du einen Oszillator, nicht
einen Quarz.
Hallo zusammen,
Danke für euro Antworten. :-))
Nochmal zur Klarstellung ob ichs richtig verstanden hab.
1. Für die den Download braucht man sowohl für Spartan 3 und den 3e
keinen externen Taktgeber.
2. Falls man einen externen Taktgeber verwenden möchte, weil man ein
getaktetes System aufbauen will, dann benutzt man für beide Typen 3 oder
3E keinen Quarz sondern einen Oszillatior.
Ist das so richtig ?
3. Was ist eigentlich der Unterschied zwischen einem Quarz und einem
Oszillator ?
Ich meine jetzt nicht nur technisch gesehen, sondern aus Einsatz/
Anwendersicht. Also welche vor oder Nachteile sind hier zu sehen. ? In
welchen Fällen setzt man das eine oder das andere ein ?
4. Nochmal die Nachfrage bzgl. dem Taktverdoppler
Zitat: Martin Kohler
"den Taktverdoppler würde ich (v.a. bei Spartan 3(e) ) erstmal sein
lassen, da dieser eine SEHR stabile Speisung voraussetzt. Sonst könnten
schwer zu findende Fehler auftauchen, die für einen Anfänger nicht
gerade angenehm sind."
Zitat ende
Was bedeutet hier "sehr stabile Speisung" ???
Ich dachte eigentlich, dass der Vorteil der FPGA Technik gerade darin
liegt, dass man die externen Bauteile weitgend eliminieren kann. Der
Taktverdoppler sollte doch dann auch funktionieren oder was verstehe ich
da falsch. ?
Gruß vom FPGA-Anfaenger
> 1. Für die den Download braucht man sowohl für Spartan 3 und den 3e> keinen externen Taktgeber.> 2. Falls man einen externen Taktgeber verwenden möchte, weil man ein> getaktetes System aufbauen will, dann benutzt man für beide Typen 3 oder> 3E keinen Quarz sondern einen Oszillatior.> Ist das so richtig ?
JA.
> 3. Was ist eigentlich der Unterschied zwischen einem Quarz und einem> Oszillator ?
Ein Oszillator ist ein Bauteil bestehend aus Quarz + Elektronik.Einfach
Spannung dran (5/3.3V) und es kommt ein Takt oder Sinus raus.
Ein Quarz ist nur das frequenzbestimmende Bauteil und braucht zur
Takterzeugung noch Elektronik, welche bei uCs meist integriert ist.
> Anwendersicht. Also welche vor oder Nachteile sind hier zu sehen. ? In> welchen Fällen setzt man das eine oder das andere ein ?
uC laufen meist mit Quarz -> Billiger und platzsparender.
FPGAs brauchen fast immer einen Oszillator.
> 4. Nochmal die Nachfrage bzgl. dem Taktverdoppler> Zitat: Martin Kohler> "den Taktverdoppler würde ich (v.a. bei Spartan 3(e) ) erstmal sein> lassen, da dieser eine SEHR stabile Speisung voraussetzt. Sonst könnten> schwer zu findende Fehler auftauchen, die für einen Anfänger nicht> gerade angenehm sind."> Zitat ende> Was bedeutet hier "sehr stabile Speisung" ???
Keine Ahnung.
> Ich dachte eigentlich, dass der Vorteil der FPGA Technik gerade darin> liegt, dass man die externen Bauteile weitgend eliminieren kann. Der> Taktverdoppler sollte doch dann auch funktionieren oder was verstehe ich> da falsch. ?
Naja, zumindest "solide" soll, nein MUSS, die Spannungsversorgung am
FPGA sein. Sprich, innerhalb der Toleranz (+/-5%) und gut abgeblockt
(100nF Kondensatoren NAH an den Pins).
Der "Taktverdoppler" (heist dort DLL bzw. DCM) läuft erst ab 25 MHz,
drunter is nix. Mach also nen schnellen Quarz drauf, z.B. 50 Mhz. Teilen
kannst du den Takt allemal noch.
MfG
Falk
Herzichen Dank für die Antworten,
ganz toll, dass sich immer wieder jemand findet, um eine Antwort zu
geben. :-))
Hab gestern Nacht mein erstes WEB ISE Projekt von der VHDL Eingabe bis
zum Programmierfile per Impact durchgearbeitet.
( Na ja nur ein kleiner 4 Bit Zähler )
Also irgendwie schockiert mich das schon etwas. !!!!
Die vielen vielen Output Dateien die die Enwicklungsumgebung produziert.
Ihr wißt schon ... vom Constraint file bis sonstwohin *.xyz
Aber Übung macht ja bekanntlich den Meister.
Gruß vom FPGA-Anfänger
Nicht irre machen lassen. Die meisten Files sind interne Dateien der
Software, um die man sich nicht kümmern muss. Für den Designer sind
*.ucf und *.pin die wichtigen.
MFG
Falk
Nimm am Besten Quartus und Altera. Die Umgebung und der design flow sind
logischer und ausserdem hast Du in der free-Version alles, was Du
brauchst, inkluse einem ordentlichen Simulator. Ich habe den am Anfang
gescheut, weil ich auf Cadence Verilog und Mentors Modelsim geeicht war,
doch seit ich den Xilinx Simulator kenne, weis ich den Altera zu
schätzen! Mehr noch: Altera hat sogar den internen Logicanalyzer
Signaltap schon mit drin, währennd man den Chipscope bei Xilinx kaufen
muss.
Was fehlt denn bei Xilinx ISE? Wieso ist es unlogisch? Ausserdem haben
Altera und Xilinx praktisch den selben Simulator, Modelsim. Und wo ist
das Problem? Der ist sehr gut nd Industriestandard.
MfG
Falk