-------------------------------------------------------------------------------- -- Company: -- Engineer: -- -- Create Date: 18:45:29 10/22/05 -- Design Name: -- Module Name: prescaler - Behavioral -- Project Name: -- Target Device: -- Tool versions: -- Description: -- -- Dependencies: -- -- Revision: -- Revision 0.01 - File Created -- Additional Comments: -- -------------------------------------------------------------------------------- library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all; entity prescaler is Generic (divide : integer := 8); Port ( rst : in std_logic; clk : in std_logic; ce : in std_logic; rdy : out std_logic); end prescaler; architecture Behavioral of prescaler is begin proc_prescaler: process(rst, clk, ce) variable cnt_prescaler : integer range 0 to divide-1; begin if rst = '1' then cnt_prescaler := divide - 1; rdy <= '0'; elsif clk'event and clk='1' then if ce = '1' then if cnt_prescaler = 0 then cnt_prescaler := divide - 1; rdy <= '1'; else cnt_prescaler := cnt_prescaler - 1; rdy <= '0'; end if; end if; end if; end process proc_prescaler; end Behavioral;