Presented by: Omer Shaked Beeri Schreiber Serial Peripheral Interface Final Project Presentation 27.12.2011 Supervised by: Tal Yahav Leon Polishuk.

Slides:



Advertisements
Similar presentations
Anurag Dwivedi Rudra Pratap Suman. Scope of Communica tion Telephones and Cell Phones.
Advertisements

FPGA Configuration. Introduction What is configuration? – Process for loading data into the FPGA Configuration Data Source Configuration Data Source FPGA.
Programmable Interval Timer
Programmable Keyboard/ Display Interface: 8279
by Adiel Khan Staff CAE Synopsys
Internal Logic Analyzer Final presentation-part B
Internal Logic Analyzer Final presentation-part A
Serial Interfaces, Part Deux -I 2 C and SPI December 4, 2002 Presented by Eugene Ho.
Universal Verification Methodology (UVM) Benefits Mustafa Khairallah Boost Valley Boost Valley Consulting 1.
Serial Communication Buses: I 2 C and SPI By Brody Dunn.
Reliable Data Storage using Reed Solomon Code Supervised by: Isaschar (Zigi) Walter Performed by: Ilan Rosenfeld, Moshe Karl Spring 2004 Part A Final Presentation.
SPISPI Term Dr Abdelhafid Bouhraoua Term Dr Abdelhafid Bouhraoua.
Configuration. Mirjana Stojanovic Process of loading bitstream of a design into the configuration memory. Bitstream is the transmission.
NS Training Hardware. System Controller Module.
Serial Peripheral Interface (SPI) Bus. SPI Bus There is no official specification for the SPI bus. It is necessary to consult the data sheets of the devices.
Serial Peripheral Interface Module MTT M SERIAL PERIPHERAL INTERFACE (SPI)
Multichannel Serial Port Interface (McSPI)
Khaled A. Al-Utaibi  Intel Peripheral Controller Chips  Basic Description of the 8255  Pin Configuration of the 8255  Block Diagram.
VERIFICATION OF I2C INTERFACE USING SPECMAN ELITE By H. Mugil Vannan Experts Mr. Rahul Hakhoo, Section Manager, CMG-MCD Mr. Umesh Srivastva, Project Leader.
CRKit RF Control WINLAB – Rutgers University Date : June Authors : Prasanthi Maddala, Khanh Le,
CRKit RF Control WINLAB – Rutgers University Date : June Authors : Prasanthi Maddala, Khanh Le,
4.0 rtos implementation part II
CRKit RF Control WINLAB – Rutgers University Date : June Authors : Prasanthi Maddala, Khanh Le,
CRKit RF Control WINLAB – Rutgers University Date : June Authors : Prasanthi Maddala, Khanh Le,
7/23 Inter-chip Serial Communication: SPI and I 2 C Computer Science & Engineering Department Arizona State University Tempe, AZ Dr. Yann-Hang Lee.
Volume. 1-the idea of the program is to increase, decrease the volume. 2-the program does the following: A-PF8:decrease the volume B-Pf9:increase the.
Universal Asynchronous Receiver/Transmitter (UART)
Functional Coverage Jean-Michel Chabloz. Coverage Code coverage, expression coverage, etc. are automatically inferred Functional coverage specifies what,
Some Course Info Jean-Michel Chabloz. Main idea This is a course on writing efficient testbenches Very lab-centric course: –You are supposed to learn.
SoC Verification HW #2 TA: Wei-Ting Tu Assignment: 04/12/06
NS Training Hardware. Serial Controller - UART.
Electrocardiogram (ECG) application operation – Part B Performed By: Ran Geler Mor Levy Instructor:Moshe Porian Project Duration: 2 Semesters Spring 2012.
REGISTER MANAGEMENT TOOL Preformed by: Liat Honig Nitzan Carmel Supervisor: Moshe Porian Date: 24/11/2011, winter semester 2011 Duration: One semester.
I2C Master Core Simulation Environment. I2C Master Core Requirements Coverage (*) Requirement I2C IP RS-906: The I2C IP shall define the period of time,
LZRW3 Data Compression Core Dual semester project April 2013 Project part A final presentation Shahar Zuta Netanel Yamin Advisor: Moshe porian.
Design of a Novel Bridge to Interface High Speed Image Sensors In Embedded Systems Tareq Hasan Khan ID: ECE, U of S Term Project (EE 800)
1 Synchronous Serial IO Send a separate clock line with data –SPI (serial peripheral interface) protocol –I 2 C (or I2C) protocol Encode a clock with data.
Electrocardiogram (ECG) application operation – Part A Performed By: Ran Geler Mor Levy Instructor:Moshe Porian Project Duration: 2 Semesters Spring 2012.
Embedded Network Interface (ENI). What is ENI? Embedded Network Interface Originally called DPO (Digital Product Option) card Printer without network.
Project Final Semester A Presentation Implementing a compressor in software and decompression in hardware Presents by - Schreiber Beeri Yavich Alon Guided.
7 - 1 Texas Instruments Incorporated Module 7 : Serial Peripheral Interface C28x 32-Bit-Digital Signal Controller TMS320F2812.
OCRP RF Control WINLAB – Rutgers University Date : June Authors : Prasanthi Maddala, Khanh Le,
RX Serial Peripheral Interface (RSPI)
©2008 R. Gupta, UCSD COSMOS Summer 2008 Peripheral Interfaces Rajesh K. Gupta Computer Science and Engineering University of California, San Diego.
REGISTER MANAGMENT TOOL Preformed by: Liat Honig Nitzan Carmel Supervisor: Moshe Porian Date: 29/1/2012 winter semester 2011 Duration: One semester Middle.
(*) Design (VHDL) (*) Verification (System Verilog) Presented by: Omer Shaked Beeri Schreiber The SPI Project
© 2009, Renesas Technology America, Inc., All Rights Reserved 1 Course Introduction  Purpose:  This course provides an overview of the serial communication.
Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH.
OCRP RF Control WINLAB – Rutgers University Date : June Authors : Prasanthi Maddala, Khanh Le,
Programmable Interrupt Controller (PIC)
Way beyond fast © 2002 Axis Systems, Inc. CONFIDENTIAL Axis Common Transaction Interface (CTI) Architecture Highlights 9/11/2003 Ching-Ping Chou Axis Systems,
(*) Design (VHDL) (*) Verification (System Verilog) Presented by: Omer Shaked Beeri Schreiber The SPI Project
Lecture 4 General-Purpose Input/Output NCHUEE 720A Lab Prof. Jichiang Tsai.
DDRIII BASED GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD PART B PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester:
Mini scope one semester project Project final Presentation Svetlana Gnatyshchak Lior Haiby Advisor: Moshe Porian Febuary 2014.
Communicating. The ATmega16 communicates through one of the following ways: Serial Peripheral Interface (SPI) Universal Synchronous and Asynchronous serial.
BIRLA VISHVAKARMA MAHAVIDYALAY SUBJECT: SPI PROTOCOL & MAX7221 DISPLAY INTERFACING SUBMITTED BY: KISHAN AVASTHI( ) MANSI CHANDEGARA( )
Genova May 2013 Diego Real – David Calvo IFIC (CSIC – Universidad de Valencia) CLBv2 1.
Status and Plans for Xilinx Development
1 Serial Peripheral Interface What is it? Basic SPI Capabilities Protocol Pros and Cons Uses Serial Peripheral Interface
©F.M. Rietti Communication Lines Fundamentals. ©F.M. Rietti LM-18 Computer Science SSI Embedded Systems I 2 Communication Lines Generally used to connect.
Internal Logic Analyzer Middle presentation-part A By: Moran Katz and Zvika Pery Mentor: Moshe Porian Dual-semester project Spring 2012.
ATLAS Pre-Production ROD Status SCT Version
SERIAL PERIPHERAL INTERFACE
EEPROM Comparison – Parallel or Serial
SPI Protocol and DAC Interfacing
AT91 Memory Interface This training module describes the External Bus Interface (EBI), which generatesthe signals that control the access to the external.
SPI Protocol and DAC Interfacing
Verification Reuse Simple (relatively) reuse: Difficult reuse
SPI Protocol Sepehr Naimi
Presentation transcript:

Presented by: Omer Shaked Beeri Schreiber Serial Peripheral Interface Final Project Presentation Supervised by: Tal Yahav Leon Polishuk

Project Requirements 1.Implement SPI Master and SPI Slave cores (VHDL) 2.Implement Master and Slave hosts (VHDL) 3.Verify the entire design (SystemVerilog)

SPI Protocol Description Serial data link standard Operates in full duplex mode Devices communicate in master/slave mode Single master, multiple slaves The master initiates the data frame

SPI Interface Description The interface is consumed of four signals: SPI_CLK: Serial Clock (output from master) SPI_MOSI: Master Output, Slave Input SPI_MISO: Master Input, Slave Output SPI_SS: Slave Select (output from master)

SPI Clock Configuration The master configures the clock polarity and phase

SPI Master Burst Waveform End of Reset Enable SPI Slave Enable SPI Slave Disable SPI Slave Disable SPI Slave SPI_CLK Divide Factor : 2 SPI_CLK Divide Factor : 2 SPI_CLK Divide Factor : 4 SPI_CLK Divide Factor : 4 FIFO: a.Request for data b.Data is Valid FIFO: a.Request for data b.Data is Valid a a b b Write to Registers: Data (0x4) + data_valid Write to Registers: Data (0x4) + data_valid SPI Response: Register acknowledge SPI Response: Register acknowledge Output data from SPI Slave is valid Output data from SPI Slave is valid

SPI Slave Burst Waveform FIFO: a.Request for data b.Data is Valid FIFO: a.Request for data b.Data is Valid End of Reset SPI_SS is De-activated SPI_SS is De-activated Data is sampled after SPI_CLK rising edge Data is sampled after SPI_CLK rising edge Data is propagated after SPI_CLK falling edge Data is propagated after SPI_CLK falling edge 4 a a b b SPI_SS is Activated SPI_SS is Activated 2 1 End of Transaction Dout is valid End of Transaction Dout is valid 36 5

Wishbone Description Wishbone: Flexible design methodology for use with semiconductor IP cores Wishbone Interface is used, in this project, to read and write data.

Wishbone Description: Write Burst Start of Cycle Data Acknowledged Repeat last transaction New Input Data Writing Address Burst Length Output Data

Wishbone Description: End of Write Burst End of Cycle New Input Data Writing Address Burst Length Input Data Last Strobe Data with no strobe (Ignored) Data with no strobe (Ignored)

Wishbone Description: Read Burst Reading Address Burst Length Output Data Start of Cycle Data Valid Repeat last transaction Continue to next transaction Continue to next transaction New Output Data

Wishbone Description: End of Read Burst End of Cycle Continue to next transaction New Output Data Reading Address Burst Length Output Data Last Strobe

Implementation Stages Unit Level Design of SPI Master and SPI Slave cores Design internal blocks of master and slave hosts SPI Master and SPI Slave individual Test Benches

Implementation Stages Top Level SPI top test bench (SPI Slave  SPI Master) Top architecture test bench (Whole system)

SPI Core Design Four main interfaces: SPI Core SPI InterfaceFIFO Interface Configuration interface Received Data Interface Generic word length Generic number of slaves

Top Architecture Design Slave Host Slave Host Master Host Master Host Wishbone Slave Interface Wishbone Slave Interface SPI Master Interface SPI Slave Interface RAM Interface RAM Master host implements Wishbone slave interface Hosts communicate via SPI Slave host implements RAM interface

Master Host Design SPI Master SPI Master FIFO Wishbone Slave Controller Wishbone Slave Controller SPI Interface Wishbone Interface Master Host Dec. RAM Enc. RAM M.P. Encoder M.P. Decoder MUX ‘0’ Checksum

Slave Host Design RAMRAM RAMRAM SPI Slave SPI Slave RAM Controller RAM Controller RAM Interface Slave Host Read MUX FIFO Dec. RAM M.P. Decoder Checksum M.P. Encoder Checksum Enc. RAM Slave Host Controller Registers SPI Interface

Verification Plan Basic block-level VHDL TBs for SPI cores during design stage SystemVerilog TBs SPI Master SPI Slave Top: SPI Master + Slave Top Architecture (Whole system) Not part of the original verification plan

Main Verification Guidelines Randomly generated values Functional Coverage collection Automatic scoreboarding SPI cores – includes possible edge cases Top architecture – only basic functionality

SPI Master Test Bench SPI Master (DUT) SPI Master (DUT) SPI InterfaceFIFOI interface Generator and Driver Generator and Driver Receiver Generator and Driver Generator and Driver Receiver Scoreboard 5 5 CFG interface CFG_DUT StatusTest Name PassedSimple burst PassedAll CPOL, CPHA configurations PassedAll SPI clock frequencies PassedReset drives outputs to default values PassedForbidden Configuration PassedFIFO Error (Not responding) PassedIllegal SPI Clock Frequencies

SPI Slave Test Bench SPI Slave (DUT) SPI Slave (DUT) SPI InterfaceFIFOI interface Generator and Driver Generator and Driver Receiver Generator Receiver 3 3 Scoreboard 6 6 CFG interface CFG_DUT SPI Master BFM SPI Master BFM StatusTest Name PassedSimple burst PassedAll CPOL, CPHA configurations PassedMax SPI clock frequency PassedReset drives outputs to default values PassedConfiguration during active transmission PassedTimeout PassedInterrupt

SPI Top Test Bench SPI Master SPI InterfaceFIFOI interface Generator and Driver Generator and Driver Receiver Scoreboard 5 5 CFG interface CFG_DUT SPI Slave0 Generator and Driver Generator and Driver DUT SPI Slave1 SPI Slave2 SPI Slave3 SPI Interface FIFOI interface CFG interface StatusTest Name PassedSimple burst PassedAll CPOL, CPHA configurations PassedDifferent SPI clock frequencies PassedMax SPI clock frequency PassedGenerics

Driver Monitor Sequencer Agent Scoreboard UVM_ENV UVM_TEST Top Test Bench (UVM 1.1) Master Host Master Host Slave Host Slave Host SPI I/F External RAM External RAM WBS DUT

Top Test Bench (UVM 1.1) StatusTest Name PassedAll burst lengths PassedAll CPOL, CPHA configurations PassedAll SPI clock frequencies Removed. Not relevant. Burst length exceeds RAM address Removed. Not relevant. Transaction interrupted Removed.Reset in middle of transaction

COVERGROUP COVERAGE: Covergroup Metric Goal/ Status At Least TYPE /top/master_host_monitor/cov_trans 100.0% 100 Covered Coverpoint cov_trans::length 100.0% 100 Covered Coverpoint cov_trans::init_addr 100.0% 100 Covered Coverpoint cov_trans::div_factor 100.0% 100 Covered Coverpoint cov_trans::cpol_cpha 100.0% 100 Covered CLASS master_host_monitor TOTAL COVERGROUP COVERAGE: 100.0% COVERGROUP TYPES: 1 SV Verification Summary Total of 7 major bugs were found and fixed: SPI Master – 2 SPI Slave – 3 Top – 2 Reached 100 % functional coverage for all TBs

Summary & Conclusions A lot more than the original project Design: Master and Slave host implementation, instead of only SPI Master and Slave Verification: Implemented 4 TBs instead of 3 TBs All major SystemVerilog features have been used Usage of UVM 1.1

Summary & Conclusions A lot more than the original project Well-organized development methodology Relatively fast completion of the project Very enjoyable and fruitful

The End Thanks to both of our supervisors !