Forum: FPGA, VHDL & Co. Struktur für Verbinden 4-Bit-Zähler mit Volladdierer


von demon (Gast)


Lesenswert?

Hallo,

ich habe eine Frage, weißt jemand wie eine Strukture für Verbinden 
4-Bit-Zähler mit Volladdierer aussehen kann.
Die Verbindung von Zähler und Volladdierer ist so zu gestalten, dass die 
drei niederwertigsten Stellen des Zählers als Eingänge des Volladdieres 
dienen. Alle vier Stellen des Zählers sollen aber auch mit Ausgängen 
verbunden werden.

4-Bit-Zähler:

entity counter4 is
  port (
    clk   : in  std_logic;
    reset : in  std_logic;
    q_out : out std_logic_vector(3 downto 0) );    --Ausgдnge
end counter4;



architecture beh of counter4 is
  signal q,q_ns: std_logic_vector (3 downto 0);

begin  -- beh
  q_out <= q;  -- connect output ports with internal signals

  process (clk,reset) -- process for register function
  begin
    if reset='0' then
      q <= (others => '0');
    else
      if clk'event and clk = '1' then  -- rising clock edge
        q <= q_ns;
      end if;
    end if;
  end process;

  process (q)  -- process for next state decoder
  begin
    q_ns <= unsigned(q)+1;
  end process;

end beh;




Volladdierer:


-- package reference -------------------
library IEEE;
use IEEE.STD_LOGIC_1164.all;

-- entity ------------------------------
entity fulladd is
  port(
    a,b,ci : in std_logic;
    s,co : out std_logic);
end fulladd;

-- architecture ------------------------
architecture beh of fulladd is

  signal h1,h2,h3: std_logic;

begin
  gate5: co <= h2 or h3;
  gate4: s <= h1 xor ci;
  gate3: h3 <= h1 and ci;
  gate2: h1 <= a xor b;
  gate1: h2 <= a and b;

end beh;

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.