Ich suche ein script (oder program) mit dem ich einzelne Signale aus vcd oder fsdb files extrahieren kann um die dann in matlab weiter zu verarbeiten. Ausgangsformat z.B. csv oder ascii oder optimal direkt mat-file Ich habe das Web durchsucht aber leider nichts gefunden das funktioniert. Bin für jeden Tip dankbar!
Vielleicht hättest du einfach Swiss-Cows (www.swisscows.com) statt Google nehmen sollen ;) "convert verilog vcd dump file to" entdeckt einige potentielle Startpunkte. z.B. https://swisscows.com/lr?IG=86BCFC8881394D74890FB5F148A71A1A&CID=011777C57BDB6C5C07657B8D7AC26D05&rd=1&h=6He5A7Dq5QF2HS9w4yIXYxbrYbnzUwSSC_3xpVs8Ajw&v=1&r=https%3a%2f%2fgithub.com%2fben-marshall%2fverilog-vcd-parser&p=DevEx.LB.1,5170.1 hört sich doch vielleicht gut an oder? Abgesehen davon, vcd ist eigentlich ein text-basiertes Format und recht gut mit C/C++ zu verarbeiten. Wenn ich mich recht erinnere, fängt die Datei mit einem Headerbereich an. Hier wird ein kurzer String, manchmal nur ein einzelnes Zeichen, als Alias für ein Signalname zugewiesen. Danach kommt der eigentlich Datenbereich, der nur eine Folge von Change-Records mit Zeitstempel ist. In diesem Bereich wir nur das Alias als Signalbezeichner verwendet. Man muesste also das Alias finden und danach die relevante Records aussuchen. Ich weiss noch vor 25 Jahren oder so durfte ich mir eine Praktikumsaufgabe für den Sohn eines Vorstands eines befreundeten Unternehemens des Abteilungsleiters (lange Beziehung, gel) aus den Fingern saugen. Der Kandidat war gerade Studienabgänger und wollte unbedingt C lernen, hat sich selber nicht besonders viel zugetraut. Im Nachhinein war der Junge aber recht fleissig, hat in zwei/drei Monaten schon erstaunlich viel geleistet gehabt. Ich habe nur am Anfang mit der gemeinsamen Analyse des Formats wirklich Aufwand einstecken muessen. Er hat die Aufgabe auch genossen, oder hat dies zumindest behauptet. Nur leider, habe ich die Quellcode nicht mehr. Schade eigentlich.
Und, diese zwei Links hat Swisscows auch gefunden, mit Suchstring "convert verilog vcd dump file to matlab" https://de.mathworks.com/help/hdlverifier/ug/add-a-value-change-dump-vcd-file.html https://de.mathworks.com/help/hdlverifier/ref/tovcdfile.html
cfgardiner schrieb: > z.B. > https://swisscows.com/lr?IG=86BCFC8881394D74890FB5F148A71A1A&CID=011777C57BDB6C5C07657B8D7AC26D05&rd=1&h=6He5A7Dq5QF2HS9w4yIXYxbrYbnzUwSSC_3xpVs8Ajw&v=1&r=https%3a%2f%2fgithub.com%2fben-marshall%2fverilog-vcd-parser&p=DevEx.LB.1,5170.1 > > hört sich doch vielleicht gut an oder? Ja, hat sich gut angehört, habe ich auch heute ausprobiert. Leider bricht es das parsen mit einer Fehlermeldung über TOK_IDENTIFIER ab. Auch nachdem ich aus dem vcd File per Hand alle unnötigen Identifiers removed hatte... Hätte ich Zeit würde ich mir das genauer anschauen und debuggen... Ja im Grunde ist ein vcd file recht einfach zu lesen, habe aber leide keine Zeit... Habe jetzt schon wieder 2h verloren durch das ausprobieren des codes brauche aber heute Abend ein Ergebnis :-( ---------- Die Simulink Blöcke funktionieren nur mit Mentor oder Cadence Simulatoren. Mein vcd file wird aber aus SystemC geschrieben -> geht nicht ---------
Bevor ich es vergesse: Trotzdem vielen Dank für die Hinweise!
Heute Abend ist in der Tat knapp. Sonst habe ich nur diese Links gefunden, falls Perl bzw. PYthon in Frage kommen: https://metacpan.org/pod/Verilog::VCD https://pypi.org/project/Verilog_VCD/ Kenne sie aber eigentlich selber nicht. Es wundert mich schon, dass es so wenig gibt. In Rahmen von Consulting Aufträge für diverse Halbleiterfirmen bin ich immer wieder Situationen begegnet, wo Testvektoren aus *.vcd Dateien extrahiert werden. Es scheint aber tatsächlich nichts im Public Domain zu existieren. Die Tools in meiner Aldec Installation scheinen leider auch nicht hilfreich zu sein. Ich habe versucht vcd2asdb (Aldec Datenformat) und danach asdb2lst. Die Ausgabedatei ist gigantisch und auf dem ersten Blick genau so schwer handzuhaben. Sonst, hätte ich gehofft irgendwas im Umfeld von GtkWave zu finden, http://gtkwave.sourceforge.net oder das geda Projekt http://www.geda-project.org Kommerzeille Tools gibt es wohl schon, z.B. http://sourceiii.com/vcd-translation-convert-vcd-to-ate-stil-wgl-and-more.html, sind aber bestimmt nicht besonders preosgünstig
Meine Notlösung war, den SystemC Source Code zu patchen so dass er direct die gewünschten Signale im Ascii-Format rausschreibt... Aber wenn ich etwas Luft habe, werde ich versuchen einen vcd Signal extracter zu schreiben (evtl. mit der Library oben). So schwer kann das nicht sein
Christian K schrieb: > Meine Notlösung war, den SystemC Source Code zu patchen so dass er > direct die gewünschten Signale im Ascii-Format rausschreibt... So hätte ich das auch gemacht. Da kann man gleich die Formatierung nach gutdünken einstellen...
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.