xGCFx
Stammgast
Beiträge: 33 Ort: Dresden
|
Erstellt: 25.04.06, 20:57 Betreff: Re: Register mit FLIP Flop
drucken
weiterempfehlen
|
|
|
Also erstmal im Deklarationsteil der Architecture die Component deklarieren:
... architecture rtl of reg is
component dff is port ( d : in std_logic; clk : in std_logic; q : out std_logic); end component dff; ...
Dann im Architecture Body die Component instanziieren:
... begin
dff_0 : dff port map ( d => d_in(0), clk => clk_in, q => q_out(0)); dff_1 : dff port map ( d => d_in(1), clk => clk_in, q => q_out(1)); dff_2 : dff port map ( d => d_in(2), clk => clk_in, q => q_out(2)); .....
end architecture rtl;
d_in, clk_in, q_out sind dabei die Signale der Entity des Registers reg.
Die Instanziierung kann man auch etwas eleganter machen, zB für nen 4 bit breites Register:
... begin
reg4 : for index in 0 to 3 generate reg_x : dff port map ( d(index) => d_in(index), clk => clk_in, q(index) => q_out(index)); end generate reg4;
end architecture rtl;
Bei der Methode werden mit der for Schleife 4 Register instanziiert und mit der Index Variable werden die jeweilig zusammengehöreigen Signale verdrahtet.
Als Referenz empfehle ich immer den Designers Guide to VHDL von Peter Ashenden. Aber zB bei www.vhdl-online.de müsste man auch Infos zu dem Thema finden.
|
|