hallo, hab hier mal einen Zustandsautomaten für ein LCD geschrieben, der aber leider nicht funktioniert und ich weis nicht warum. Die Simulationen sehen alle ganz gut aus, finde da auch keine Fehler. D.h. wende ich mich mal an euch. Im Anhang findet ihr das das ganze Xilinx ise (v10.1) Projekt. Das ganze besteht aus zwei Komponenten init und in_put. init soll das LCD initialisieren und dann 8 daten bit + 1 rs bit die anliegen ans LCD schicken. in_put stellt die Daten für LCD zur Verfügung ohne auf die Timings des LCD schauen zu müssen, macht alles init. Das Ganze ist für dieses Bord geschrieben: http://www.xilinx.com/support/documentation/boards_and_kits/ug257.pdf In diesem User Guide ist die Beschreibung für das LCD ab S. 41. auf S. 51&52 ist der Initialisierung Prozess beschrieben an die ich mich gehalten habe. Da ich noch nicht so lange VHDL programmiere würde ich mich auch über Verbesserungsvorschläge freuen. Wie man z.B. XY besser programmieren könnte. Danke im Voraus. mfg kr2
> Die Simulationen sehen alle ganz gut aus, finde da auch keine Fehler.
Ich schreibe dir Code hin, der sieht in der Simulation super aus, nur
läuft der garantiert nicht. Dafür brauche ich gerade mal einen Prozess
mit drei Zeilen...
Kannst du diese Fragen beantworten:
Was geht nicht?
Welche Meldungen/Warnungen bekommst du bei der Synthese?
Wo lernt man denn einen solchen Beschreibungsstil?
Wozu diese umständliche Verzögerungs-Zähler-Prozedur?
Wozu die Variablen?
>Was geht nicht? Kann ich leider nicht genauer sagen. Mir fehlen die Mittel um zu schauen, ob das richtige am LCD ankommt. Es tut sich am LCD gar nichts. Die Status Leds leuchten alles wie sie sollen. >Welche Meldungen/Warnungen bekommst du bei der Synthese? - WARNING:Xst:1426 - The value init of the FF/Latch state_FFd37 hinder the constant cleaning in the block init. - INFO:Xst:1767 - HDL ADVISOR - Resource sharing has identified that some arithmetic operations in this design can share the same physical resources for reduced device utilization. For improved clock frequency you may try to disable resource sharing. Bei der Warnung weis ich leider nicht wie ich FF/Latch state_FFd37 finde bzw. einem Problem zuordnen kann. Die Info sollte ja kein Problem darstellen. >Wo lernt man denn einen solchen Beschreibungsstil? Ich hab ein Skript(Rechnerentwurf, A. Strey, Universität Innsbruck) und ein eBook(VHDL Kompakt, Andreas Mäder, Universität Hamburg). Hab mir da die Grundlagen angeschaut und angefangen zu programmieren, ohne groß was aus den Skripten zu übernehmen. Das ist jetzt eins meiner ersten etwas ""größeren Projekte"". Da ich noch ziemlich am Anfang steh, denke ich, dass es sich noch verbessert. Bin aber für Verbesserungsvorschläge jederzeit offen. >Wozu diese umständliche Verzögerungs-Zähler-Prozedur? Ich habe leider keine einfachere Möglichkeit gefunden. Bin aber für Vorschläge offen. >Wozu die Variablen? Weil ich es zu diesem Zeitpunkt noch nicht besser wusste. Jetzt weis ich: Zitat Lothar Miller: >>Versuche, die Aufgabe mit Signalen zu lösen. >>Wenn es tatsächlich nicht anders geht, nimm Variable. --- --- --- Wenn es weiter hilft, ich hab auch die "post route Simulation" gemacht und die hat auch gepasst, außer ich hab mich vermessen oder was übersehen.
Kr2 Kr2 schrieb: >>Wozu diese umständliche Verzögerungs-Zähler-Prozedur? > Ich habe leider keine einfachere Möglichkeit gefunden. Bin aber für > Vorschläge offen. Vieleicht hilft dir ja mein LCD 'controller'... Beitrag "[VHDL] 16x2 LCD Textcontroller / HD44780" War aber nur ne kleine Spielerrei um die Aussage in ner Appnote man könne die 'komplexe' Statemachine für die LCD Ansteuerung nicht efizient umsetzen und solle einen Softcore verwenden. btw: nicht jeder kann rar files lesen... zip ist gebräuchlicher.
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.