Hallo zusammen, ich versuche derzeit vergeblich, unter Altium einen TSK3000 Softcore mit einem VGA32 Controller zum Laufen zu bringen. Ich habe das FPGA Design auf meinem Nanoboard3000 implementiert, testhalber aber auch auf dem EvalBoard EB2. Der Softcore läuft einwandfrei ( kann die LEDs auf dem Board über einen Port ansprechen), allerdings macht der VGA32 Controller nichts. Habe die Registerwerte mehrmals geprüft, kann aber keinen Grund finden, warum der VGA Port ohne Funktion bleibt. Hat hier jemand einen heissen Tip für mich ? Ich habe die Projektdatei mit angehängt ... Gruß, dasrotemopped.
Kannst Du mal ein Bild (png/pdf) vom Schaltplan hier veröffentlichen? Wie sieht das Timing auf den SYNC-Leitungen aus? Duke
Hallo Duke, gerne, aber der Schaltplan ist aus fertigen Bibliotheksbauteilen aufgebaut. Timings und so kann man daraus nicht ersehen. Ich habe an der VGA Buchse mit dem Oszilloskop nachgemessen, an allen Ausgängen kommt nichts raus ( alles auf Low ). Ein aus Logikgattern aufgebauter VGA Controller (wesendlich simpler als das Bibliotheksteil ) funktioniert, auch auf meinem 2. FPGA Board, darum schliesse ich einen Hardwaredefekt aus. Gruß, dasrotemopped.
Markus Horbach schrieb: > Timings und so kann man daraus nicht ersehen. Ja, aber den prinizpiellen Aufbau. Welche VGA-Auflösung machte denn das WB_VGA Ding? Hast Du ein Datenblatt davon? Die Taktverteilung ist mir in Deinem Design noch etwas schleierhaft. Gibt es ein Beispieldesign von Altium, welches den WB_VGA verwendet? > Ich habe an der > VGA Buchse mit dem Oszilloskop nachgemessen, an allen Ausgängen kommt > nichts raus ( alles auf Low ). Hast Du einen integrierten (=im FPGA) Logikanalysator dazu? Damit könntest Du gucken, ob WB_VGA versucht aus dem Speicher Daten zu holen. Duke
Ich habe das Design nach den Tutorials von Altium aufgebaut : TU0128 Implementing a 32-bit Processor-based Design in an FPGA.pdf CR0169 VGA32 - 32-bit VGA Controller.PDF Gibts auf der Altium Homepage zum Download, Google findet die PDFs sofort. Der VGA Controller kann 640x480 und 800x600, ich bin der Meinung, das ich ihn auf 640x480 konfiguriert habe. Auf dem Board ist eine 50MHz Clock drauf, der speist die CPU und den VGA Controller. Die CPU läuft mit 50MHz, der VGA Controller hat interne Teiler passend zum VGA Timing. > Hast Du einen integrierten (=im FPGA) Logikanalysator dazu? Es gibt in Altium "virtuelle Instrumente" dazu, habe aber noch keine Ahnung, wie ich die konfigurieren muss. Kann nicht behaupten, das ich schon alle Features von Altium beherrsche. Gruß, dasrotemopped.
Markus Horbach schrieb: > Der VGA Controller kann 640x480 und 800x600, ich bin der Meinung, das > ich ihn auf 640x480 konfiguriert habe. > Auf dem Board ist eine 50MHz Clock drauf, der speist die CPU und den VGA > Controller. Die CPU läuft mit 50MHz, der VGA Controller hat interne > Teiler passend zum VGA Timing. Ok. Die 640x480 brauchen 25 MHz Pixelclock und die 800x600 arbeiten mit 50 MHz Pixelclock. Deswegen habe ich gefragt, wo die herkommen. Aber das steht ja auch alles in CR0169. Markus Horbach schrieb: > Es gibt in Altium "virtuelle Instrumente" dazu, habe aber noch keine > Ahnung, wie ich die konfigurieren muss. Versuch Dich da mal einzuarbeiten. Interessant wäre, ob auf den Steuerleitungen WBM_... (im Bild rechts oben, bei Dir wm_...) was wackelt. Die Signale kannst Du Dir zur Not auch zusätzlich auf einen Header legen und mit dem Oszi beobachten. Die Software zur Ansteuerung hast Du aus CR0167? Mußt Du da evtl. die Adressen anpassen? Duke
> Mußt Du da evtl. die Adressen anpassen? Die Header Datei für das C-Programm wird von der Embedded C Umgebung aus den Konfigurationsdaten des FPGA Designs erzeugt. Verschiebt man Speicher- oder Portadressen, wird das sofort in der Headerdatei aktualisiert, sehr komfortabel. Der C-Code ist aus dem TU0128, nur die Definitionen der VGA Ports sind dazugekommen. > Die Signale kannst Du Dir zur Not auch zusätzlich auf einen Header legen > und mit dem Oszi beobachten. Das kann ich mal ausprobieren, so bald ich wieder zu Hause am Rechner sitze. Gruß, dasrotemopped.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.