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
constant BREITE   : unsigned(4 downto 0):="01000"; -- das ist der Wert 8.
17
signal count      : unsigned (5 downto 0):=(others=>'0');
18
signal countout   :  integer range 0 to 31;
19
signal PWM_out    : std_logic :='0';
20
  
21
begin
22
-- hier ungetaktete Kombinatorik
23
count <= count+1 when rising_edge(clock);
24
25
26
countout <= to_integer(count) when count(5)='0' else
27
            31-to_integer(count(4 downto 0));
28
PWM_0 <= '0' when count(5)= '0' else '1';
29
--process begin
30
  --wait until rising_edge(clock);
31
  
32
  -- getaktete Beschreibung hier
33
34
--end process;
35
36
-- ungetaktete Kombinatorik darf auch hier stehen
37
38
end;