Forum: FPGA, VHDL & Co. Modelsim Clock Signal erzeugen


von Plau S. (radih)


Lesenswert?

Hallo,

ich bin neu in Modelsim und habe nach dem Tutorial versucht mein Design 
zu simulieren.
Es klappt ja soweit, nur das Erzeugen von Clock ist irgendwie nicht so 
selbstverstaendlich.

Wenn ich eintippe:

force -freeze sim:/lcm_programm/clock50 1 0, 0 {10 ns} -r 20 ns

sagt mir modelsim:

** Error: (vsim-3463) Period of -repeat must be greater than or equal to 
10us.

Dabei will ich doch ein Clock mir Period 20ns (sprich 50 MHz)


Wie soll das gehen?

von Falk B. (falk)


Lesenswert?

@ Plau Sein (radih)

>ich bin neu in Modelsim und habe nach dem Tutorial versucht mein Design
>zu simulieren.
>Es klappt ja soweit, nur das Erzeugen von Clock ist irgendwie nicht so
>selbstverstaendlich.

Das macht man sinnvollerweise in der (VHDL) Testbench, nicht im 
Modelsim.

MFG
Falk

von Plau S. (radih)


Lesenswert?

davon weiss ich nichts

wie soll ich denn testbench in vhdl machen...

ich habe mein design entworfen und der clock wird von der fpga platine 
automatisch erzeugt...50 MHz

deswegen will ich es mit modelsim simulieren

hmm

kannst du mir erklaeren wie ich es mache bzw.
wenn nicht so , dann mit vhdl testbench

von Fred S. (Gast)


Angehängte Dateien:

Lesenswert?

Hi Plau Sein,

ich habe es gestern zum ersten Mal gemacht, es geht so: Wenn Du das 
WebPack benutzt, im Navigator rechte Maustaste auf Deine VHDL-Datei im 
"Sources in Project" Fenster. "New Source" und "Test Bench Waveform" 
wählen. Die weiteren Schritte erklären sich selbst!

Viel Erfolg,

Fred

von Philip K. (plip)


Lesenswert?

Mach in der Testbench nen Prozess mit wait Anweisung und toggle Dein 
clk-Signal.

Warum Dein tcl nicht funktionier weiß ich gard auch nicht.

von Plau S. (radih)


Lesenswert?

ich habe mal einbisschen nachgelesen und geschaut wie es mit test bench 
geht und jetzt klappt es endlich:)))

aber das ist ja wahnsinnig wie langsam es geht :)))

10 ms Simulation dauert ca. 20 min :)) (ich beobachte aber alle Signale)

Aber macht nichts , es macht mir Spass es zu beobachten

Danke also Leute

von Falk B. (falk)


Lesenswert?

@ Plau Sein (radih)

>10 ms Simulation dauert ca. 20 min :)) (ich beobachte aber alle Signale)

Was für ein Riesendesign hast du denn? Bis 10000 VHDL Zeilen läuft 
Modelsimm noch ohne Bremse.

MfG
falk

von Seegers (Gast)


Lesenswert?

process blahbalhbalh
 begin
  clk <= '1';
  wait for 10 ns;
  clk <= '0';
  wait for 10 ns;
 end

Gibt Dich 50 Mega Herzen

von Matthias (Gast)


Lesenswert?

geht noch einfacher, wenn mans nicht in nen Prozess schreibt:

clk <= not(clk) after 10 ns;

von Plau S. (radih)


Lesenswert?

> Gibt Dich 50 Mega Herzen

Genauso habe ich es gemacht und es funktioniert wie ich davor schon 
sagte:))
Danke trotzdem!


> Was für ein Riesendesign hast du denn?

Keine Ahnung wieso es so lange dauert:) das Design ist nicht riesig

2 ineinander verschachtelte Komponenten
1 blockram Komponente
1 alt_pll fuer 25 mhz Aufteilung von den 50 mhz

1 wrapper modell

dann mache ich dieses test bench :)

blah 10 ns
blah 10 ns , sprich 50 MHz

und in modelsim fuege ich alle moegliche signale(auch von den ineinander 
geschachtelten Komponenten) ein und starte es...

run

dann run irgendwas (z.B. 10 ms oder gar 5000ms)
und es erzeugt pro Sekunde  ca. 10000ns

von Philip K. (plip)


Lesenswert?

Matthias wrote:
> geht noch einfacher, wenn mans nicht in nen Prozess schreibt:
>
> clk <= not(clk) after 10 ns;

Echt, das funktioniert?

von Philip K. (plip)


Lesenswert?

Falk Brunner wrote:
> @ Plau Sein (radih)
>
>>10 ms Simulation dauert ca. 20 min :)) (ich beobachte aber alle Signale)
>
> Was für ein Riesendesign hast du denn? Bis 10000 VHDL Zeilen läuft
> Modelsimm noch ohne Bremse.
>
> MfG
> falk

Hmm, also ich hab in meiner DA knapp 5000 und da lag zwischen der freien 
Version und der kostenpflichtigen (die ich zum Glück zur Verfügung 
hatte) ein Verhältnis von etwa einer Nacht zu einer Stunde.

von Falk B. (falk)


Lesenswert?

@ Philip Kirchhoff (plip)

>Hmm, also ich hab in meiner DA knapp 5000 und da lag zwischen der freien
>Version und der kostenpflichtigen (die ich zum Glück zur Verfügung
>hatte) ein Verhältnis von etwa einer Nacht zu einer Stunde.

Was hast du denn dafür gigantische Sachen simuliert? Hab ich nie 
gemacht. Immer nur kleinere Module und Modulgruppen. Der Rest dann im 
realen System testen. Sind ja schliesslich FPGAs

Hier der Vergleich der verschiedenen Modelsim Versionen

http://www.xilinx.com/support/answers/24506.htm

MFG
Falk

von Philip K. (plip)


Lesenswert?

Naja, ich hab zum Schluss schon das Gesamtsystem getestet.
Und ich hab an sehr vielen Stellen Signale in Dateien geschrieben, um 
mit einem Matlab-Modell zu vergleichen.

von Sym (Gast)


Lesenswert?

Die Geschwindigkeit ist normal. Versuche mal DSP-Dinge im FPGA zu 
rechnen und in Modelsim zu simulieren. gähn Da brauchts gleich mal für 
die ne 1 ms Simulation ne Minute ohne dass das FPGA im geringsten voll 
wäre.

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.