Hallo Ich arbeite mich gerade in ISE mit einem Spartan 3 ein. Das Anfängertutorial habe ich durch . Mein eigener Code tut auch schon laut Simulation das was ich will. Zu Komponenten hätte ich eine Frage. Ich will in einer architecture Komponenten verwenden, die ich erstellt habe. Das System habe ich verstanden. In architecture wird die Deklaration der Komponente kopiert. Später wird eine Instanz der Komponente angelegt und die Verbindungen verdrahtet. Was mich an dem Tutorial gewundert hat ist (und auch bei den fertigen Cores), dass man die Deklaration der Komponenten vollständig kopieren muss. Ist dies nicht ein Punkt, an dem redundante Informationen entstehen? Kann man nicht einfach ein "Include" der Komponente machen, in dem man nur den Namen angibt und nicht den ganzen Port kopieren muss?
Tilo Lutz schrieb: > Was mich an dem Tutorial gewundert hat ist (und auch bei den fertigen > Cores), dass man die Deklaration der Komponenten vollständig kopieren > muss. Ist dies nicht ein Punkt, an dem redundante Informationen > entstehen? Ja. Und selbst ich stolpere da gelegentlich mal drüber (nur die Hälfte geändert...). Wenn Du die Komponente mehrfach verwenden willst, dann erstelle am Besten ein Package dafür. Dann tauch die Komponentendeklaration nur zweimal auf: Einmal in der Komponente und einmal im Package. > Kann man nicht einfach ein "Include" der Komponente machen, in dem man > nur den Namen angibt und nicht den ganzen Port kopieren muss? Alternativ kanst Du folgendes Konstrukt verwenden:
1 | instanz_1_meiner_komponente: entity work.meine_komponente |
2 | generic map ( |
3 | ....
|
4 | )
|
5 | port map ( |
6 | ...
|
7 | );
|
Statt work kanst Du auch auf andere Bibliotheken verweisen. Duke
Ja, ich finde die von Duke Scarring beschriebene "direkte Instanziierung" auch schöner. Allerdings ist hier die Reihefolge beim Kompilieren wichtig: Erst die unteren, dann die oberen Komponenten in der Hierarchie.
Wer von euch verwendet getrennte VHDL-files für configuration und code, um Komponenten austauschen / switchen zu können?
Selbi schrieb: > Wer von euch verwendet getrennte VHDL-files für configuration und code, > um Komponenten austauschen / switchen zu können? Also mir ist das in der Praxis noch nicht untergekommen. Ist doch eher ein akademisches Feature.
Klaus schrieb: > Selbi schrieb: >> Wer von euch verwendet getrennte VHDL-files für configuration und code, >> um Komponenten austauschen / switchen zu können? > > Also mir ist das in der Praxis noch nicht untergekommen. Ist doch eher > ein akademisches Feature. So akademisch auch wieder nicht. Im FPGA Design wird man das kaum verwenden, weil es keine Notwendigkeit gibt, zwischen verschiedenen Designvarianten über Configurations hin und herzuschalten, aber für Testbenches können Configurations nützlich sein. Ich habe z.B. das Modell einer Leiterplatte mit einem FPGA, in das verschiedene Programme geladen werden. Die allgemein gehaltene Testbench wird nur über die configuration zusammengestellt.
Selbi schrieb: > Wer von euch verwendet getrennte VHDL-files für configuration und code, > um Komponenten austauschen / switchen zu können? Wir machen das hier und da auch mal im FPGA design bei architecturen, die die selbe entity haben. Da wir die architecturen nicht alle in die gleiche datei schreiben (wird ein bisschen lang) muss man da via configuration angeben welche architecture nun zur entity gehoert. Oder gibts da was einfacheres??
> Im FPGA Design wird man das kaum verwenden, weil es keine Notwendigkeit
Aber klar, gibt es die: Verschiedene Platinenvarianten, Bestückungen und
Prozessortypen, Taktfrequenzen etc...
Acuh verschiedene Algos kann man so umswitchen. Das Ganze spielt sehr
stark ins configuration managment und formeller SW-Entwicklungsprozesse
rein.
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.