Hallo liebe VHDLer, kann mir jemand Hinweise geben, nach was ich suchen muss, oder ein paar gute Stichworte, wenn ich externe Signal von realer Hardware in ein Simulation einspeisen möchte. Ich habe mir dazu folgendes Konzept überlegt: -Reale Hardware generiert Signale(Daten) und sendet diese über UART an PC -Programm speichert Signale(Daten) in bestimmten Dateiformat -VHDL-Simulation ließt Signale asu Datei ein -VHDL-Simlation gibt Signale aus -Programm sendet Signale per UART wieder an Hardware Die Anforderung daran sind, dass die Kommunikation wechselseitig funktioniert, d.h. reale Hardware läuft und in dieser Zeit wartet die Simulation und umgedreht, also Hardware warte und die Simulation läuft. Die Hardware mit UART-Schnittstelle existiert. Welche ist egal. Für Testzwecke habe ich einen Arduino Nano am laufen, der per UART Daten(Signale sendet) Das Programm muss noch geschrieben werden. Mir geht es ersteinmal um das Gesamtkonzept, und ob dies so funktionieren kann oder es vielleicht schon existierende Lösungen für mein Problem gibt. Ich hoffe, ich habe das Problem halwegs klar ausgedrückt Mit freundlichen Grüßen, Simulant
Wenn ich das richtig in Erinnerung habe, gibt es sowas im Rahmen von Matlab und kostet so um die 50000€ pro Lizenz. Nachstellen kann man das wahrscheinlich auch mehr oder weniger. Die wichtigste Frage ist, wie du die Hardware zum Halten bringen willst. Viele Controller unterstützen zwar Hardwarebreakpoints, aber ich denke, dass du die nicht über UART steuern kannst. Spontan würde ich die vom Controller im Computer empfangenen Daten mit Seriennummer in eine Datei schreiben. In der Simulation wird die Datei regelmäßig gelesen und bei einer neuen Seriennummer die neuen Daten übernommen und ein neuer Simulationsdurchlauf gestartet. Da müsste man dann das Taktsignal solange anhalten. Umgekehrt müsste das Kommunikationsprogramm bei Änderungen in einer Datei neue Daten zum Controller schicken.
Mit Active HDL (in Lattice Diamond Windows Version enthalten) sollte man das mit TCL Scripten machen können.
was spricht gegen diese Idee: Python (als Beispiel) empfängt deine Daten, die du nach deiner Formatierung in einer Datei ablegst. Python startet über script den Simulator. Simulation ließt die Datei ein und läd sie in deine gewünschten VHDL-Typen. Simulation rechnet. Simulation speichert Datei über File write. Python packt sich die Datei und sendet diese über UART zur Hardware.
Hi Simulant, was Du vorhast, geht prinzipiell mit der VHPI-Spec, die unterstützen allerdings nicht alle Simulatoren. Man muss auch keine 50k dafür hinlegen. Ich habe derartige "Model in the loop"-Simulationen mit GHDL und ner etwas hackigen Erweiterung erschlagen. Siehe GHDL-Mailingliste, z.B. https://mail.gna.org/public/ghdl-discuss/2014-11/msg00019.html, da haben einige Leute Lösungen vorgestellt. Komplette Simulation eines Prozessors wird allerdings recht lahm. da macht es Sinn, die CPU in den Emulator zu verfrachten (qemu, o.ä.) und daraus die HW anzusprechen. Gibt allerdings etwas Programmierarbeit..
Simulant schrieb: > kann mir jemand Hinweise geben, nach was ich suchen muss, oder ein paar > gute Stichworte, wenn ich externe Signal von realer Hardware in ein > Simulation einspeisen möchte. Bosch hat mit der FhG vor 15 jahren was in der Richtung gemacht (Projekt: ChipLense), leider hab ich nur ein paar oberflächliche Folien finden können: http://publications.eas.iis.fraunhofer.de/papers/2000/016/slides.pdf Es gab aber auch in einer Zeitschrift einen länglichen Artikel und mehrere Diplomarbeiten. Grundprinzip: In einem Shadow-Scanpfad werden die FF-Inhalte gespiegelt und aus dem FPGA geschleusst. Per script werden aus der netzliste TCl KJommandos für den Simulator generiert ("force" http://www.csse.monash.edu.au/courseware/cse2306/2006/Pracs/force.pdf) und damit die Netzlisten Simulation (Post-map) re-initialisiert. MfG,
Noch früher als Bosch (nur ohne VHDL) gabs das Ende der 80er von Valid Logic Systems. Das war SW auf einer Sun mit einer grossen Kiste nebendran. Da konnte man Steckkarten als "Real-Model" einstecken. Das wurde dann mit der gezeichneten Schaltung zusammen simuliert. Das Real-Model konnte durchaus mehr als Kleinkram sein, es gingen auch (damals) dicke Dinger ala 68040, 80386, etc. Da das Real-Model aber immer nur genau einen Takt laufen durfte, war das je nach Chip etwas haarig ;)
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.