Diseñe un contador ascendente/descendente módulo 11. El contado debe tener una entra dirección que p

Diseñe un contador ascendente/descendente módulo 11. El contado debe tener una entra dirección que permite direccionar el conteo en forma ascendente o descendente (Ver figura 4). La salida del contador debe ser de 4 bits..

Necesito esta programación en vhdl, más sin embargo mira mi avance, pero aun sigo con muchos errores te agradezco

library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
use IEEE.std_logic_unsigned.all;

-- Uncomment the following library declaration if using
-- arithmetic functions with Signed or Unsigned values
--use IEEE.NUMERIC_STD.ALL;

-- Uncomment the following library declaration if instantiating
-- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity comp_practico is
Port ( clk : in STD_LOGIC;
reset : in STD_LOGIC;
direccion : in STD_LOGIC;
salida : out STD_LOGIC_VECTOR (3 downto 0));
end comp_practico;

architecture Behavioral of comp_practico is
signal Q, D : STD_LOGIC_VECTOR (3 downto 0);
begin
process(reset,clk)
begin
if reset='1' then
Q <= "0000";
Q <= "1001";
elsif clk'event and clk = '1' then
if direccion = '1' then
Q <= "0000";
Q <= Q + 1;
else
Q <= Q - 1;
end if;
Q <= Q;
end if;
end process;
D <="0000" when Q ="1011" else
Q + '1';
D <="1001" when Q ="1011" else
Q - '1';
--Q - '1';
salida <= Q;
end Behavioral;

Añade tu respuesta

Haz clic para o