diff options
author | rahulp13 | 2019-12-04 11:58:03 +0530 |
---|---|---|
committer | rahulp13 | 2019-12-04 11:58:03 +0530 |
commit | 00abfdcbc9093ef52aefa8a63d4cb28a837ccc66 (patch) | |
tree | fbfc7b5146ccdc4748d99c06bfe0f2b3168da505 /Example/counter/up_counter.vhdl | |
parent | 0095eb955212199f27ccee94f88871c3b202a7b2 (diff) | |
download | nghdl-00abfdcbc9093ef52aefa8a63d4cb28a837ccc66.tar.gz nghdl-00abfdcbc9093ef52aefa8a63d4cb28a837ccc66.tar.bz2 nghdl-00abfdcbc9093ef52aefa8a63d4cb28a837ccc66.zip |
up counter example
Diffstat (limited to 'Example/counter/up_counter.vhdl')
-rw-r--r-- | Example/counter/up_counter.vhdl | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Example/counter/up_counter.vhdl b/Example/counter/up_counter.vhdl new file mode 100644 index 0000000..bd27fcf --- /dev/null +++ b/Example/counter/up_counter.vhdl @@ -0,0 +1,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;
\ No newline at end of file |