VHDL for FPGA Design/4-Bit BCD Counter with Clock Enable

From Wikibooks, open books for an open world
< VHDL for FPGA Design
Jump to: navigation, search

[edit] 4-Bit BCD Up Counter with Clock Enable

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
 
entity Counter2_VHDL is
   port( Clock_enable: in std_logic;
         Clock: in std_logic;
         Reset: in std_logic;
         Output: out std_logic_vector(0 to 3));
end Counter2_VHDL;
 
architecture Behavioral of Counter2_VHDL is
   signal temp: std_logic_vector(0 to 3);
begin   process(Clock,Reset)
   begin
      if Reset='1' then
         temp <= "0000";
      elsif(Clock'event and Clock='1') then
         if Clock_enable='0' then
            if temp="1001" then
               temp<="0000";
            else
               temp <= temp + 1;
            end if;
         else
            temp <= temp;
         end if;
      end if;
   end process;
   Output <= temp;
end Behavioral;

[edit] Simulation Results

 Counter bcd enable f.png

VHDL for FPGA DesignVHDL for FPGA DesignVHDL for FPGA Design

Personal tools
Namespaces
Variants
Actions
Navigation
Community
Toolbox
In other languages
Sister projects
Print/export