📄 ledcontrol.vhd
字号:
--This controls the 8 LEDs on the board
--You can specify a filling factor for each LED, which by PWM is converted to brightness
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity LedControl is
generic ( pwm_precision: positive := 8 );
Port ( --Each of the following inputs specify the brightness of one
--of the LEDs. 0x00 means completly off, 0xFF means full
--brightness
LED0_IN : in std_logic_vector(pwm_precision-1 downto 0);
LED1_IN : in std_logic_vector(pwm_precision-1 downto 0);
LED2_IN : in std_logic_vector(pwm_precision-1 downto 0);
LED3_IN : in std_logic_vector(pwm_precision-1 downto 0);
LED4_IN : in std_logic_vector(pwm_precision-1 downto 0);
LED5_IN : in std_logic_vector(pwm_precision-1 downto 0);
LED6_IN : in std_logic_vector(pwm_precision-1 downto 0);
LED7_IN : in std_logic_vector(pwm_precision-1 downto 0);
CLK : in std_logic;
RESET : in std_logic;
LED_OUT : out std_logic_vector(7 downto 0));
end LedControl;
architecture Behavioral of LedControl is
component LimitCounter is
generic ( element_width: positive := pwm_precision);
Port ( RESET : in std_logic;
CLK : in std_logic;
SWITCH_LIMIT : in std_logic_vector(element_width-1 downto 0);
OUTPUT_SIGNAL : out std_logic);
end component;
begin
pwm0: LimitCounter port map (
RESET => RESET,
CLK => CLK,
SWITCH_LIMIT => LED0_IN,
OUTPUT_SIGNAL => LED_OUT(0) );
pwm1: LimitCounter port map (
RESET => RESET,
CLK => CLK,
SWITCH_LIMIT => LED1_IN,
OUTPUT_SIGNAL => LED_OUT(1) );
pwm2: LimitCounter port map (
RESET => RESET,
CLK => CLK,
SWITCH_LIMIT => LED2_IN,
OUTPUT_SIGNAL => LED_OUT(2) );
pwm3: LimitCounter port map (
RESET => RESET,
CLK => CLK,
SWITCH_LIMIT => LED3_IN,
OUTPUT_SIGNAL => LED_OUT(3) );
pwm4: LimitCounter port map (
RESET => RESET,
CLK => CLK,
SWITCH_LIMIT => LED4_IN,
OUTPUT_SIGNAL => LED_OUT(4) );
pwm5: LimitCounter port map (
RESET => RESET,
CLK => CLK,
SWITCH_LIMIT => LED5_IN,
OUTPUT_SIGNAL => LED_OUT(5) );
pwm6: LimitCounter port map (
RESET => RESET,
CLK => CLK,
SWITCH_LIMIT => LED6_IN,
OUTPUT_SIGNAL => LED_OUT(6) );
pwm7: LimitCounter port map (
RESET => RESET,
CLK => CLK,
SWITCH_LIMIT => LED7_IN,
OUTPUT_SIGNAL => LED_OUT(7) );
end Behavioral;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -