GENERATE
Nebenläufige Anweisungen – GENERATE
ENTITY n_bit_register IS |
Die GENERATE-Anweisung kann dazu benutzt werden, viele gleichartige nebenläufige Anweisungen (z.B. Komponenteninstantiierungen) kompakt darzustellen.
GENERATE-Anweisungen müssen ein Label besitzen. In diesem ersten Beispiel wird die Variante einer FOR-Schleife verwendet. Der GENERATE-Konstrukt wird so oft durchlaufen, bis der (implizit deklarierte) Schleifenindex i alle Werte im Bereich (hier: n DOWNTO 0) angenommen hat. In diesem Fall wurde die Breite des hier realisierten Registers sogar über einen GENERIC realisiert, ist damit parametrisierbar. |
ENTITY shift_register IS |
In diesem Beispiel wird ein Schieberegister mit Hilfe von zwei verschachtelten GENERATES realisiert. Die innere Ebene verwendet die zweite Syntaxmöglichkeit, die Angabe einer Bedingung. Hiermit wird zwischen dem ersten, den mittleren und dem letztetn FlipFlop des Schieberegisters unterschieden. |