Skip to content

Anikait25/protocols

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

33 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Serial Communication Protocols

This repository provides an overview and implementation examples of popular Serial Communication Protocols used in embedded systems and digital electronics.


πŸ“¦ Protocols Covered

  • UART (Universal Asynchronous Receiver Transmitter)
  • SPI (Serial Peripheral Interface)
  • I2C (Inter-Integrated Circuit)

Each protocol includes:

  • Verilog or C implementations
  • Simulation testbenches
  • Notes on hardware interfacing (optional)

πŸ”§ Folder Structure

serial-communication-protocols/
β”œβ”€β”€ uart/
β”‚   β”œβ”€β”€ uart_tx.v
β”‚   β”œβ”€β”€ uart_rx.v
β”‚   β”œβ”€β”€ testbench/
β”‚   └── README.md
β”œβ”€β”€ spi/
β”‚   β”œβ”€β”€ spi_master.v
β”‚   β”œβ”€β”€ spi_slave.v
β”‚   β”œβ”€β”€ testbench/
β”‚   └── README.md
β”œβ”€β”€ i2c/
β”‚   β”œβ”€β”€ i2c_master.v
β”‚   β”œβ”€β”€ i2c_slave.v
β”‚   β”œβ”€β”€ testbench/
β”‚   └── README.md
└── docs/
    β”œβ”€β”€ diagrams/
    β”œβ”€β”€ timing/
    └── datasheets/

πŸ’‘ Key Concepts

UART

  • Asynchronous protocol
  • Uses start/stop bits
  • No clock line required

SPI

  • Synchronous protocol
  • Full-duplex communication
  • Uses MISO, MOSI, SCLK, and SS lines

I2C

  • Synchronous, half-duplex
  • Uses SDA (data) and SCL (clock)
  • Supports multi-master and multi-slave

πŸ§ͺ Simulation & Testing

  • Simulated using ModelSim and Quartus Prime
  • Testbenches provided
  • Functional and timing verification

πŸ“ Requirements

  • Verilog/SystemVerilog support
  • Intel Quartus Prime (Lite or Standard)
  • ModelSim or compatible simulator
  • (Optional) FPGA development board

πŸ› οΈ Setup

git clone https://github.com/your-username/serial-communication-protocols.git
cd serial-communication-protocols

Author

  • Anikait Sarkar
  • RSA SEIP VLSI Trainee

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published