Gast
#691210
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;