blob: 80e978319c2ad742580cec1170f123be8336e9a4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity up_counter is
port(Clock : in std_logic;
CLR : in std_logic;
Q : out std_logic_vector(3 downto 0));
end up_counter;
architecture beh of up_counter is
signal tmp: unsigned(3 downto 0) := "0000";
--------------- Other ways to initialize --------------
-- signal tmp: unsigned(3 downto 0) := x"0";
-- signal tmp: unsigned(3 downto 0) := (others => '0');
-------------------------------------------------------
begin
process (Clock, CLR)
begin
if (CLR='1') then
tmp <= "0000";
elsif (Clock'event and Clock='1') then
if tmp="1111" then
tmp <= x"0";
else
tmp <= tmp +1;
end if;
end if;
end process;
Q <= std_logic_vector (tmp);
end beh;
|