mikrocontroller.net

Forum: FPGA, VHDL & Co. VHDL/ mehrere *.vhd in einem Projekt


Autor: Toni Müller (Firma: Private) (toggle2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte mehrere *.vhd Dateien in einem Projekt haben. Dabei möglichst 
auch innerhalb der einzelnen Dateien lokale Variablen und Globale 
Variablen(die mit den Anderen Dateien ausgetauscht werden sollen) 
ermöglichen.

Ist das mit VHDL überhaupt möglich und wenn wie? Ich kenne das bisher 
nur von C...

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Toni Müller schrieb:
> Ist das mit VHDL überhaupt möglich und wenn wie? Ich kenne das bisher
> nur von C...

Möglich ist es im Prinzip schon, aber soviel ich weiss in der Synthese 
nicht unterstützt und absolut nicht notwendig.

VHDL funktioniert komplett anders als C, die Schnittstellen sind immer 
die Port-Signale der Entities.

Autor: Toni Müller (Firma: Private) (toggle2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, ich möchte halt Zähler in eine andere Datei auslagern, damit der 
Quelltext etwas übersichtlicher wird. Habe mitlerweile ca. 1000 Zeilen 
und da wird man schon mal was durcheinander, wenn man die ständig hoch 
und runterscrollen muss, um was zu finden.

Besteht da denn wirklich keine Möglichkeit?

Autor: Andreas Bergmann (Firma: www.collion.de) (bergy) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Toni,

dann bau Dir eine Komponente (component).
Die bekommt dann die notwendigen Inputs (clk,reset,clr oder was auch 
immer) und den Zaehlervector als Ausgang.

Die hohe Kunst wirds dann, wenn Du dir diese Komponente dann so 
schreibst dass Sie parametrisierbar wird... (Bitbreite etc.).
Damit baust Du Dir dann einen Baukasten zusammen, auf den Du immer 
wieder zurückgreifen kannst...

Gruß

Andreas

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Naja, ich möchte halt Zähler in eine andere Datei auslagern
Du lagerst in VHDL einzelne funktionelle Komponenten in andere Dateien 
aus. Allerdings ist es nicht sinnvoll, schon einen Zähler als 
eigenständige Komponente anzusehen.

> Habe mitlerweile ca. 1000 Zeilen
Was wird in den Zeilen beschrieben?
Wie könntest du das in sinnvolle Module umpacken (mit einer 
übersichtlichen Anzahl Signalen am Port)?

Du hast offenbar noch einen recht ausschweifenden Beschreibungsstil. 
Hast du das schon mal genauer angeschaut: 
Beitrag "Quelltext verkürzen VHDL"

Oder du machst die Datenübergabe mit Records: 
Beitrag "Re: Datei-struktur und Benamung bei der VHDL Entwicklung".
Aber das ist schon nicht mehr so trivial...

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Toni Müller schrieb:
> Besteht da denn wirklich keine Möglichkeit?

Dir ist wirklich zu empfehlen, ein Buch über VHDL zu lesen.
Die Strukturierung bei einem VHDL Projekt ist komplett unterschiedlich 
zu C und sogar bei C ist die Verwendung von globalen Veriablen am Besten 
auf ein Minimum zu reduzieren.

Nimm das Ganze als Chance Dein Projekt zz strukturieren. Jede Entity 
bekommt von außen genau die Signale, die sie zum Arbeiten braucht und 
gibt entsprechende Signale zurück.
Jedes Signal wird somit nur an genau einer Stelle erzeugt, und an 
verschiedenen Stellen verwendet.
Ein "Schreiben" auf ein globales Signal an mehreren Punkten des Projekts 
ist sowieso ein Designfehler (außer für Testbenches).

Autor: Toni Müller (Firma: Private) (toggle2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lothar Miller schrieb:
> Du hast offenbar noch einen recht ausschweifenden Beschreibungsstil.
> Hast du das schon mal genauer angeschaut:
> Beitrag "Quelltext verkürzen VHDL"

ich werd das jetzt mal mit component versuchen. Hab da auch was in einem 
Buch zu gefunden.
Ich habe mir deine Tipps schon angeschaut und alles umgesetzt, außer das 
mit dem array, da bin ich noch nicht ganz hintergestiegen...

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Toni Müller schrieb:
> außer das mit dem array, da bin ich noch nicht ganz hintergestiegen...
Lass dir dafür mal noch Zeit. Mit dem Link meinte ich auch eher die 
Aufteilung in einzelne Komponenten...

> Hab da auch was in einem Buch zu gefunden.
Dazu empfehle ich den Beitrag "VHDL-Buch f. Einsteiger"

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.