mikrocontroller.net

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


Autor: Plau Sein (radih)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Plau Sein (radih)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Fred S. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Philip Kirchhoff (plip)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Plau Sein (radih)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Seegers (Gast)
Datum:

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

Gibt Dich 50 Mega Herzen

Autor: Matthias (Gast)
Datum:

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

clk <= not(clk) after 10 ns;

Autor: Plau Sein (radih)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Philip Kirchhoff (plip)
Datum:

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

Echt, das funktioniert?

Autor: Philip Kirchhoff (plip)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Philip Kirchhoff (plip)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sym (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.