Hallo zusammen, ich würde gerne eine interaktive Simulation mithilfe von VHDL erstellen. Das zu simulierende Gerät soll also mittels VHDL beschreiben werden und anschließend dessen Verhalten simuliert werden. Das eigentliche Problem ist, das es zwar Programme gibt um VHDL zu simulieren, jedoch ist es bei den wenigsten möglich interaktiv in die Simulation eingreifen zu können. Für meinen Verwendungszweck ist es erforderlich, z.B. Schalter während der Simulation zu drücken. Diese Schalter sollten separat anzeigbar sein. Es sollte also möglich sein, eine eigene kleine Oberfläche zur Bedienung des zu simulierenden Gerätes zu erstellen. Alternativ bzw. noch besser wäre es, wenn die Simulation eine Schnittstelle zu einer normalen Programmiersprache wie Java oder C++ hat, um die Simulation dann mit einer selbstprogrammierten Benutzeroberfläche steuern zu können. Am ehesten meinen Vorstellungen entsprechen die Programme Tina und My-Open-Lab. Im Erstgenannten lassen sich zwar Schalter während der Simulation verändern, jedoch nur im Schaltplan und nicht auf einer separaten Oberfläche. Das zweite Programm bietet die Möglichkeit eine separate kleine Oberfläche zu erstellen, dafür arbeitet es nicht mit VHDL sondern einem eigenen Dateiformat. Eine weitere Option wäre, OpenSource Software wie Sign oder GHDL zu nutzen und eine eigene Schnittstelle für eine GUI zu implementieren. Der Aufwand hierfür wäre aber vergleichsweise hoch. Hat irgendjemand Erfahrungen in ähnlichen Projekten und vielleicht ein Tipp für mich? Ich kann mir nur schwer vorstellen, das noch niemand versucht hat, mit VHDL eine eigene interaktive Simulation zu erstellen.
> Hat irgendjemand Erfahrungen in ähnlichen Projekten und vielleicht ein > Tipp für mich? Ich kann mir nur schwer vorstellen, das noch niemand > versucht hat, mit VHDL eine eigene interaktive Simulation zu erstellen. Du kannst während der Simulation eine Textdatei einlesen, in der z.B. von einem anderen Programm (deine GUI) die Tasterzustände abgespeichert werden. Genauso kannst du Textdateien schreiben, die dann von deiner GUI wieder ausgewertet werden. Diese TextIO-Schnittstelle kann jeder Simulator handhaben.
Du könntest Dir auch ansehen, was sich mit den TCL/Tk Schnittstellen von ModelSim anfangen läßt. Soviel ich weiss, sollte es dort auch möglich sein, eine Art GUI zu basteln. Mit force könnte man dann Signale auf einen bestimmten Pegel zwingen.
> Du könntest Dir auch ansehen, was sich mit den TCL/Tk Schnittstellen von > ModelSim anfangen läßt. > Soviel ich weiss, sollte es dort auch möglich sein, eine Art GUI zu > basteln. Da kann man ansehnliche Sachen mit bauen. Nachteil, man ist auf den Simulator festgelegt. > Mit force könnte man dann Signale auf einen bestimmten Pegel zwingen. Viel eleganter geht das. Durch das TCL-Interface kann man direkt auf jedes Signal einwirken.
modelsim ist doch compiliert - wie will man da strukturell eingreifen? Alles, was hingegen parametrisch ist, kann man doch per script vorgeben. bei kurzen einfachen Schaltungen / Simulationen einfach mehrere Paramtersets per copy und paste benutzen um alle Möglichkeite abzuklappern. Bei langen Simulationen macht es keinen Sinn, sich davor zu setzen und zu warten , bis irgenwo was passiert, um dann einzugreifen. Das ist auch insgesamt kein gutes Konzept. Simulationen gehören dokumentiert und deterministisch angelegt.
Vielen Dank schon mal für die Antworten. Der Vorschlag mit Modelsim klingt gut, ich habe mich beim Hersteller mal für eine Evaluationsversion registriert (das dauert aber wohl bis zu 72h...). Der Unterschied zu normalen Simulationen mit VHDL ist, dass ich nicht das Modell bzw. das Produkt testen will, sondern es für einen Nutzer simulieren will, da das Originalsystem nicht immer zur Verfügung steht. Scripte scheiden daher aus. Für weitere Vorschläge/Kritik bin ich dankbar. Die Textschnittstelle behalte ich mal als Plan B im Auge.
Als Tutorial gibt es ein Ampel-Beispiel. PDF + Quelltext. Wie genau das Dokument heißt, weiß ich nicht mehr. Ist aber über die Hilfe-funktion zu finden.
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.