VHDL: Komponenten und deren Architekturen

Hi,

vielleicht ist hier ja einer auch fit in VHDL:

Kann ich mir bei der Instanziierung einer Komponente deren Architektur auswählen (sofern es mehrere Architekturen gibt)?

Es geht irgendwie mit

FOR USE ENTITY .(Archtektur-Name);

vor der eigentlichen Instanziierung. Aber zum Einen scheint mir das mächtig umständlich, zum Anderen habe ich’s auch noch nicht hingekriegt, weil der Beispielscode, den ich habe, nicht ausführlich genug ist. Woher kommt z. B. die ?

Ich arbeite mit Quartus II, dort sind Bibliotheken für Komponenten nicht üblich, zumindest weiß ich nicht, wie’s geht und möchte es vermeiden.

Es müsste doch ein Konstrukt geben, bei dem die einfache Instanziierung nur um die Architekturnamensangabe erweitert wird:

Statt

:

nur

: (Archtektur-Name)

W-W-W?

Grüße

Uwe

Hallo,

so einfach wie Du es Dir wünscht geht es wohl nicht. Unter
http://tech-www.informatik.uni-hamburg.de/vhdl/tools…
findet man eine Beschreibung der gesamten VHDL Syntax, daran kann man erkennen an welcher Stelle welche Sprachkonstrukte verwendet werden können. Ist allerdings nicht so ganz einfach zu lesen.

Für jede instantiierte Komponente kann man eine Architektur auswählen. Dafür muss man eine Konfiguration erstellen, die nach der Architektur angegeben wird. Da kommt auch das

FOR USE ENTITY
.(Archtektur-Name);

vor.

Also in etwa so:
library …
use …
entity …
architecture …
configuration of is
for
for : use entity ()
end for;
end for;
end configuration;

Bei

.(Archtektur-Name);

musst Du die Bibliothek eigentlich nur angeben, falls es da mehrere Möglichkeiten gibt (Entity mit gleichen Namen in versch. Bibl.).

Jaja, VHDL ist manchmal etwas umständlich, aber ich hoffe es hilft Dir trotzdem weiter.

Gruß,
Ferdinand