VHDL/ mehrere *.vhd in einem Projekt

OP (Firma: Private) #1574820
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...
#1574840
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.
OP (Firma: Private) #1574852
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?
(Firma: www.collion.de) Persönliche Seite #1574869
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
Moderator (Firma: Titel) Persönliche Seite #1574873
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...
#1574892
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).
OP (Firma: Private) #1574909
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...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren