Skip to content

ldnelson16/uart-controller

Repository files navigation

UART Controller Project

Overview

Hey there! This project is all about building a UART (Universal Asynchronous Receiver-Transmitter) controller from scratch. The main idea right now is to get the basics of UART up and running, and eventually turn it into a cool Network Interface Card (NIC) using some fun modern tricks like DMA (Direct Memory Access).

Features

  • Basic UART: Start with basic transmit and receive functionalities.
  • Buffering: Use circular buffers for handling data efficiently.
  • Interrupts: Handle UART interrupts for smooth data flow.
  • Configurability: Allow baud rate selection and parity settings.
  • Future Plans: Incorporate DMA for faster data transfers, support for advanced networking protocols.

Evolution Plans

We're aiming to transform this UART controller into a full-fledged NIC with:

  • DMA: Implement DMA controllers for lightning-fast data transfers.
  • Multi-Layer Networking Abilities: Support Ethernet, TCP/IP, UDP, and more protocols.
  • Interrupts: Improve interrupt handling to keep data flowing smoothly.
  • Performance Boost: Use hardware acceleration to speed up data processing.

Hardware Designed On

  • FPGA Development Board (Terasic DE10-Lite)
  • FPGA Development Board (Terasic DE0-Nano)

License

This project is open sourced.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published