mikrocontroller.net

Forum: FPGA, VHDL & Co. Eistieg in FPGA-Welt


Autor: blackfinman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo zusammen,

ich möchte mich demnächst  mit CPLD/FPGA beschäftigen.
kann mir jemand paar wichtige Links, die mir für die Einarbeitung helfen 
würden ??.
ich würde mir gerne so ein Entwicklungskit zulegen ich weiss aber nicht 
worauf ich achten soll bzw. wo so ein Board zu kaufen ist.

ich wäre euch dankbar, wenn ihr mir dabei helfen könnt.

Autor: nico (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
also erstmal solltest du guggen welche CPLD's bzw. FPGA's du nehmen 
möchtest. Also Xilinx oder Altera. Da gab es auch mal vor kurzem nen 
Beitrag zu nannte sich glaub ich "Xilinx vs. Altera". Danach kannst du 
dann ein passendes Entwicklungs-Kit suchen. Einfach mal bei google was 
eingeben. Auch solltest du dir einfach mal die beiden 
"Entwicklungsumgebungen" von Xilinx bzw. Altera einfach mal runterladen 
und gucken mit welcher du besser klar kommst. Was dann natürlich auch 
ein Auswahlkriterium ist welchen Hersteller du wählst und dann natürlich 
auch welches Entwicklungs-Kit.
Ich selber habe hier ein Xilinx- Spartan 3A Kit und benutze dem nach 
auch das Xilinx ISE. Ich kann dir leider nicht sagen wie es bei den 
Altera Dingern aussieht. Aber ich denke mal jedes Programm hat seine 
Eigenarten mit denen mal leben muss. Bei mir war es z.B so das keines 
der Xilinx Programme lief, wenn ich die WinXP Visual-Themes aktiviert 
hatte. Warum auch immer.
Zum Anfang ist es auch angebracht sich nicht so was großen vor zu 
nehmen.
Mache z.B einfach erstmal ein simples Design in dem einfach nur eine LED 
blinkt. Dann als weiteren Schritt kannst du ja z.B ein Lauflicht machen. 
Was man dann ja auch weiter Ausbauen kann z.B mit Tastern wo man die 
Geschwindigkeit regeln kann. Und wenn du Hilfe brauchst ist google meist 
das beste.
Was auch ganz hilfreich zum lernen ist, so mache ich das jedenfalls (bin 
ja auch noch nicht so lange bei den FPGA's), ist das du dir einfach mal 
ein Design runterlädst aus dem Netz. Es z.B Ausdruckst dich hinsetzt und 
es Stücl für Stück auseinander nimmst. Guckst was macht dieser Befehl 
was ist wenn...
Dann kannst du auch das Design in den FPGA brutzeln ung gucken wie es 
sich in der Hardware verhält. Dann kannst du, wenn du weisst wie es 
funktioniert und was es macht, einfach mal anfangen an dem Design "rumzu 
spielen", verändere es oder erweitere es. Und als letzten Schritt machst 
du ein eigendes Design. Also wenn du z.B das Design eines Lauflichts 
analysiert hast und glaubst die Funktion verstanden zu haben, pack alles 
was zu dem runtergeladenen Design gehört weg und versuche ein eigenes zu 
machen. Und nur wenn es nicht Funktioniert, kannst du ja einen Blick auf 
dein Referenz Design werfen, aber auch nur dann.


Gruß
Nico

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder du lässt den ganzen (leicht übertrieben) Rotz aus dem Netz bei 
Seite und kaufst dir ein oder zwei Bücher über digitales 
Schaltungsdesign. Vorlesungsskripte sind manchmal (!) auch von guter 
Qualität. Wenn du nur Lauflichter erzeugen willst, funktioniert die 
Methode von nico auch. Sobald es komplizierter wird, braucht es aber 
"etwas" mehr Hintergrundwissen, sonst werden aus deinem Synthesizer 
etliche Latches und asynchrone Logik purzeln.
Der Synthesizer wird bei mir grundsätzlich erst nach erfolgreicher 
Verifikation angeworfen. Ein Design einfach mal in das FPGA zu laden 
kann in Verbindung mit entsprechender Peripherie sehr schnell zu kleinen 
Rauchwölkchen führen. Und bei den Preisen der Boards wäre das wohl sehr 
ärgerlich und kann einem den Spaß gehörig vermiesen.
Das runterschreiben in einer HDL ist dann eigentlich nur noch 
Nebensache.

Autor: Meister Eder (edson)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Oder du lässt den ganzen (leicht übertrieben) Rotz aus dem Netz bei
>Seite und kaufst dir ein oder zwei Bücher über digitales
>Schaltungsdesign.

@Frank

Kannst Du irgendwelche Literatur besonders empfehlen?

Gruss,
Edson

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe das Glück, bei einem sehr erfahrenen Prof. VHDL lernen zu 
können. Aus den Mitschriften wird man schon einigermaßen schlau, 
weswegen ich mich bis jetzt um ein Buch gedrückt habe. Leider ist sein 
Skript nicht öffentlich zugänglich und das werde ich respektieren. Uns 
wird aber empfohlen:

P. Ashenden: VHDL-Cookbook (gibts als PDF, göögle)
Lehmann, Wunder, Selz: Schaltungsdesign mit VHDL
Henessey, Patterson: Computer Architecture

Ein Kommilitone ist von
Reichardt, Schwarz: VHDL Synthese
ganz angetan.

Aus persönlicher Erfahrung weiß ich, dass das Problem an der ganzen 
Sache weniger das schreiben des VHDL-Codes ist, als vielmehr die 
Umstellung der Denkweise von Programmieren nach Hardwarebeschreibung. 
Man sollte (muss?) in Registern und Multiplexern denken, streng 
synchrone Designs machen und dergleichen.

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pedroni: Circuit Design with VHDL
ist auch nicht schlecht. Es ist mehr ein Tutorial mit vielen kleine 
Beispielen, als eine streng formale Sprachbeschreibung. Aber das ist zum 
Lernen (für den Anfang) gar nicht schlecht.

Die neue Ausgabe von Reichardt, Schwarz sollte ja im April erscheinen -- 
kommt wohl aber erst im Ausgust raus.

Autor: Ephi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was versteht man überhaupt unter synchronen desings?

ich kenn das nur von analogen audioleitungen her..

Autor: Christian Peters (kron)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dieses Buch hat mir sehr für das Verständnis von
Hardwareprogrammierung geholfen:

http://www.amazon.de/VHDL-Eine-Einf%C3%BChrung-Pau...

Fängt super an, zieht eine klare Linie zwischen Synthese und Simulation
und verpackt nichts komplizierter als es ist.

@Ephi: Synchron heißt, dass sich alle Signale bei einer
Flankenänderung einer Clock ändern und nicht einfach "irgendwann".
So hat man, einfach und unvollständig gesagt, immer die Sicherheit,
dass alle Signale den gewünschten Zustand haben.
Also bei einer steigenden Flanke (also von 0 auf 1) setze ich z.B. ein
Signal auf 1, und bei der nächsten steigenden Flanke ist
dieses Signal dann auch 1, und zwar überall, wo es anliegt und gebraucht 
wird.
Such mal nach dem Thread "Synthesefähiger Code" oder so, da
steht viel dazu (und allgemein viel Einsteigernützliches).

Autor: Meister Eder (edson)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich werd mit der Denkweise glaub ich, ganz gut zurechtkommen. Vielen 
Dank für die zahlreichen Tips!

Gruss,
Edson

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.