mikrocontroller.net

Forum: FPGA, VHDL & Co. EDK 9.1 Testversion + VGA


Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Kennt sich vielleicht jemand von euch mit dem Xilinx EDK aus? Habe mir 
hier etwas SDRAM an mein Spartan Starter Kit gebastelt und wollte jetzt 
mal ein wenig Linux laufen lassen. Dazu hätte ich gerne ein kleines TFT 
Display an den VGA Port angehängt. Leider habe ich im EDK keinen CORE 
gefunden der etwas mit VGA / TFT zu tun hätte.

Im internet hab ich gesehen da wurden verschiedene Cores benutzt z.B. 
plb_tft_cntlr_ref. Den gibt es bei mir aber leider nicht. Kann das sein 
das das daran liegt das ich nur eine Testversion habe? Oder sind in der 
9.1 version keine VGA/TFT cores mehr dabei?

Gruß,
  Manuel

Autor: Matthias M. (frost)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dafür brauchste eigentlich keinen Core... VGA-Signale lassen sich ganz 
einfach erzeugen.
Aber wenn Du einen suchst, schau mal bei www.opencores.org
Die haben einen. Habe ihn allerdings net probiert.

Autor: Matthias M. (frost)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach so... Net richtig gelesen... Wie das mit der Linux-Anbindung ist, 
kann ich Dir nicht sagen...

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, habe jetzt herausgefunden das beim EDK kein VGA IP dabei ist.

Die VGA Specs. sehen ja nicht so problematisch aus und es gibt jede 
menge dazu im netz. Das Problem ist jetzt wie das ganze implementiert 
werden muss damit es auch mit dem EDK läuft.

Ich hab mir das jetzt so überlegt:

SRAM als Framebuffer - und zwar gleich 2x. Auf der 1. seite wird gelesen 
und auf der zweiten geschrieben. Das ganze wird dann beim VSYNC 
geändert. 1. seite schreiben 2. seite lesen.

So jetzt "nur" noch die anbindung an den OPB und die integration ins 
EDK. Hat sowas schon mal jemand gemacht und kann mir vielleicht etwas 
unter die Arme greifen?

Gruß,
 Manuel

Autor: Breti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich habe sowas mit dem Spartan3 Starterkit gemacht. Ich kann Dir 
sagen, dass der Zugriff auf das Ram der schwierige Teil ist, weil du ja 
für den Zugriff immer wechseln musst zwischen Prozessor Core und VGA 
Core.

Beim Spartan3 Starterkit war das noch relativ einfach, weil dieses ein 
normales SRam hat. Ich habe das dann den Zugriff zeitgemultiplext, so 
dass abwechselnd 32 bit (=4 Pixel mit 8Bit Auflösung) gelesen werden und 
dann 3 Mal für den Prozessor die Möglichkeit besteht, in das Ram zu 
schreiben. Der VGA Core hängt bei mir an einem FSL Bus, so dass der 
Prozessor im Prinzip ein eine FiFo schreibt woraus sich der VGA Core 
dann bequem die Daten holen kann, wenn er Zeit zum Schreiben hat. Das 
klappt gut.

Ich hatte mich gegen den OPB Bus entschieden, weil mir dieser zu langsam 
ist. Wenn ich mich recht erinnere braucht er für einen normalen Zugriff 
schnell mal 5 oder sogar 10 Takt Zyklen (und mehr).
Andererseits wüsste ich jetzt nicht, wie ich das mit SDRam als Grafik 
Speicher auf einfache Art und Weise ohne OPB lösen würde, weil der 
Zugriff auf ein SDRam deutlich aufwendiger als auf ein SRam ist. Daher 
wäre wohl da der normale OPB SDRam Controller die einfachste Lösung. 
Dann müsstest du aber deine OPB Grafikkarte als OPB Busmaster auslegen, 
so dass diese auch ohne den Prozessor direkt auf das SDRam zugreifen 
kann. Ob das dann zeitlich auch so klappt, kann ich dir aber nicht sagen 
- es könnte ein Problem geben, weil die Daten vom Ram nicht schnell 
genug kommen.
Im Endeffekt wäre wohl der beste Weg der, dass man sich einen eigenen 
SDRam Controller für den VGA Core bastelt, der es dann auch erlaubt 
abwechselnd darauf zuzugreifen. Das ist aber keine einfache Sache. 
Vielleicht gibt es auch einen passenden Core Generator, der dir einen 
SDRam Core generieren kann, den du dann nutzen könntest.

Gruß,
Thomas

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ich hab eigentlich vor den SRAM als VGA Puffer zu verwenden. Der 
SDRAM ist dann als Programmspeicher gedacht. (Soll ja uCLinux laufen, da 
hab ich mir mal 16MB an A2 gebastelt). Ich hab also vor es genau so wie 
du zu machen.

Das mit dem FSL bus ist schon mal eine gute Idee, muss ich mir gleich 
mal anschauen. Und mehr als 6 Bit/Pixel brauch ich eigentlich auch 
nicht; 64 Farben sollten reichen.

Gruß,
  Manuel

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.