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...
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.
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?
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
> 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...
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).
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...
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"
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.