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

Subversion Repositories simple_uart_for_fpga

[/] [simple_uart_for_fpga/] [trunk/] [example/] [uart_loopback.vhd] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 jakubcabal
--------------------------------------------------------------------------------
2
-- PROJECT: SIMPLE UART FOR FPGA
3
--------------------------------------------------------------------------------
4
-- MODULE:  UART LOOPBACK EXAMPLE TOP MODULE
5
-- AUTHORS: Jakub Cabal <jakubcabal@gmail.com>
6
-- lICENSE: The MIT License (MIT)
7
-- WEBSITE: https://github.com/jakubcabal/uart_for_fpga
8
--------------------------------------------------------------------------------
9
 
10
library IEEE;
11
use IEEE.STD_LOGIC_1164.ALL;
12
use IEEE.NUMERIC_STD.ALL;
13
 
14
-- UART FOR FPGA REQUIRES: 1 START BIT, 8 DATA BITS, 1 STOP BIT!!!
15
-- OTHER PARAMETERS CAN BE SET USING GENERICS.
16
 
17
entity UART_LOOPBACK is
18
    Generic (
19
        CLK_FREQ   : integer := 50e6;   -- set system clock frequency in Hz
20
        BAUD_RATE  : integer := 115200; -- baud rate value
21
        PARITY_BIT : string  := "none"  -- legal values: "none", "even", "odd", "mark", "space"
22
    );
23
    Port (
24
        CLK        : in  std_logic; -- system clock
25
        RST_N      : in  std_logic; -- low active synchronous reset
26
        -- UART INTERFACE
27
        UART_TXD   : out std_logic;
28
        UART_RXD   : in  std_logic;
29
        -- DEBUG INTERFACE
30
        BUSY       : out std_logic;
31
        FRAME_ERR  : out std_logic
32
    );
33
end UART_LOOPBACK;
34
 
35
architecture FULL of UART_LOOPBACK is
36
 
37
    signal data    : std_logic_vector(7 downto 0);
38
    signal valid   : std_logic;
39
    signal reset   : std_logic;
40
 
41
begin
42
 
43
        reset <= not RST_N;
44
 
45
        uart_i: entity work.UART
46
    generic map (
47
        CLK_FREQ    => CLK_FREQ,
48
        BAUD_RATE   => BAUD_RATE,
49
        PARITY_BIT  => PARITY_BIT
50
    )
51
    port map (
52
        CLK         => CLK,
53
        RST         => reset,
54
        -- UART INTERFACE
55
        UART_TXD    => UART_TXD,
56
        UART_RXD    => UART_RXD,
57
        -- USER DATA OUTPUT INTERFACE
58
        DATA_OUT    => data,
59
        DATA_VLD    => valid,
60
        FRAME_ERROR => FRAME_ERR,
61
        -- USER DATA INPUT INTERFACE
62
        DATA_IN     => data,
63
        DATA_SEND   => valid,
64
        BUSY        => BUSY
65
    );
66
 
67
end FULL;

powered by: WebSVN 2.1.0

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