Hallo Zusammen,
hab mir grad mal das Beispielprogramm des 4Bit Addierers aus dem VHDL
Tutorial angschaut und eine Frage die Strukur von VHDL betreffend.
Woher weiss der Compiler, was hier die Top-Entity ist?
FULLADDER und FOURBITTADD sind von der Strultur her identisch. Bei einem
C programm ist es ja z.B. durch main() klar definiert. Erkennt der
Compiler, das FOURBITADD FULLADDER einbindet und erkennt daran die
hierarchische Struktur? Und warum muss ich vor jeder Entity die
Fuktionsbibliotheken immer wieder neu einbinden. Waerum genügt es nicht,
das einmal zu deklarieren?
Danke für eure Hilfe
gruß
kristian
Kristian Herr wrote:
> hab mir grad mal das Beispielprogramm des 4Bit Addierers aus dem VHDL> Tutorial angschaut und eine Frage die Strukur von VHDL betreffend.
Woher ist es denn? So ein Addierer als Beispiel zu VHDL ist naemlich
Kaese. Schau dir VHDL und Rechnen in VHDL an.
> Woher weiss der Compiler, was hier die Top-Entity ist?
Muss er nicht, die Top-Entity wird z.B. beim Synthese Tool in den
Projekt-Einstellungen festgelegt.
> FULLADDER und FOURBITTADD sind von der Strultur her identisch. Bei einem> C programm ist es ja z.B. durch main() klar definiert.
Den C Compiler interessiert die spezielle Semantik von main() nicht im
geringsten. Die 'kompilierten' Entities sind eher mit Libraries in der C
Welt vergleichbar.
Cheers, Roger
Ja, in diesem wunderhübschen Lehrbuchbeispiel wird also einmal die
strukturelle Beschreibung und einmal die Verhaltensbeschreibung
dargelegt.
Das Hauptproblem ist, dass der lernwillige Schüler aber das meiste
Hirnschmalz damit verbrät, den Addierer zu kapieren. Die eigentliche
Idee der Übung, nämlich beide Beschreibungsarten direkt zu vergleichen,
geht flöten.
Und die Top-Entity ist die, die nicht mehr als Komponente irgendwo
verwendet wird.
BTW ist ein Simulator-VHDL-Modul einfach daran zu erkennen, dass keine
Ports mehr nach aussen gehen.
lkmiller wrote:
> Und die Top-Entity ist die, die nicht mehr als Komponente irgendwo> verwendet wird.
Das entspricht ja dem, was ich vermutet hab. Ich war zunächst etwas
verwirrt, da Roger meinte, dass die Top Entity in den
Projekteinstellungen festgelegt wird. Das geschieht aber automatisch da
ich den Quellcode als Ganzes hab übersetzen lasen und die Top Entity
wurde automatisch gefunden.