OpenCores
URL https://opencores.org/ocsvn/uart_block/uart_block/trunk

Subversion Repositories uart_block

[/] [uart_block/] [trunk/] [hdl/] [iseProject/] [testBaud_generator.vhd] - Blame information for rev 37

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 6 leonardoar
--! Test baud_generator module
2
library ieee;
3
use ieee.std_logic_1164.all;
4
use ieee.std_logic_unsigned.all;
5
use ieee.std_logic_arith.all;
6
 
7
--! Use Global Definitions package
8
use work.pkgDefinitions.all;
9
 
10
 ENTITY testBaud_generator IS
11
END testBaud_generator;
12
 
13
ARCHITECTURE behavior OF testBaud_generator IS
14 11 leonardoar
 
15 6 leonardoar
    COMPONENT baud_generator
16 37 leonardoar
    Port ( rst : in STD_LOGIC;                                                                                                          --! Reset Input
17
                          clk : in  STD_LOGIC;                                                                                                          --! Clock input
18
           cycle_wait : in  STD_LOGIC_VECTOR ((nBitsLarge-1) downto 0);  --! Number of cycles to wait for baud generation
19
                          baud_oversample : out std_logic;                                                                              --! Oversample(8x) version of baud (Used on serial_receiver)
20
           baud : out  STD_LOGIC);                                                                                                      --! Baud generation output (Used on serial_transmitter)
21 6 leonardoar
    END COMPONENT;
22
 
23
 
24
   --Inputs
25 37 leonardoar
   signal rst : std_logic := '0';                                                                                                                                                --! Signal to connect with UUT
26
   signal clk : std_logic := '0';                                                                                                                                                --! Signal to connect with UUT
27
   signal cycle_wait : std_logic_vector((nBitsLarge-1) downto 0) := (others => '0');      --! Signal to connect with UUT
28 6 leonardoar
 
29
        --Outputs
30 37 leonardoar
   signal baud : std_logic;                                     --! Signal to connect with UUT
31
        signal baud_oversample : std_logic;             --! Signal to connect with UUT
32 6 leonardoar
 
33 8 leonardoar
   -- Clock period definitions (1.8432MHz)
34 9 leonardoar
   constant clk_period : time := 0.543 us; -- 0.543us (1.8432Mhz) 2ns (50Mhz)
35 6 leonardoar
 
36
BEGIN
37
 
38 36 leonardoar
        --! Instantiate the Unit Under Test (UUT)
39 6 leonardoar
   uut: baud_generator PORT MAP (
40
          rst => rst,
41
          clk => clk,
42
          cycle_wait => cycle_wait,
43 11 leonardoar
                         baud_oversample => baud_oversample,
44 6 leonardoar
          baud => baud
45
        );
46
 
47
   -- Clock process definitions
48
   clk_process :process
49
   begin
50
                clk <= '0';
51
                wait for clk_period/2;
52
                clk <= '1';
53
                wait for clk_period/2;
54
   end process;
55
 
56
 
57
   -- Stimulus process
58
   stim_proc: process
59
   begin
60 9 leonardoar
      -- Test the baud generator waiting for 16 clock cycles for 1.8432MHz clock
61 6 leonardoar
                rst <= '1';
62 8 leonardoar
                cycle_wait <= conv_std_logic_vector(16, (nBitsLarge));
63 9 leonardoar
      wait for 2 ns;
64 6 leonardoar
                rst <= '0';
65
 
66 9 leonardoar
      wait for clk_period*300;
67 6 leonardoar
 
68
      -- Stop Simulation
69
                assert false report "NONE. End of simulation." severity failure;
70
 
71
      wait;
72
   end process;
73
 
74
END;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.