NEUES FPGA BOARD

Dem letzten Thread EF9366 zufolge gab es Interessenten für das neue GODIL FPGA Board.

Hier ist jetzt die vorläufige Dokumentation.

formatting link

Fragen, Anregungen & Kritik sind stets herzlichst willkommen.

MIKE

PS: Demnaechst hier verfügbar:

formatting link

--
www.oho-elektronik.de
OHO-Elektronik
Michael Randelzhofer
FPGA und CPLD Mini Module
Klein aber oho !
Kontakt:
Tel: 08131 339230
mr@oho-elektronik.de
Usst.ID: DE130097310
Reply to
M.Randelzhofer
Loading thread data ...

Huebsch! Falls Du damit auch ausserhalb Europas gehen moechtest, vielleicht laesst sich das auch ueber Sparkfun vertreiben. Das ist in USA eine "der" Adressen fuer "Nerd Stuff" und dort bestellen auch Leute aus anderen Laendern.

formatting link

--
Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Reply to
Joerg

Sieht sehr gut aus. Kommt leider heutzutage immer seltener vor, daß auch die gesamte Schaltung im Datenblatt enthalten ist. Kann man dann bei deiner Webseite auch eine initiale UCF-Datei runterladen? Viele Pins wird man zwar sowieso für die konkreten Anwendungen umbenennen, aber ist eine kleine Hilfe, wenn man schonmal die Pinbezeichnungen des Moduls als Basis hat.

Hast du das Testboard für den Grafikcontroller schon losgeschickt? Ich habe schonmal angefangen, die VGA-Ausgabe von meinem uralten Verilog-Programm nach VHDL umzusetzen, um was zu sehen. Mit meinem Spartan 3E Starterkit, was praktischerweise direkt einen VGA-Anschluss hat, womit man 8 Farben ausgeben kann, wird ein 640x480 Testbild bei 25 MHz Pixeltakt angezeigt, mit einem 1 Pixel breiten äußeren weissen Rahmen, einen 1 Pixel grünen Rahmen darin und mit Teststreifen in allen 8 möglichen Farben dort drin. Könnte man wohl auch mit ein paar 7400 und Flipflos bauen, wenn die 25 MHz könnten :-)

So muß das Testbild aussehen, falls es einer selber ausprobieren möchte:

formatting link

Die Auto-Adjust Funktion von meinem Bildschirm bekommt das fast hin, nur die letzte Pixelspalte mit dem rechten weissen Rand verschluckt es. Manuell den Pixelclock ein wenig runtersetzen und dann was nach links schieben und alles passt drauf. Merkwürdig übrigens, wenn man mehr schwarz an den Rändern links und rechts generiert, dann versucht der Monitor das entsprechend aufzuziehen und blendet den Randbereich somit aus. Schade daß er sich nicht einfach an den VGA-Standard für 640x480 hält, denn das zeigt das Menü zumindest an, hätte er detektiert, was auch mit den Timings recht exakt stimmen sollte, wenn ich da keinen Fehler gemacht habe.

Unten der Quelltext. Interessant wird es nach der Zeile

if lineCounter < 480 and imageState = IMAGE_DATA then

Dort kann man recht leicht seine Grafikdaten ausgeben.

library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all;

entity OutputGenerator is port( clk: in std_logic; vgaRed: out std_logic; vgaGreen: out std_logic; vgaBlue: out std_logic; vgaHsyncN: out std_logic; vgaVsyncN: out std_logic ); end entity OutputGenerator;

architecture rtl of OutputGenerator is type lineStateType is ( LINE_HSYNC_LOW, LINE_BACK_PORCH, LINE_DATA, LINE_FRONT_PORCH ); signal lineState: lineStateType := LINE_HSYNC_LOW;

type imageStateType is ( IMAGE_VSYNC_LOW, IMAGE_BACK_PORCH, IMAGE_DATA, IMAGE_FRONT_PORCH ); signal imageState: imageStateType := IMAGE_VSYNC_LOW;

signal pixelCounter: natural range 0 to 1023 := 0; signal lineCounter: natural range 0 to 1023 := 0; signal devide2: std_logic := '0'; begin

vgaOut: process(clk) begin if rising_edge(clk) then devide2

Reply to
Frank Buss

Hallo Frank,

dein Päckchen geht heute morgen raus. Erst mal musste ich das Manual halbwegs fertigstellen, ist leider immer mehr Arbeit als man denkt. Und Kundenauftaege haben Prioritaet. Ich hoffe du bist nicht völlig lötkolbenlos, die Stecker musst du selber rauflöten, eben je nach Gusto.

.ucf Files gibt es, ich werde die mal noch auf die Webseite packen.

Ansonsten freut mich dein unerschrockenes VHDL Engagement...

MIKE

formatting link
OHO-Elektronik Michael Randelzhofer FPGA und CPLD Mini Module Klein aber oho ! Kontakt: Tel: 08131 339230 snipped-for-privacy@oho-elektronik.de Usst.ID: DE130097310

Reply to
M.Randelzhofer

Danke.

Notfalls ginge es per Steckboard, was bei dem DIL-Formfaktor ja recht einfach machbar wäre. Dann von einem alten VGA-Kabel den Stecker abschneiden, die Kabel ins Steckboard, per passenden Widerständen mit dem FPGA verbinden und schon kann man 8 Farben ausgeben. Aber keine Sorge, ich habe auch einen Lötkolben da, sowie VGA-Einbaubuchsen und Lochraster :-)

Ich mache das jetzt auch schon seit ein paar Jahren beruflich für einen Kunden, daher schreckt mich VHDL nicht mehr allzu sehr. Ich finde da gegenüber Verilog besonders die Typsicherheit und allgemein strengere Prüfungen gut, da man dann weniger Fehler machen kann. Ist leider ein wenig redundant und teilweise umständlich drin zu programmieren, aber man gewöhnt sich an alles.

Hier übrigens die etwas überarbeitete Spezifikation des Grafikcontrollers, mit Dokumentation in Form von C-Code für alle Grafikkommandos:

formatting link

Falls ein FPGA kein Block RAM mit 3 Ports zur Verfügung stellt (zwei Leseports und ein Schreibport), dann werde ich das erstmal mit Hilfe zweier Dualport-BRAMs simulieren, wobei immer auf beide geschrieben wird und getrennt gelesen werden kann. Kann man dann später noch optimieren, wenn der Rest mal läuft. Interessant wäre dabei vielleicht auch noch eine Ausbaustufe mit externem SRAM oder gar SDRAM, weiteren Grafikbeschleunigerfunktionen, 3D-Funktionen usw., aber dazu braucht man dann wohl größere FPGAs. Oder auch eine Variation ohne Beschleunigerfunktion, aber mit externem SRAM, für kleine CPLDs.

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

Die erste Version des Grafikcontrollers ist fertig, inklusive Grafikbeschleunigerfunktionen, SPI-Interface und zum Testen ein RS232-nach-SPI Umsetzer in VHDL. Reload auf der Seite durchführen, falls noch nicht das neue YouTube-Video unten zu sehen ist :-)

Mit der Speichergröße ist noch ein Problem. Wenn man noch Fonts usw. mit unterbringen will, dann geht gerade mal 320x240 in schwarz/weiß in den FPGA des Starterkits. Bei dem Beispiel habe ich 640x480 als Videomodus verwendet, da mein Monitor nichts darunter mehr kann, und jeweils jede Zeile doppelt und jeden Punkte doppelt angezeigt. Die VGA-Ausgabe-Entity habe ich dabei komplett neu geschrieben, da das ursprüngliche Programm viel zu umständlich war (war ja auch eins meiner ersten FPGA-Programme).

Vielleicht sollte ich doch noch einen Textmodus einbauen? Damit könnte man problemlos 640x480 hinbekommen. Dann wäre es aber auch gut, z.B. auf feste

8 Bit Datenwortgröße zu gehen, was das ganze aber wieder komplizierter machen würde und ein überlegtes Redesign erfordert.

Das GODIL FPGA Board von Mike ist auch angekommen, werde ich nächste Woche dann mit einem VGA-Ausgang versehen und testen.

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.