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).
- 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.
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.
- FPGA Development Board (Terasic DE10-Lite)
- FPGA Development Board (Terasic DE0-Nano)
This project is open sourced.