www.mikrocontroller.net

Forum: FPGA, VHDL & Co. VHDL Stimuli auswerten mit C#


Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

hab da n ziemlich großes Problem mit einer Projektarbeit fürs Studium.
Ich soll einen Logikanalysator mit dem PC ansteuern und ihm die nötigen 
Daten schicken.
Nun mein Problem:
Diese Daten liegen als VHDL-Code vor (Stimulibeschreibung). Der Code ist 
jedesmal ähnlich dem als Textdatei angehängten (schon mal gut, ist ne 
Einschränkung).
Ich habe nun schon Tage darüber nachgedacht wie ich die Ein- und 
Ausgänge aus dem VHDL-Code extrahieren kann und den Eingängen dann auch 
noch die richtigen Timing- und Zustandsdaten zuordnen kann.
Es soll praktisch ein File entstehen in dem die Eingänge, Ausgänge und 
die Timingdaten für die Eingänge gespeichert sind.

Habt ihr da vielleicht irgendwelche Anregungen, ich komm absolut nicht 
mehr weiter.

Gruß Steffen

Autor: T.M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo ist der Anhang?
Wenn es sich dabei um eine ganz normale VHDL-Testbench handelt, kommt 
man da mit regex am schnellsten zum Ziel. Ich weiss nicht, ob es die 
auch für C# gibt. Man könnte da die Ports des DUT in ein Array einlesen 
und dann nach Stimuli-zuweisungen suchen, die auf die Signale passen. Da 
es einige Arten der Zuweisung gibt, kann das trotzdem etwas aufwendig 
werden denke ich mal...


T.M.

Autor: Steffen (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, keine Ahnung wieso das File nicht mitgegangen ist.
Mit regex meinst Du RegularExpression oder? -Gibt es in C#.
Schon klar das ich die Ports einlesen muss - aber wie.
Soll ich die Textdatei wie nen String behandeln und nach 
Schlüsselwörtern suchen? Ist das die beste Lösung oder?

MfG

Autor: _daniel_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

was RE betrifft, hab ich schon einiges hinter mir
so schwer ist das nicht, Du wirst aber sicherlich
einige zeit damit beschäftigt sein, regex zu lernen
und zu "debuggen"
aber die aufgabe ist sicherlich machbar

einen tip habe ich für Dich
schreib erst einen prototyp in einer skriptsprache
empfehlen würde ich Python oder Ruby, Perl würde sich
zwar auch eignen aber Python ist sehr(!) viel einfacher
wenn Du dann noch bock und lust hast, kannst es in 3 stunden
nach C# transformieren
string handling ist halt in skriptsprachen einfach unübertroffen

als besonderer vorteil kannst du interaktiv deine RE ausdrücke
ausprobieren, hat mir definitiv geholfen!

die re ausdrücke sind sich eh oft ähnlich
http://docs.python.org/lib/re-syntax.html

Autor: _daniel_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok um  konkretes beispiel zu machen

ports = re.search(r'port\(.*?\);', file("datei.vhd").read())
ports = [port.strip() for port in ports.split(';')]

und so weiter

dann nach ':' spliten, sprich variablen und typ

wenn dein monitor grösser ist, kannst erste zeile direkt in die
zweite einsetzen :)

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dankeschön, werds erstmal weiter mit Regex versuchen, die Ein- und 
Ausgänge krieg ich schon hin.
Aber ich hab keine Ahnung wie ich das mit der "VECTORTIMING" Funktion 
lösen soll und denen die richtigen Daten zuweisen kann.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.