VHDL Kompakt - CES
VHDL Kompakt - CES
VHDL Kompakt - CES
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
1. Konzepte von <strong>VHDL</strong><br />
Syntax<br />
configuration 〈configurationId〉 of 〈entityId〉 is<br />
for 〈architectureId〉<br />
{〈component configuration〉}<br />
end for;<br />
end [configuration] [ 〈configurationId〉 ];<br />
〈component configuration〉 ::=<br />
for 〈instance〉: 〈componentId〉<br />
use entity [ 〈libraryId〉.] 〈entityId〉 [(〈archId〉)] [ 〈mapping〉 ] ;|<br />
use configuration [ 〈libraryId〉.] 〈configId〉 [ 〈mapping〉 ] ;<br />
[ for 〈architectureId〉<br />
{〈component configuration〉}<br />
end for; ]<br />
end for;<br />
〈instance〉 ::= 〈label〉{, 〈label〉} | others | all<br />
〈mapping〉 ::= [ 〈generic map〉 ] [ 〈port map〉 ]<br />
In dem nachfolgenden Beispiel wird die entity COMPARE in einer ALU benutzt (strukturelle<br />
Beschreibung der architecture ... of ALU).<br />
Beispiel<br />
entity ALU is Entity Beschreibung der ALU<br />
port ( opcode: ...<br />
end entity ALU;<br />
architecture FIRST of ALU is Architektur der ALU (Strukturbeschreibung)<br />
component COMPARE is<br />
port (A, B: in bit; C: out bit);<br />
end component COMPARE;<br />
...<br />
begin<br />
I0: COMPARE port map (S, D, Q); Instanz I0 der entity COMPARE<br />
...<br />
end architecture FIRST;<br />
configuration FAST_ALU of ALU is<br />
for FIRST Architektur die konfiguriert wird<br />
for I0: COMPARE use entity WORK.COMPARE(ARCH_BEHAV);<br />
... legt Entitynamen und dessen Architektur fest<br />
...<br />
end configuration FAST_ALU;<br />
Da Konfigurationen separate Entwurfseinheiten sind, können sie auch direkt für die Simulation<br />
benutzt werden. In obigem Beispiel wäre es möglich diese Konfiguration zu simulieren<br />
als: 〈mySimulator〉 WORK.FAST_ALU<br />
Später in dem Abschnitt zur Hierarchie 8.1.2, ab Seite 55, werden Konfigurationen noch<br />
genauer vorgestellt.<br />
8