Verilog-VGA-Simulation

Ich bin neu in der FPGA-Entwicklung und bei Verilog und arbeite derzeit an einem Projekt, bei dem es darum geht, Dinge über den VGA-Anschluss auf den Bildschirm auszugeben. Ich bekomme nur im Unterricht Zugriff auf das eigentliche FPGA-Board, aber ich codiere auch gerne, wenn ich zu Hause bin. Ich suchte nach einer einfachen Möglichkeit, den VGA-Ausgang zu testen, konnte aber nichts Passendes für Verilog finden. Könnte mir bitte jemand sagen, wie ich meinen VGA-Ausgang meines Verilog-Programms in der Simulation testen kann?

Danke schön.

Antworten (1)

Ich bin mir nicht sicher, ob es für das, was Sie wollen, irgendwelche Prüfstände von der Stange gibt, und wenn es einen gäbe, wäre es im Allgemeinen eine teure IP - jemand, der höchstwahrscheinlich für ein Unternehmen arbeitet, müsste es gemacht haben.

In Bezug auf das, was Sie tun könnten, wäre es am besten, einen eigenen Prüfstand zu schreiben, um die Steuersignale zu beobachten und die rohe RGB-Datenausgabe für jeden Frame in einer Datei zu speichern. Sie können relativ einfach einen Prüfstand mit ein paar Zählern schreiben, die mit den Vsync/Hsync-Signalen synchronisiert sind, die für jedes gültige Pixel die RGB-Daten in einem Rohformat speichern (siehe das ist eine Verilog-Dateischreibfunktion) $fwrite.

Mit den gespeicherten RGB-Daten können Sie sie entweder mit Software wie MATLAB oder Online-Viewern wie dieser Website anzeigen. Alternativ könnten Sie die Daten im ppmBildformat direkt aus der Testbench speichern, wie @alex.forencich in den Kommentaren vorgeschlagen hat, was ein nettes einfaches Bildformat ist.

Obwohl dies nicht ideal ist, sollte dies eine schnelle Möglichkeit bieten, zu überprüfen, ob die von Ihnen generierten RGB-Daten sinnvoll sind. Ich nehme an, Sie möchten testen, ob Code, der Pixeldaten generiert und einen VGA-Kern mit einer Beschreibung speist, die richtigen Daten speist, während Sie keine Hardware haben. Wenn Sie auch im Unterricht arbeiten, konnten Sie vermutlich bereits überprüfen, ob die Signalerzeugung (VSync/HSync-Timings, Datenabgleich usw.) funktioniert, sodass Sie damit einen Prüfstand einrichten und überprüfen können.

Möglicherweise können Sie das ppm-Format direkt mit fwrite ausgeben und es dann einfach in einem Bildbetrachter öffnen.
@alex.forencich durchaus möglich, ja. Ich wusste nichts über ppm, das einfachste, das ich mir vorstellen konnte, war bmp, aber dass Sie Zeilenzahlen und andere Formatierungen generieren müssen, also dachte ich, das Speichern der Rohdaten sei einfacher, aber ppm scheint ein nettes einfaches Bildformat zu sein.