Christoph Z. schrieb:
>> Gibt es einen guten Grund dafür?
>
> Ich bin immer interessiert an objektiven Gründen für ein bestimmtes
> Vorgehen.
Das Ganze betrifft mehr Simulationsumgebungen als synthetisierbare
Dateien.
Ein Grund ist, dass es verschiedene Implementierungen (architectures)
für eine entity geben kann.
Man kann dann in eine library eine weitere architecture nachträglich
hineinkompilieren, ohne die Interface-Beschreibung zu ändern.
Hätte man die Enitity Beschreibung und die Architecture im gleichen
File, dann würde der Simulator jedesmal merken, dass Entity Beschreibung
neuer ist als der Rest und würde verlangen, dass alle darauf aufbauenden
Entities auch neu kompiliert werden müssen.
Das kann dann einm Rattenschwanz sein, der sich bis ins Top_level
hinzieht.
Hat man die Interface Beschreibung in einem getrennten File, dann wird
diese nicht jedesmal mitkompiliert, wenn man die Architecture ändert
oder erweitert.
Der Simulator weiss in diesem Fall, dass sich die Schnittstellen nicht
geändert haben kann, und verkangt keine Neukompilation der darauf
aufbauenden Units.