This project implements a UART (Universal Asynchronous Receiver Transmitter) using Verilog HDL. The transmitter converts 8-bit parallel data into serial data using a Finite State Machine (FSM).
- FSM based UART Transmitter
- 8-bit Serial Data Transmission
- Start Bit and Stop Bit Generation
- Shift Register based Data Transfer
- Bit Counter
- Verilog Testbench
- Functional Verification
IDLE → START → DATA → STOP → IDLE
| State | Function |
|---|---|
| IDLE | Wait for transmission |
| START | Send start bit (0) |
| DATA | Send 8 data bits |
| STOP | Send stop bit (1) |
UART-Transmitter/
│
├── src/
├── tb/
├── waveform/
├── block_diagram/
├── state_diagram/
└── README.md
- Verilog HDL
- VS Code
- Icarus Verilog
- EDA Playground / EPWave
- Git
- GitHub
Compile
iverilog -o uart src/uart_tx.v tb/uart_tx_tb.vRun
vvp uartDeveloped as a VLSI RTL Design Project.


