Hallo :) Bin eigentlich totaler Neuanfänger in VHDL. Im Studium haben wir nun unsere erste Übung bekommen. Ich habe soweit die Aufgaben erledigt und kontrolliert. Es funktioniert alles wie es soll. Nun bin ich mir leider etwas unsicher ob ich meine Aufgabe auch "richtig" in VHDL umgesetzt habe. Es wäre toll wenn jemand ganz kurz über die Files fliegt und mir eventuelle Anfängerfehler berichtet. Im Bsp1 File : HW1Bsp1 Muss eine Funktion BinToInt umgesetzt werden. Also ein 8 Bit Vector sollte in eine Integer Zahl mit bzw. ohne Vorzeichen (2er Komplement) gewandelt werden. Im Bsp2 File : HW1Bsp2 Mussten die Bitshiftfunktionen aus der Standart lib nachgebaut werden. Im Bsp3 File : HW1Bsp3 Geht es um einen 4 Bit Vector zu 7 Segment Decoder. Eine Funktion sollte mittels Array die Bitcodierung für das 7 Segment ausgeben und die zweite Mittels Switch case. Wäre sehr dankbar wenn mir jemand ein kurzes Feedback geben kann!! Danke !! Mfg Luki
:
Bearbeitet durch User
Lukas .. schrieb: > Wäre sehr dankbar wenn mir jemand ein kurzes Feedback geben kann!! Ja, was soll man da sagen, der Code tut ja offenbar soweit. Der ganze VHDL-Konstrukt ist halt wieder akademisch aufgebläht. Aber da kann man nichts machen, die Aufgaben fordern und fördern das ja. Ein "normaler" Mensch würde z.B. für den 7-Segmentwandler einfach ein RAM definieren, das einen 7-Bit std_logic_vector zurückliefert, in dem die Bits einfach abcdefg angeordnet sind. Dann kann man den ganzen Laden mit einem Blick auf Korrektheit kontrollieren. Und das ganze in Funktionen zu verpacken, das ist auch so ein etwas ungeläufiger Ansatz. Da sind eigentlich Komponenten der richtige Ansatz...
Danke für dein Feedback :) Ja das dachte ich mir dass dies etwas akademisch orientiert ist. Ich denke aber dass es hier noch darum geht mit der Syntax und der Umgebung klar zu kommen. Mal sehen wie es weiter geht in der Zukunft. ;-) Danke !
Lothar meinte: > Ein "normaler" Mensch würde z.B. für den 7-Segmentwandler einfach ein > RAM definieren, das einen 7-Bit std_logic_vector zurückliefert, in dem > die Bits einfach abcdefg angeordnet sind. Dann kann man den ganzen Laden > mit einem Blick auf Korrektheit kontrollieren. Lothar, weißt Du zufällig, wieviel Gatter Lucas Design gegenüber Deinem verbraucht? Oh, wenn ich Laura's Sorgen sehe und mal hier reinschnüffele, wird mir schlecht, wie umständlich vhdl ist. Ich dachte eigendlich ein kleiner Eprom und 7 Treiber reichen für ne Anzeige! ;-O mfg
~Mercedes~ schrieb: > wieviel Gatter > Lucas Design gegenüber Deinem verbraucht? Vermutlich wird sich das nicht wesentlich unterscheiden. Die Größe (und 'Umständlichkeit') der Beschreibung korrelieren nicht zwangsweise mit der resultierenden Gatter- bzw. Designgröße. > Oh, wenn ich Laura's Sorgen sehe und mal hier > reinschnüffele, wird mir schlecht, wie > umständlich vhdl ist. Das täuscht. Erfahrungsgemäß dauert es eine Weile, bis man der Geschwäzigkeit von VHDL etwas abgewinnen kann. Duke
~Mercedes~ schrieb: > Lothar, weißt Du zufällig, wieviel Gatter Lucas Design gegenüber Deinem > verbraucht? Wenn der Synthesizer schlau ist, dann braucht es letztlich gleich viel Ressourcen, denn die Funktion ist ja die selbe. > Oh, wenn ich Laura's Sorgen sehe und mal hier reinschnüffele, wird mir > schlecht, wie umständlich vhdl ist. Das übliche Lamento... VHDL ist nicht per se "umständlich". Es ist nur dann umständlich, wenn man umständliche Datentypen verwendet. Im Prinzip ist es nur "sorgfältig". Es gibt kaum implizite Vorgänge (Convertierungen, Kürzung von Vektoren, Verlängern von Vektoren, Anpassen von Zahlenbereichen...), alles steht direkt im Quellcode. Das Problem mit beiden Sprachen ist, dass die Allermeisten vorher "programmiert" haben und dank der ähnlichen Syntaxelemente (for, if then, ...) meinen, weiterhin "programmieren" zu können. ~Mercedes~ schrieb: > Ich dachte eigendlich ein kleiner Eprom und 7 Treiber reichen für ne > Anzeige! ;-O Mag sein, aber das hier ist eine überaus akademische Aufgabe. Das Unschöne daran ist, dass die Lernenden meinen, sie müssten das danach immer so unheimlich umständlich und generisch aufsetzen. In der Praxis ist das aber meist nicht so, dort gibt es meist sehr spezielle Probleme, die dann auch spezielle Lösungen erfodern. Da tut man sich mit Generika dann schwer... Dort findest du, wie man diese "Umwandlung" von Integer in 7 Segmente im echten Leben schreibt: http://www.lothar-miller.de/s9y/archives/88-VHDL-vs.-Verilog-am-Beispiel-einer-Stoppuhr.html Es ist nur eine einzige Codezeile, die mit ein paar Zeilenumbrüchen lesbar dargestellt wird...
:
Bearbeitet durch Moderator
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.