mikrocontroller.net

Forum: FPGA, VHDL & Co. Modelsim Abhängigkeiten


Autor: Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann mir jemand erklären, wie man in Modelsim Abhängigkeiten von 
HDL-Files sich anzeigen lassen kann, z.B. in Form einer Dateiliste mit 
der richtigen Reihenfolge der zu kompilierenden HDLs ?

Hab gelesen dass es vmake gibt (vmake >Makefile). Aber dieses vmake 
trägt nur die HDLs in das Makefile ein, die man bereits in das 
work-Verzeichnis kompiliert hat. Mal abgesehen davon: Wozu soll dieses 
Makefile dann gut sein ? Kann man damit das Design neu kompilieren? Wenn 
ja, wie?

Vielleicht hat jemand ein paar Antworten, bin leicht verwirrt :-)

MfG,
Wilhelm

Autor: Rick Dangerus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
M.E. probiert Modelsim beim Compilieren auch nur solange rum, bis es 
passt. Aber die ermittelte Reihenfolge sollte zumindest die 
Abhängigkeiten berücksichtigen. Ich habe mal irgendwo ein C++-Programm 
gesehen, welches die Abhängigkeiten aufgedröselt hat, aber ich weiss 
nicht mehr wo :-/

Rick

Autor: user (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also du kannst modelsim auf der console mit vcom compilieren lassen. 
Damit macht auch ein makefile sinn. Mit der Makefile kannst du dann auch 
die Abhängigkeiten modelieren.

vlib work
vcom datei1.vhd
vcom datei2.vhd

vlib legt ein work verzeichnis an
vcom compiliert die dateien

Autor: Marcus Harnisch (mharnisch) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wilhelm schrieb:
> Kann mir jemand erklären, wie man in Modelsim Abhängigkeiten von
> HDL-Files sich anzeigen lassen kann, z.B. in Form einer Dateiliste mit
> der richtigen Reihenfolge der zu kompilierenden HDLs ?

Interessieren Dich die genauen Abhängigkeitsregeln absolut 
beliebiger VHDL Dateien, oder reicht es, echte Projektdateien in der 
richtigen Reihenfolge übersetzen zu lassen? In letzterem Fall genügt es 
doch, die Übersetzung auf spezielle Designeinheiten zu beschränken.
  -just eapbc        Compile only selected design unit kinds
                     (e=entity, a=arch, p=package, b=body, c=config)

Die Reihenfolge p-e-a-b-c sollte schon mal ganz gute Ergebnisse bringen.

Viel Spaß
Marcus

Autor: Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Reihenfolge p-e-a-b-c

Wie macht man das ?

Autor: Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo user,

kannst du mir die einzelnen Schritte näher erklären ?

Autor: Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Am sinnvollsten wäre eine Anwendung, mittels derer man die 
Abhängigkeiten von HDL-Dateien in einem Ordner herausfindet und die 
HDL-Dateinamen in der richtigen Reihenfolge in einer Dateiliste ausgeben 
lässt, um die Liste dann im eigenen DO-Skript verwenden zu können. 
Scheint mir doch ein alltägliches Problem zu sein, wundert mich nur, 
dass es da noch nichts Fertiges für gibt.

Gruß,
Wilhelm

Autor: berndl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hatte da mal ein kleines Perl Script gepostet, mag ja als Basis 
dienen...

Autor: berndl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oehm zu schnell gewesen, hier der Link:

Beitrag "Verifikationsplan"

Autor: Kest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab selber nicht ausprobiert, aber kann sowas XEMacs nicht machen? 
Einfach auf "Generate makefile" klicken und schon hat man eine Datei, wo 
die Abhängigkeiten drin sind?

Kest

Autor: Wilhelm (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi Kest,

ja im Prinzip schon. Aber das generierte MakeFile (siehe Anhang) ist 
recht unübersichtlich (ab einer gewissen Größe). Könnte man aus diesem 
File alle HDL-Pfadangaben extrahieren und in ein separates File 
speichern? Also eine Art Liste ... ?

Gruß,
Wilhelm

Autor: Marcus Harnisch (mharnisch) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wilhelm schrieb:
>>Reihenfolge p-e-a-b-c
>
> Wie macht man das ?

In dem man sich nach diesem Hinweis die Doku greift und die Details 
nachliest ;-)

In etwa so (ungetestet, da kein VHDL Projekt zur Hand):

vcom -just p *.vhd
vcom -just e *.vhd
...

Viel Erfolg
Marcus

Autor: Daniel -------- (root)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es ist schon eine Weile her, aber ich glaube GHDL kann mit
einem Schalter (war's? -m) die Abhängigkeiten auflösen.
Vielleicht printet er sie auch aus.

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.