21.07.2013 Aufrufe

Schaltungsdesign mit VHDL

Schaltungsdesign mit VHDL

Schaltungsdesign mit VHDL

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

B Die Sprache <strong>VHDL</strong><br />

ARCHITECTURE structural OF shift_register IS<br />

SIGNAL intern : bit_vector(1 TO n-1) ;<br />

COMPONENT d_ff_socket<br />

PORT (d, clk : IN bit ; q : OUT bit) ;<br />

END COMPONENT ;<br />

BEGIN<br />

reg : FOR i IN n DOWNTO 1 GENERATE<br />

-- erstes D-FF: <strong>mit</strong> Eingang verdrahtet --------------------reg_begin<br />

: IF i = 1 GENERATE<br />

d_ff_begin : d_ff_socket<br />

PORT MAP (ser_in,clk,intern(i)) ;<br />

END GENERATE ;<br />

-- <strong>mit</strong>tlere D-FFs -----------------------------------------reg_middle<br />

: IF i > 1 AND i < n GENERATE<br />

d_ff_middle : d_ff_socket<br />

PORT MAP (intern(i-1),clk,intern(i)) ;<br />

END GENERATE ;<br />

-- letztes D-FF: <strong>mit</strong> Ausgang verdrahtet -------------------reg_end<br />

: IF i = n GENERATE<br />

d_ff_end : d_ff_socket<br />

PORT MAP (intern(i-1),clk,ser_out) ;<br />

END GENERATE ;<br />

END GENERATE ;<br />

END structural ;<br />

Mit 393 wird ein optionaler Deklarationsteil für die GENERATE-Anweisung<br />

ermöglicht. Er entspricht dem Deklarationsteil von BLOCK<br />

oder ARCHITECTURE:<br />

gen_name : FOR var_name IN disc_range GENERATE<br />

[ ...<br />

... Deklarationsteil<br />

...<br />

BEGIN ]<br />

...<br />

END GENERATE [gen_name] ;<br />

Die gleiche Erweiterungsmöglichkeit von 393 gilt auch für die IF-<br />

Variante der GENERATE-Anweisung.<br />

118 © G. Lehmann/B. Wunder/M. Selz

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!