--===========================================================================--
|
--===========================================================================--
|
-- --
|
-- --
|
-- LED Flasher --
|
-- LED Flasher --
|
-- --
|
-- --
|
--===========================================================================--
|
--===========================================================================--
|
--
|
--
|
-- File name : flasher.vhd
|
-- File name : flasher.vhd
|
--
|
--
|
-- Entity name : flasher
|
-- Entity name : flasher
|
--
|
--
|
-- Purpose : Implements a long counter used to flash a LED
|
-- Purpose : Implements a long counter used to flash a LED
|
-- to indicate code has loaded correctly
|
-- to indicate code has loaded correctly
|
--
|
--
|
-- Dependencies : ieee.std_logic_1164
|
-- Dependencies : ieee.std_logic_1164
|
-- ieee.numeric_std
|
-- ieee.numeric_std
|
-- ieee.std_logic_unsigned
|
-- ieee.std_logic_unsigned
|
-- unisim.vcomponents
|
|
--
|
--
|
-- Author : John E. Kent
|
-- Author : John E. Kent
|
--
|
--
|
-- Email : dilbert57@opencores.org
|
-- Email : dilbert57@opencores.org
|
--
|
--
|
-- Web : http://opencores.org/project,system09
|
-- Web : http://opencores.org/project,system09
|
--
|
--
|
--
|
--
|
-- Copyright (C) 2010 John Kent
|
-- Copyright (C) 2010 John Kent
|
--
|
--
|
-- This program is free software: you can redistribute it and/or modify
|
-- This program is free software: you can redistribute it and/or modify
|
-- it under the terms of the GNU General Public License as published by
|
-- it under the terms of the GNU General Public License as published by
|
-- the Free Software Foundation, either version 3 of the License, or
|
-- the Free Software Foundation, either version 3 of the License, or
|
-- (at your option) any later version.
|
-- (at your option) any later version.
|
--
|
--
|
-- This program is distributed in the hope that it will be useful,
|
-- This program is distributed in the hope that it will be useful,
|
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
-- GNU General Public License for more details.
|
-- GNU General Public License for more details.
|
--
|
--
|
-- You should have received a copy of the GNU General Public License
|
-- You should have received a copy of the GNU General Public License
|
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
|
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
|
--
|
--
|
--===========================================================================--
|
--===========================================================================--
|
-- --
|
-- --
|
-- Revision History --
|
-- Revision History --
|
-- --
|
-- --
|
--===========================================================================--
|
--===========================================================================--
|
--
|
--
|
-- Version Author Date Changes
|
-- Version Author Date Changes
|
--
|
--
|
-- 0.1 John Kent 2010-08-28 Made separate module
|
-- 0.1 John Kent 2010-08-28 Made separate module
|
--
|
--
|
|
|
library ieee;
|
library ieee;
|
use ieee.std_logic_1164.all;
|
use ieee.std_logic_1164.all;
|
use ieee.numeric_std.all;
|
use ieee.numeric_std.all;
|
use ieee.std_logic_unsigned.all;
|
use ieee.std_logic_unsigned.all;
|
library unisim;
|
--library unisim;
|
use unisim.vcomponents.all;
|
-- use unisim.vcomponents.all;
|
|
|
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
-- Entity for B3_SRAM --
|
-- Entity for B3_SRAM --
|
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
|
|
entity flasher is
|
entity flasher is
|
port (
|
port (
|
clk : in std_logic; -- Clock input
|
clk : in std_logic; -- Clock input
|
rst : in std_logic; -- Reset input (active high)
|
rst : in std_logic; -- Reset input (active high)
|
LED : out Std_Logic -- LED output
|
LED : out Std_Logic -- LED output
|
);
|
);
|
end flasher;
|
end flasher;
|
|
|
--================== End of entity ==============================--
|
--================== End of entity ==============================--
|
|
|
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
-- Architecture for Flasher
|
-- Architecture for Flasher
|
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
|
|
architecture rtl of flasher is
|
architecture rtl of flasher is
|
|
|
-- Flashing LED test signals
|
-- Flashing LED test signals
|
signal countL : std_logic_vector(23 downto 0);
|
signal countL : std_logic_vector(23 downto 0);
|
|
|
begin
|
begin
|
|
|
--
|
--
|
-- LED Flasher to indicate code has loaded
|
-- LED Flasher to indicate code has loaded
|
--
|
--
|
my_LED_Flasher : process (clk, rst, CountL )
|
my_LED_Flasher : process (clk, rst, CountL )
|
begin
|
begin
|
if falling_edge(clk) then
|
if falling_edge(clk) then
|
if rst = '1' then
|
if rst = '1' then
|
countL <= (others=>'0');
|
countL <= (others=>'0');
|
else
|
else
|
countL <= countL + 1;
|
countL <= countL + 1;
|
end if;
|
end if;
|
end if;
|
end if;
|
LED <= countL(23);
|
LED <= countL(23);
|
end process;
|
end process;
|
|
|
|
|