Forum: FPGA, VHDL & Co. VDHL-Simulation in Echtzeit von MATLAB aus


von Oli (Gast)


Lesenswert?

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.

von max (Gast)


Lesenswert?

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! 
:)

von Cheffe (Gast)


Lesenswert?

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?

von Harald (Gast)


Lesenswert?

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?

von Duke Scarring (Gast)


Lesenswert?

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

von Harald (Gast)


Lesenswert?

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.

von Duke Scarring (Gast)


Lesenswert?

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

von Tom (Gast)


Lesenswert?

Aber ISim kann HW <-> SW CoSimulation

von Harald (Gast)


Lesenswert?

>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

von J. S. (engineer) Benutzerseite


Lesenswert?

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
Noch kein Account? Hier anmelden.