Files
Nexys/CONTBIN_4BIT.vhd
2022-06-23 00:46:04 -03:00

36 lines
881 B
VHDL

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity CONTBIN_4BIT is
Port ( CLK : in STD_LOGIC;
CLR : in STD_LOGIC;
UP : in STD_LOGIC;
EN : in STD_LOGIC;
ENOUT : out STD_LOGIC;
Q : out STD_LOGIC_VECTOR (3 downto 0));
end CONTBIN_4BIT;
architecture Behavioral of CONTBIN_4BIT is
signal cont, proxcont: std_logic_vector (3 downto 0);
begin
Q <= cont;
proxcont <= cont+(not UP & not UP & not UP & '1') when EN='1' else
cont;
ENOUT <= '1' when (EN = '1' and UP = '1' and cont = "1111") else
'1' when (EN = '1' and UP = '0' and cont = "0000") else
'0';
process (CLK, CLR)
begin
if (CLR = '1') then
cont <= "0000";
elsif (CLK'event and CLK = '1') then
cont <= proxcont;
end if;
end process;
end Behavioral;