mikrocontroller.net

Forum: FPGA, VHDL & Co. Hilfe bei VHDL Projektidee


Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich plane momentan eine Studienarbeit. Dabei möchte ich einen FPGA von 
Altera verwenden. Dieser soll zwei Ethernetschnittstellen haben, über 
die er Frames empfangen und senden kann. Desweiteren soll der FPGA einen 
Display ansteuern und über mehrere Schalter bedient werden können. Kann 
man das alles mit einem FPGA machen, oder brauche ich noch einen anderen 
klassischen Prozessor um die Bedienelemente anzusteuern?

Meine Probleme dabei sind eigentlich ganz Grundlegend. Ich brauche 
erstmal eine gute Einführung in VHDL. Dann müsste ich mich ja auch für 
einen bestimmten FPGA entscheiden. Dachte dabei an einen Cyclon 2. Ich 
weis noch nicht ob ich ein Testboard verwede oder doch ein eigenes Board 
designe. Dabei habe ich dann wieder das Problem, dass ich einen 
Professionellen bestücker brauche. Oder ich könnte einen FPGA Typ 
einsetzen der entweder gesockelt werden kann oder noch per hand zu löten 
ist.

Kennt ihr eine Seite wo ich beispiellayouts finden kann, die man selber 
einfach nachbauen kann?

Danke für eure Hilfe!

Autor: Mathi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf den ersten Blick scheint das alles mit einem FPGA machbar. Die Frage 
ist was Du mit den Frames alles machen willst und welche Einstellungen 
Du vornehmen möchtest. Danach richtet sich stark welches FPGA Du wählen 
musst.
Als Buch zum Thema kann ich Dir nur von Ashenden den "Designers guide to 
VHDL" empfehlen.
Ich vermute mal das Du keinen sooo großen Pincount brauchen wirst. 
Deswegen solltest Du auf ein BGA verzichten können. Das macht die Sache, 
mit etwas Übung, gut lötbar.

Mfg,
 Mathi

Autor: Morin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Kann man das alles mit einem FPGA machen, oder brauche ich noch einen anderen
> klassischen Prozessor um die Bedienelemente anzusteuern?

Ja, du kannst alles mit einem FPGA machen, vorausgesetzt er ist "groß" 
genug, d.h. hat genügend Logikressourcen. Du kannst im Zweifel, d.h. 
wenn du einen klassischen Prozessor brauchst, einen solchen mithilfe der 
FPGA-Ressourcen implementieren. Das Prinzip nennt sich "Softcore", und 
entsprechende CPU-Implementierungen in VHDL gibts diverse fertige, die 
du einfach benutzen kannst. Auf www.opencores.org müsstest du einige 
finden. Du solltest aber vorher prüfen, ob es ein einfacher 
Zustandsautomat nicht auch tut, da dieser wesentlich weniger 
Logikressourcen benötigt.

Zur Erläuterung des Begriffs "Softcore": Das Gegenstück, "Hardcore" 
genannt, beschreibt einen Prozessor, der nicht mit Hilfe der 
FPGA-Logikressourcen, sondern als fertige Schaltung neben den 
Logikressourcen fest auf dem FPGA-Chip implementiert ist. Evtl. hat dein 
Ziel-FPGA so etwas - das solltest du vorher prüfen.

> Ich weis noch nicht ob ich ein Testboard verwede oder doch ein eigenes Board 
designe.

Nimm lieber ein Testboard. Was du dir vorgenommen hast ist für eine 
Studienarbeit schon einiges, auch ohne dass du ein eigenes Board 
entwerfen musst. (Natürlich vorausgesetzt dein Prof akzeptiert das).

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mh, das klingt ja schonmal gut!
Wie ich erfahren haben, liegt bereits eine Implementierung für die 
Ethernetschnittstelle vor. Meine Aufgabe bestände also darin, eine 
Benutzschnittstelle mit einigen Tasten und Drehknöpfen und einem Display 
zu erstellen.

Wie realisisert man die ansteuerung von Display und Tasten?

Könnte ich in einen FPGA auch einen AtMega realisieren? Den könnte ich 
doch dann zur Steuerung der Tasten und des Displays nehmen. Oder ist das 
zu umständlich?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Sebastian (Gast)

>Ethernetschnittstelle vor. Meine Aufgabe bestände also darin, eine
>Benutzschnittstelle mit einigen Tasten und Drehknöpfen und einem Display
>zu erstellen.

Das ist schon eher in dem Rahmen machbar.

>Wie realisisert man die ansteuerung von Display und Tasten?

Mit Zustandsautomaten, auch Finite State Machine genannt (FSM).

>Könnte ich in einen FPGA auch einen AtMega realisieren?

Im Prinzip ja.

> Den könnte ich doch dann zur Steuerung der Tasten und des Displays nehmen.
> Oder ist daszu umständlich?

Definitiv.

MFG
Falk

Autor: Google Nutzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.opencores.org/projects.cgi/web/avr_core/overview

Da ist der AVR Core ...
mit copy & paste der Adresse und ein Klick auf Projects --> 
Microcontroller hättest du die Antwort auch selbst gefunden

Autor: Google Nutzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Sebastian: Du hast dir viel vorgenommen. Ein Display läßt sich 
sicherlich auf einem ARM oder AVR leichter programmieren als in VHDL. 
Ethernetschnittstelle bringt auch sehr viel Arbeit mir sich, evtl. wird 
dir die Hardwareschicht schon genug Arbeit machen, TCP oder UDP im 
Rahmen der Studienarbeit kannst du vergessen, zumal wenn du VHDL nicht 
im Schlaf programmieren kannst. Da dauert alleine schon die Realisierung 
einer einfachen I2C Schnittstelle in VHDL länger als in C auf einem 
Mikrocontroller. Falls du doch mit einem FPGA was machen wollen würdest, 
schaue dir die Lattice FPGAs an, die sind recht günstig und für dein 
Vorhaben schnell genug.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Google Nutzer:
VGA/LCD Core ist nicht in VHDL programmiert.
Ethernet Core wird ihn überfordern, da würde ich mich als mehr oder 
weniger als Erfahrener nicht rantrauen.

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.