Wb led.vhd

From ArmadeusWiki

Jump to: navigation, search
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.numeric_std.all;
 
-----------------------------------------------------------------------
	Entity Wb_led is 
-----------------------------------------------------------------------
    port 
    (
		-- Syscon signals
		wbc_candr_reset : in std_logic ;
		wbc_candr_clk	  : in std_logic ;
		-- Wishbone signals
		wbs_sled_writedata : in std_logic_vector( 15 downto 0);
		wbs_sled_readdata  : out std_logic_vector( 15 downto 0);
		wbs_sled_strobe    : in std_logic ;
		wbs_sled_write	  : in std_logic ;
		wbs_sled_ack	      : out std_logic;
		-- out signals
		gls_led_export : out std_logic 
    );
end entity;
 
 
-----------------------------------------------------------------------
Architecture Wb_led_1 of Wb_led is
-----------------------------------------------------------------------
	signal reg : std_logic_vector( 15 downto 0);
begin
 
-- connect led
gls_led_export <= reg(0);
 
-- manage register
reg_bloc : process(wbc_candr_clk,wbc_candr_reset)
begin
	if wbc_candr_reset = '1' then 
		reg <= (others => '0');
	elsif rising_edge(wbc_candr_clk) then
		if ((wbs_sled_strobe and wbs_sled_write) = '1' ) then
			reg <= wbs_sled_writedata;
		else
			reg <= reg;
		end if;
	end if;
 
end process reg_bloc;
 
wbs_sled_ack <= wbs_sled_strobe;
wbs_sled_readdata <= reg;
 
end architecture Wb_led_1;
Personal tools