daringpatil3134 / SPI_Serial_Peripheral_Interface_Verilog_Modules

Implementation of a Serial Peripheral Interface(SPI) using Verilog and testing various modes of the SPI Device

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SPI_Serial_Peripheral_Interface_Verilog_Modules

Implementation of a Serial Peripheral Interface(SPI) using Verilog and testing various modes of the SPI Device

Simulated & Verified using ModelSim

This project report provides a detailed account of the design and implementation of the SPI (Serial Peripheral Interface) Master Core in Verilog. The objective of this project was to gain hands-on experience in designing and implementing digital circuits using Verilog, as well as to gain a deeper understanding of the SPI protocol and its applications.

SPI MASTER CORE ARCHITECTURE & DESING BLOCKS OF SPI MASTER CORE ARCHITECTURE image

Features of SPI Master Core Include Full duplex synchronous serial data, Variable length of transfer word up to 128 bits, MSB or LSB first data transfer, Rx and Tx on both rising or falling edge of serial clock independently, Up to 32 slave select lines, Auto Slave Select, Interrupt Enable & Clock Divider.

To meet specific system requirements and size constraints on behalf of the functionality, the SPI Master core can be configured by setting the appropriate define directives in the “spi_defines.v” source file.

CLOCK GENERATOR WAVEFORM image

SHIFT REGISTER BLOCK WAVEFORM image

MASTER TEST BENCH OUTPUTS SET 1: TX_NEG = 1, RX_NEG = 0, LSB = 1, CHAR_LEN = 4 image

SET 2: TX_NEG = 1, RX_NEG = 0, LSB = 0, CHAR_LEN = 4 image

SET 3: TX_NEG = 0, RX_NEG = 1, LSB = 1, CHAR_LEN = 4 image

For More Details Please Refer The Project Report :- SPI Design Project Report

About

Implementation of a Serial Peripheral Interface(SPI) using Verilog and testing various modes of the SPI Device

License:GNU General Public License v3.0


Languages

Language:Verilog 100.0%