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


von Sebastian (Gast)


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!

von Mathi (Gast)


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

von Morin (Gast)


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).

von Sebastian (Gast)


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?

von Falk B. (falk)


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

von Google Nutzer (Gast)


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

von Google Nutzer (Gast)


Lesenswert?


von Peter (Gast)


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.

von Peter (Gast)


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.

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.