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 forum_phase_correct_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: forum_phase_correct_PWM
|
43 | Port Map(
|
44 | clock => clock,
|
45 | schalter => schalter,
|
46 | PWM_0 => PWM_0,
|
47 | PWM_1 => PWM_1);
|
48 |
|
49 | end;
|