Ich habe gehört, man könne von MATLAB / SIMULINK aus VHDL in Echtzeit simulieren lassen, indem der Compiler (ISE + System-Generator) einen simulationsfähigen Code erzeugt, der auf eine FPGA-Plattform geladen wird und dann parallel zur MATLAB Simulation mitläuft. Macht das jemand? Wie effektiv ist das? Habe mir MATLAB Docu angesehen und steige da nicht so richtig durch. Das einzige was ich kenne ist, daß MATLAB parallel ModelSim anwirft und mitarbeiten lässt.
mit modelsim und echtzeit ist natürlich nichts, geht aber sehr gut! ;) die andere möglichkeit über das xilinx-blockset hab ich auch kurz angetestet. war ganz nett und macht recht viel druck.. sehr von vorteil dafür ist es natürlich wenn du schon ein unterstützes eval-board hast! :)
Das ist aber noch alles Software Simulation, oder? Was ich bei ModelSim und Xilinx gelesen habe, ist die sogeannte "Co-Simulation" nichts anderes, als der Aufruf des ISE-Simulators bzw. des ModelSIM durch Simulink, sodass VHDL-Code von Simulink aus mitsimuliert werden kann. Man hat quasi das MATLAB-Ergebnis und das VHDL-Ergebnis parallel und kann es vergleichen (lassen). Es wäre aber noch einmal was ganz anderes, wenn die VHDL-Simulation in der Hardware liefe. Zu dem Thema gibt es ja bereits Ansätze: http://www.ger-fae.com/semulator.html Da läuft die VHDL des späteren FPGA schon mal mitsamt ihrer Testbench und der Stimuli-Vektoren und man hat das Ergebnis real. Soweit ich weiss, gibt es keine Timing-Problme, wie beim Emulatortest oder mit SignalTAP/ChipsScope, weil nicht zwangsläufig mit der original Taktfrequenz gearbeitet werden muss. So kann die Sim bei langsmen FPGA-Designs und schnellen Eval-Plattformen sogar schneller laufen, als das FPGA / ASIC später tut. Hat das wer bereits genutzt?
Ich habe einige Erfahrungen mit der HW-CoSimulation über ISE und ModelSIM aus Matlab heraus. Matlab generiert aus einem in Simulink mittels eines Blockset von Xilinx grafisch angelegten FPGA-Designs einen FPGA-Code, der speziell in die eigenen EVAL boards passt. Die Vektoren wandern während der SIM in das Board un die Ergebnisse werden hochgezogen. Geht durchschnittlich 10x schneller "all inclusive". Ich würde gerne wissen, wer sich sonst noch damit auskennt und wie man das auch ohne MATLAB machen kann. (Es geht mir um die Lizenz!). Ich weiss, dass einige Hersteller eigene Plattformen anbieten, möchte mich aber eher in Richtung eines Evalboards bewegen, wie das bei Xilinx+MATLAB vorgenommen wird. Ich möchte das gerne unabhängig von MATLAB haben und vorzugsweise auch für Altera-Designs. Tipps?
Harald schrieb: > Ich würde gerne wissen, wer sich sonst noch damit auskennt und wie man > das auch ohne MATLAB machen kann. (Es geht mir um die Lizenz!). Ich mache hier gerade sowas. Dafür läuft im FPGA ein Softcore mit einem Kommandointerpreter. Per serieller Schnittstelle werden Skriptgesteuert Kommandos im FPGA ausgeführt und die Ergebnisse aus dem Speicher zurückgelesen. Was man braucht: - eine geeignete Schnittstelle (seriell ist zu langsam, wenn es um viele Daten geht) - eine geeignetes Protokoll (in Hardware oder Software, wenn Controller da ist) - Zwischenspeicher für Stimuli- und Ergebnissdaten - ein Controlling für die Tests Duke
D.h. du hast eine manuell erstellte Schnittstelle zum FPGA? Was genau wird da simuliert? Was ich ja will, ist die Möglichkeit, die "normalen" Simulationen im Modelsim einfach zu beschleunigen. Für den anderen Aspekt, den Matlab bietet, nämlich Mathematik unter Nutzung von Hardware beschleunigt zu berechen (also auch Mathe, die nicht in ein FPGA soll) suche ich auch eine Möglichkeit. Das wiederum kann ja Matlab noch garnicht. Man muss das FPGa ja bauen, dass man cosimulieren will. Ergo müsste man die Mathe nachbauen oder mit einem HDL Generator bauen lassen. Wie gesagt, erstmal will ich den step1: Statt Modelsim alleine in Software (der macht das sogar mit Real soweit ich weiss) trödeln zu lassen, sollen Teile des Designs als bereits compilierte HW laufen. Muss ja nicht Echtzeit sein. Nur eben schneller, als SW.
Harald schrieb: > D.h. du hast eine manuell erstellte Schnittstelle zum FPGA? Was genau > wird da simuliert? Nicht simuliert. Funktionsblöcke können direkt in der Hardware getestet werden. Hardware in the loop. > Was ich ja will, ist die Möglichkeit, die "normalen" Simulationen im > Modelsim einfach zu beschleunigen. Das mache ich damit indirekt. Während ein Simulationsdurchlauf in Modelsim 5 Minuten dauert, läuft der Test in Hardware in 2 Sekunden durch. > Ergo müsste man die Mathe nachbauen Genau das habe ich gemacht. Aber um viele verschiedene Eingangsparameter(-kombinationen) auszutesten ist mir die Simulation zu langsam. Fehlerfälle kann ich mir dann im Simulator immer noch genau angucken. > Wie gesagt, erstmal will ich den step1: Statt Modelsim alleine in > Software (der macht das sogar mit Real soweit ich weiss) trödeln zu > lassen, sollen Teile des Designs als bereits compilierte HW laufen. Muss > ja nicht Echtzeit sein. Nur eben schneller, als SW. Das wird so nicht gehen. Modelsim läßt sich - meines Wissens nach - nicht durch FPGAs beschleunigen. Duke
>Aber ISim kann HW <-> SW CoSimulation Hast du damit Erfahrung? soweit ich sehe, braucht es eine Sonderlizenz.:-( Geht das auch für Altera? > Das wird so nicht gehen. Modelsim läßt sich - meines Wissens nach - > nicht durch FPGAs beschleunigen. Die hier machen sowas: http://www.msc-ge.com/de/news/pressroom/essays/4884-www/4371-www.html
Das geht auch bei Altera. Siehe Systembuilder / DSP-builder.
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.