www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Bild in Blockram [verilog]


Autor: Stefan Helmert (Firma: dm2sh) (stefan_helmert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

nun habe ich endlich ein "DE1 ALTERA" und damit erfolgreich ein paar 
bunte Sachen auf dem Monitor gezaubert. Das möchte ich nun erweitern.
Und zwar brauche ich ein Programm, mit dem ich .bmp Dateien in .hex 
Dateien umwandeln kann um sie ins Blockram zu laden. Es geht nur um 
kleine Symbole. Es sollen erst 4 Bit für die Rot, dann 4 Bit für die 
Grün und schließlich 4 Bit für die Blau verwendet werden (pro 
Bildpunkt).
Wie macht ihr so etwas, habt ihr da ein spezielles Konvertierprogramm?

Autor: Rick Dangerus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jein. Am Besten in der Programmiersprache Deiner Wahl selber schreiben.
Wenn Du eine verwendest, wo es Bibliotheken für das Einlesen der Bitmap 
gibt, brauchst Du Dich nur noch um die Ausgabe zu kümmern.

Rick

Autor: Günter -.. (guenter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan Helmert wrote:
[...]
> Und zwar brauche ich ein Programm, mit dem ich .bmp Dateien in .hex
> Dateien umwandeln kann um sie ins Blockram zu laden. Es geht nur um
> kleine Symbole. Es sollen erst 4 Bit für die Rot, dann 4 Bit für die
> Grün und schließlich 4 Bit für die Blau verwendet werden (pro
> Bildpunkt).

Für die ROM Initialisierung nehme ich den $readmemh() Systemtask. Jetzt 
kenne ich mich nicht mit Altera aus, aber Xilinx ISE benutzt den um die 
Werte in Speicher zu schreiben. Kann in der Regel auch für die 
Simulation genutzt werden.

> Wie macht ihr so etwas, habt ihr da ein spezielles Konvertierprogramm?

Um die Datei zu generieren hab ich mir ein Python-Skript geschrieben. 
Das hat jetzt eine andere Funktion und geht nicht von BMP Dateien aus, 
wenn es dich interessiert kann ich aber den Teil beisteuern der die 
Textdatei mit Hexadezimalen-Werten schreibt.

Zum Einlesen von BMP-Dateien würde sich vielleicht das Python PIL Modul 
eignen:

http://pythonware.com/products/pil/

Gruß,

Günter

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.