PWM.vhd


1
library IEEE;
2
use IEEE.STD_LOGIC_1164.ALL;
3
use IEEE.NUMERIC_STD.ALL;
4
5
entity PWM is
6
  Port(
7
  clock    : in std_logic;
8
  schalter : in  std_logic_vector(9 downto 0); -- nutze schalter(9 downto 5) für die PWM_1 und schalter(4 downto 0)für die PWM_0
9
  PWM_0    : out std_logic;
10
  PWM_1    : out std_logic);
11
end PWM;
12
13
architecture rtl of PWM is
14
15
-- Signale hierher
16
 signal count:     unsigned (5 downto 0) := (others=>'0');
17
 signal countout:  integer range 0 to 31;
18
 signal PWM_out  :  std_logic :='0';
19
  
20
begin
21
-- hier ungetaktete Kombinatorik
22
count <= count+1 when rising_edge(clock) ; 
23
countout <= to_integer(count)  when count(5)='0' else
24
              31-to_integer(count(4 downto 0));
25
PWM_out <= '0' when count(5)= '0' else '1';
26
--process begin
27
  --wait until rising_edge(clock);
28
  
29
  -- getaktete Beschreibung hier
30
31
--end process;
32
33
-- ungetaktete Kombinatorik darf auch hier stehen
34
35
end;