PWM_tb.vhd


1
library IEEE;
2
use IEEE.STD_LOGIC_1164.ALL;
3
use IEEE.NUMERIC_STD.ALL;
4
5
entity tb_PWM is
6
end tb_PWM;
7
8
architecture tb of tb_PWM is
9
10
component PWM is
11
  Port(
12
  clock    : in std_logic;
13
  schalter : in  std_logic_vector(9 downto 0);
14
  PWM_0    : out std_logic;
15
  PWM_1    : out std_logic);
16
end component;
17
18
signal clock    : std_logic:='0';
19
signal schalter : std_logic_vector(9 downto 0):=(others => '0');
20
signal PWM_0    : std_logic:='0';
21
signal PWM_1    : std_logic:='0';
22
signal breite_0 : integer range 0 to 31:=0;
23
signal breite_1 : integer range 0 to 31:=0;
24
25
begin
26
27
clock <= not clock after 10 ns;
28
schalter <= std_logic_vector(to_unsigned(breite_1,5)) & std_logic_vector(to_unsigned(breite_0,5));
29
30
process begin
31
  breite_0 <= 10;
32
  breite_1 <= 16;
33
  wait for 10 us;
34
  breite_0 <= 23;
35
  breite_1 <= 9;
36
  wait for 10 us;
37
  breite_0 <= 31;
38
  breite_1 <= 0;
39
  wait;
40
end process;
41
42
uut: PWM
43
  Port Map(
44
  clock    => clock,
45
  schalter => schalter,
46
  PWM_0    => PWM_0,
47
  PWM_1    => PWM_1);
48
49
end;