Simple UART for FPGA is UART (Universal Asynchronous Receiver & Transmitter) controller for serial communication with an FPGA. The UART controller was implemented using VHDL 93 and is applicable to any FPGA.
4
5
**Simple UART for FPGA requires: 1 start bit, 8 data bits, 1 stop bit!**
6
7
The UART controller was simulated and tested in hardware.
8
9
# Inputs and outputs ports:
10
11
Port name | IN/OUT | Width | Port description
12
---|:---:|:---:|---
13
CLK | IN | 1b | System clock.
14
RST | IN | 1b | High active synchronous reset.
15
UART_TXD | OUT | 1b | Serial transmit data.
16
UART_RXD | IN | 1b | Serial receive data.
17
DATA_IN | IN | 8b | Data byte for transmit.
18
DATA_SEND | IN | 1b | Send data byte for transmit.
19
BUSY | OUT | 1b | Transmitter is busy, can not send next data.
20
DATA_OUT | OUT | 8b | Received data byte.
21
DATA_VLD | OUT | 1b | Received data byte is valid.
22
FRAME_ERROR | OUT | 1b | Stop bit is invalid, current and next data may be corrupted.
23
24
# Synthesis resource usage summary:
25
26
Parity | LE (LUT) | FF | BRAM
27
:---:|:---:|:---:|:---:
28
none | 80 | 55 | 0
29
even/odd | 91 | 58 | 0
30
mark/space | 84 | 58 | 0
31
32
*Synthesis was performed using Quartus II 64-Bit Version 13.0.1 for FPGA Altera Cyclone II with these settings: 115200 baud rate and 50 MHz system clock .*