Forum: FPGA, VHDL & Co. Allgemein: Einstieg mit IP Cores


von Max D. (maxwell86)


Lesenswert?

Hallo zusammen,

ich habe leider keinerlei Erfahrung mit FPGAs, komme aus der 
Mikrocontroller-Ecke. Nun möchte ich eine anspruchsvolle 
Echtzeitvideoanwendung mit einem FPGA lösen. Konkret geht es um eine 
Überlagerung zweier Videosignale, von denen eines mit einer alpha-maske 
versehen wird. Mir ist bewusst, dass ich das als Anfänger nciht einfach 
lösen kann, habe aber folgende Seite gefunden:

http://www.zipcores.com/skin1/zipdocs/datasheets/vid_overlay.pdf

Leider habe ich aber keine Vorstellung, wie ich mir das "Produkt" 
vorzustellen habe. Habe ich es richtig verstanden, dass es sich im 
prinzip hierbei und "Quellcode" handelt, den ich dann verwenden darf? 
Wenn ja, worauf wird der ausgeführt? Gibt es vorraussetzungen für das zu 
verwendende Entwicklungsboard? Wie wird die ganze Hardwareanbindung 
(Video in, Video out, Steuerung) erledigt?

Wäre schön, wenn mir hier jemand einen ersten Anstoss geben könnte.

Danke euch!

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


Lesenswert?

Max Dhom schrieb:
> Nun möchte ich eine anspruchsvolle Echtzeitvideoanwendung
> mit einem FPGA lösen.
Was hast du bisher mit FPGAs gemacht?

> Leider habe ich aber keine Vorstellung, wie ich mir das "Produkt"
> vorzustellen habe. Habe ich es richtig verstanden, dass es sich im
> prinzip hierbei und "Quellcode" handelt, den ich dann verwenden darf?
Üblicherweise nicht.
Du bekommst irgendein Softwarepaket, in dem du eine begrenzte Anzahl 
Einstellungen machen kannst und wo zum Schluss eine Netzliste zum 
Einbinden in dein Design herauspurzelt.

> Wenn ja, worauf wird der ausgeführt?
Du brauchst die Entwicklungsumgebung für das FPGA auf dem PC. Auf diesem 
wird alles zusammengebracht und für das Zielsystem übersetzt.

> Gibt es vorraussetzungen für das zu verwendende Entwicklungsboard?
Nein, das ist sowieso dritt- oder viertrangig. Die Anpassungen an deine 
Hardware musst du sowieso selber machen.

> Wäre schön, wenn mir hier jemand einen ersten Anstoss geben könnte.
Der Core, den du da hast, wird nur einen kleinen Bruchteil deiner 
Aufgabe lösen. Den für eine bestimmte Plattform selber zu machen ist 
geschätzt ein Aufwand von bestenfalls 3 Tagen...
Du hast schon erkannt, dass das ganze Drumrum auch noch eine Menge 
Arbeit ist:
> Wie wird die ganze Hardwareanbindung (Video in, Video out, Steuerung)
> erledigt?
Das machst du selber. In einer Hardwarebeschreibungssprache (VHDL, 
Verilog...).


> Mir ist bewusst, dass ich das als Anfänger nciht einfach lösen kann
Jeder war mal Anfänger.
Nur solltest du als Anfänger nicht versuchen, aus dem Stand so ein 
Projekt zu stemmen. Das geht garantiert schief. Wetten?

Wenn ich hier Anfänger (aka. Praktikanten) aus Hochschulen habe, dann 
dürfen die erst mal Lauflichter und einfache serielle Schnittstellen 
machen. Mit Händchenhalten und etwas Glück kommen wir in den 3 Monaten 
dann zu einer halbwegs sinnvollen Anwendung, in der ein simples 
VGA-Spielchen (Pong) einen lokalen Höhepunkt darstellt. Und die Jungs 
hatten nach eigenen Worten vorher schon 2 Semester VHDL programmiert... 
:-o

von Phil (Gast)


Lesenswert?

Kann das sein, dass du von diesem Modul sprichst:
http://www.zipcores.com/digital-video-overlay-module.html
Das kostet immerhin 3000$, is auch nicht ganz ohne ;-).
Ich würde an deiner Stelle erst mal mit paar kleinen Programmen anfangen 
und mich vorarbeiten. Wenn du dann soweit bist, wirst du sehen, dass so 
ein video overlay modul auch kein Hexenwerk ist und du dir das auch 
selbst schreiben kannst ;-). Und das schreiben ist ja nur die halbe 
Miete, wie bereits erwähnt macht das drum herum (Entwicklungsumgebung) 
auch noch bisschen arbeit.
Viel Erfolg noch ;-).
Gruß Phil

von Kest (Gast)


Lesenswert?

Als Anstoß:

nimm die VIP-Suite von Altera. Damit kannst Du das auf jeden Fall 
machen. Für den Anfang brauchst Du nicht mal zu bezahlen -- kannst halt 
keine Programmierdatei erstellen, mit dem JTAG läuft aber alles wie 
gehabt.

Ein bisschen musst Du da selber auch machen, aber im Prinzip, wenn 
In/Out läuft, dann ist es nur zusammenklicken und z.B. mit NIOS 
einstellen.
Wenn Du (noch) keine Hardware hast, kannst Du alles mit ModelSim 
simulieren und vielleicht sogar in eine BMP-Datei reinschreiben.
Du hast absolut keine Kosten und kannst Dich austoben. Wenn Du 
allerdings dann alles wirklich verweden möchtest, dann musst Du Dir die 
VIP-Suite kaufen. Dafür ist da sehr viel Zeug drin (Input, Output, 
Framebuffer, Deinterlacer, Interlacer, Scaler, Color Space Converter, 
...)
Wenn irgendwas fehlt, kann man dan eigene Cores schreiben, die dann 
(wenn man mit dem Protokoll konform geht) einfach einsetzbar sind.


Grüße,
Kest

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


Lesenswert?

Kest schrieb:
> Ein bisschen musst Du da selber auch machen...
Bitte nicht untertreiben.
Kurz und knackig: es wird (auch mit vorgefertigten Modulen) ohne 
grundlegende FPGA- und VHDL-Kenntnisse ein steiniger Weg werden.

> Du hast absolut keine Kosten und kannst Dich austoben.
Es kostet Zeit! Und nicht zu wenig... :-o
Aber das daraus resultierende Wissen ist es wert. FPGAs sind einfach 
Stand der Technik.

von D. I. (Gast)


Lesenswert?

Lothar Miller schrieb:

>
> Wenn ich hier Anfänger (aka. Praktikanten) aus Hochschulen habe, dann
> dürfen die erst mal Lauflichter und einfache serielle Schnittstellen
> machen. Mit Händchenhalten und etwas Glück kommen wir in den 3 Monaten
> dann zu einer halbwegs sinnvollen Anwendung, in der ein simples
> VGA-Spielchen (Pong) einen lokalen Höhepunkt darstellt. Und die Jungs
> hatten nach eigenen Worten vorher schon 2 Semester VHDL programmiert...
> :-o

Dann sind das aber schon Nulpen, wenn man 3 Monate für sowas braucht 
nachdem man schon 2 Semester VHDL betrieben haben will.

Ich habe nun mit meinen 2 Jahren VHDL Kenntnissen in den letzten 12 
Wochen ein bisschen mehr gestemmt und dabei nochmal nen Haufen gelernt. 
Man lernt halt nie aus :D

von lkmiller (Gast)


Lesenswert?

D. I. schrieb:
> Man lernt halt nie aus :D
Man muß "Lernen" eben auch mögen... ;-)

von D. I. (Gast)


Lesenswert?

lkmiller schrieb:
> D. I. schrieb:
>> Man lernt halt nie aus :D
> Man muß "Lernen" eben auch mögen... ;-)

Sehe ich (mittlerweile) als eine Tugend eines Studenten :) (wenn wir mal 
von Bulimielernen absehen)

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.