Design and implementation of a UART system using Verilog HDL that uses a synchronous FIFO buffer to manage data flow, the transmitter and receiver modules were architected using ASMD charts allowing visualization of control flow and state transitions. A baud rate generator to make it adaptable to different frequencies and baud rate requirements.