library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity up_counter_sync_preload is port(clk, rst_a,load : in std_logic; ip: in std_logic_vector(3 downto 0); q : out std_logic_vector(3 downto 0)); end up_counter_sync_preload; architecture archi of up_counter_sync_preload is begin process (clk, rst_a) variable tmp,cnt : std_logic_vector(3 downto 0):="0000"; begin if (rst_a='1') then tmp := "0000"; elsif (clk'event and clk='1') then cnt:=tmp; if (load='1') then tmp := ip; else tmp := tmp + '1'; end if; assert (tmp-cnt="0001") report "count differ by 1 violate" severity warning; end if; q<=tmp; end process; end archi;
Search This Blog
Monday, 28 October 2013
VHDL Code for 4-bit Up-Down Counter with Pre-Load
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment