www.pudn.com > xc9572_1.rar > counter9.vhd
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
-- Uncomment the following lines to use the declarations that are
-- provided for instantiating Xilinx primitive components.
--library UNISIM;
--use UNISIM.VComponents.all;
entity counter8 is
Port ( Din : in std_logic_vector(9 downto 0);
CE : in std_logic;
CLR : in std_logic;
UP : in std_logic;
L : in std_logic;
CCLK : in std_logic;
Qout : out std_logic_vector(9 downto 0));
end counter8;
architecture Behavioral of counter8 is
-- constant terminal_up:std_logic_vector(7 downto 0) :=(others => '1');
-- constant terminal_down:std_logic_vector(7 downto 0) :=(others => '0');
signal Temp:std_logic_vector(9 downto 0);
begin
process(CCLK,CLR)
begin
if(CLR='1') then
Temp<=(others=>'0');
elsif (CCLK'event and CCLK='1') then
if(L='1') then
Temp<=Din;
elsif(CE='0') then
if(UP='1') then
Temp<= Temp+1;
elsif(UP='0') then
Temp<= Temp-1;
end if;
end if;
end if;
end process;
Qout<=temp;
end Behavioral;