Skip to content

Commit 4ddde0c

Browse files
committed
Update readme file.
1 parent ae36de0 commit 4ddde0c

File tree

1 file changed

+38
-23
lines changed

1 file changed

+38
-23
lines changed

README.md

Lines changed: 38 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,36 @@ Simple UART for FPGA is UART (Universal Asynchronous Receiver & Transmitter) con
66

77
The UART controller was simulated and tested in hardware.
88

9-
# Table of 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, data may be corrupted.
23-
24-
# Table of generics:
25-
26-
Generic name | Type | Default value | Generic description
27-
---|:---:|:---:|:---
28-
CLK_FREQ | integer | 50e6 | System clock.
29-
BAUD_RATE | integer | 115200 | Baud rate value.
30-
PARITY_BIT | string | "none" | Type of parity: "none", "even", "odd", "mark", "space".
31-
USE_DEBOUNCER | boolean | True | Use debounce?
9+
# Inputs and outputs ports:
10+
11+
```
12+
-- CLOCK AND RESET
13+
CLK : in std_logic; -- system clock
14+
RST : in std_logic; -- high active synchronous reset
15+
16+
-- UART INTERFACE
17+
UART_TXD : out std_logic; -- serial transmit data
18+
UART_RXD : in std_logic; -- serial receive data
19+
20+
-- USER DATA INPUT INTERFACE
21+
DIN : in std_logic_vector(7 downto 0); -- data to be transmitted over UART
22+
DIN_VLD : in std_logic; -- when DIN_VLD = 1, DIN is valid and will be accepted for transmiting
23+
BUSY : out std_logic; -- when BUSY = 1, transmitter is busy and DIN can not be accepted
24+
25+
-- USER DATA OUTPUT INTERFACE
26+
DOUT : out std_logic_vector(7 downto 0); -- data received via UART
27+
DOUT_VLD : out std_logic; -- when DOUT_VLD = 1, DOUT is valid (is assert only for one clock cycle)
28+
FRAME_ERROR : out std_logic -- when FRAME_ERROR = 1, stop bit was invalid (is assert only for one clock cycle)
29+
```
30+
31+
# Generics:
32+
33+
```
34+
CLK_FREQ : integer := 50e6; -- system clock frequency in Hz
35+
BAUD_RATE : integer := 115200; -- baud rate value
36+
PARITY_BIT : string := "none"; -- type of parity: "none", "even", "odd", "mark", "space"
37+
USE_DEBOUNCER : boolean := True -- enable/disable debouncer
38+
```
3239

3340
# Table of resource usage summary:
3441

@@ -43,6 +50,14 @@ False | mark/space | 75 | 62 | 53 | 0 | 200.8 MHz
4350

4451
*Synthesis was performed using Quartus II 64-Bit Version 13.0.1 for FPGA Altera Cyclone II with enable force use of synchronous clear. Setting of some generics: BAUD_RATE = 115200, CLK_FREQ = 50e6.*
4552

53+
# Simulation:
54+
55+
A basic simulation is prepared in the repository. You can use the prepared TCL script to run simulation in ModelSim.
56+
57+
```
58+
vsim -do sim/sim.tcl
59+
```
60+
4661
# License:
4762

4863
This UART controller is available under the MIT license (MIT). Please read [LICENSE file](LICENSE).

0 commit comments

Comments
 (0)