SlideShare a Scribd company logo
I3C High Data Rate
modes – from spec
to real life devices
Alex Passi
Sr. Principal Software Engineer
Cadence Design Systems
Introduction
The MIPI Alliance I3C standardized sensor interface
provides a number of significant advantages over
existing digital sensor interfaces.
This paper will briefly present I3C interface basics and
will focus on various verification aspects of I3C High
Data Rate modes through an advanced verification
methodology based on coverage driven verification and
real-life scenarios
2
Single Data Rate Mode
•  Single Data Rate (SDR) Mode is the default mode used
by I3C
•  I3C Bus always initializes in SDR Mode
•  Maximum data rate – 12.5 Mbps
•  SDR is almost similar to I2C, but introduces many new
features not present in I2C
•  SCL wire operates as a clock signal, while the data is
transferred using SDA wire
3
SDR Basics
4
•  START Condition: SCL = High, SDA = High Low
•  STOP Condition: SCL = High, SDA = Low High
•  Transmitter writes data bit to SDA on falling edge of SCL
•  Receiver(s) read data bit on rising edge of SCL
High Data Rate Modes
•  I3C High Data Rate modes allow to transfer more data
while preserving SDR Frequency
•  There are three I3C HDR modes:
•  HDR-DDR – Double Data Rate mode
•  HDR-TSP – Ternary Symbol Pure-bus mode
•  HDR-TSL – Ternary Symbol Legacy-inclusive-bus mode
•  I3C HDR modes can be used only on:
•  Pure I3C bus – no I2C devices present on the bus
•  Mixed Fast Bus – I2C devices equipped with 50ns Spike Filter
•  I3C Bus cannot be initialized in any of HDR modes
•  While in HDR mode, Repeated START and STOP are
“replaced” with HDR Restart and HDR Exit patterns
5
HDR Restart and HDR Exit Patterns
HDR Restart
•  Separates HDR transactions
•  Serves as “recovery point” in
case of any error detected while
in HDR mode
HDR Exit
•  Must be detected by al I3C devices,
including SDR-only devices
•  Separates HDR transactions
•  Serves as “recovery point” in case
of HDR error detection as well as
S0 and S1 error detection
6
Verification Environment – Master DUT
Passive Master verification component
(VC) monitors outgoing traffic generated
by I3C Master DUT, issues alerts about
detected errors and collects coverage
7
Active I3C/I2C Slave verification components emulate I3C/I2C
devices present on the bus. These components should be able
to emulate both proper and erroneous behavior, in order to test
the ability of DUT to recover from errors in accordance with I3C
spec requirements
Verification Environment – Slave DUT
Active I3C Master verification
component emulates I3C Master
device. This component should
be able to manage I3C bus. In
addition it should be able to
emulate erroneous behavior, in
order to test the DUT’s error
recovery ability
8
Passive Slave verification
component monitors outgoing
traffic generated by DUT, issues
alerts about detected errors and
collects coverage
Active I3C Slave verification
components emulate additional
slave devices present on the bus,
mostly for testing of arbitration-
related aspects
I3C HDR-DDR – Main Features
•  I3C Dual Data Rate (HDR-DDR) mode allows to increase
data rate up to 25 Mbps by reading data bits on both
edges of SCL clock signal.
•  The I3C Bus enters HDR-DDR mode upon transmission
of ENTHDR0 Common Command Code and exits it when
HDR Exit pattern is observed
•  Data is transferred in messages that consist of Command
Word, one or more Data Words and CRC Word
•  Allows 128 Write commands and 64 Read commands
9
I3C HDR-DDR Transmission
10
HDR-DDR Read Message
11
I3C HDR-DDR – Main Verification Points
1.  “Invisibility” of HDR-DDR traffic to I2C devices present
on the bus
2.  Correct encoding and decoding of data
3.  Termination of Read operation by Master
4.  Error detection and recovery
5.  For designs not supporting HDR-DDR – proper
ignoring of all HDR-DDR traffic
12
Verification Scenarios for HDR-DDR
Slave DUT
1.  General Write-Read – verifies proper operation of Slave DUT in HDR-
DDR mode
2.  Read Terminated by Master – verifies DUT ability to recognize and accept
read termination by I3C Master
3.  Write with invalid preamble – Active Master VC generates invalid
Preamble in different kinds of DDR Words written to Slave DUT, in order to
test DUT ability to detect, ignore and recover from erroneous transmission
4.  Write with invalid parity - Active Master VC generates invalid parity bits in
different kinds of DDR Words written to Slave DUT, in order to test DUT
ability to detect, ignore and recover from erroneous transmission
5.  Write with invalid CRC5 - Active Master VC generates invalid CRC5 Word
in DDR Write Message, in order to test DUT ability to detect, ignore and
recover from erroneous transmission
13
Verification Scenarios for HDR-DDR
Master DUT
1.  General Write-Read – verifies proper operation of Master DUT in HDR-
DDR mode
2.  Read Terminated by Master – verifies DUT ability to terminate read
transaction
3.  Read with invalid preamble – Active Slave VC generates invalid DDR
Word Preamble in order to test DUT ability to detect and recover from
preamble error. Invalid preamble should be generated in all types of DDR
Words, e.g. Data Word and CRC Word
4.  Read with invalid parity - Active Slave VC generates invalid parity bits in
Data Word in order to test DUT ability to detect and recover from parity
error. Invalid parity should be injected at both parity bit positions
5.  Read with invalid CRC5 - Active Slave VC generates invalid CRC5 Word
in order to test DUT ability to detect and recover from CRC5 error
14
I3C HDR-TSP – Main Features
•  I3C Ternary Symbol for Pure Bus (HDR-TSP) mode allows to
increase significantly data rate by using both SDA and SCL wires for
data transfer
•  HDR-TSP is not allowed on mixed I3C-I2C bus
•  The I3C Bus enters HDR-DDR mode upon transmission of
ENTHDR1 Common Command Code and exits it when HDR Exit
pattern is observed
•  Data is transferred in messages that consist of Command Word and
one or more Data Words
•  Allows 128 Write commands and 64 Read commands
15
Ternary Coding
•  Minimum transfer unit is named Symbol and represents a
single change in wires levels:
•  Every 12 Ternary Symbols represent 16 bits of data and 2
parity bits
•  Every 12 Ternary Symbols are subdivided into 6 pairs of
symbols while a single pair cannot have two “2” symbols
16
Symbol	Value	 SCL	Change	 SDA	Change	
0	 Yes	 Yes	
1	 Yes	 No	
2	 No	 Yes
“Simultaneous” Signals Change
I3C spec allows a skew of up to 12.8ns between SDA
and SCL wires for transmission of a single symbol. This
fact should be taken into account during design stage
and during design verification
17
I3C HDR-TSP Message
18
HDR-TSP Read Message
19
I3C HDR-TSP – Main Verification Points
1.  Correct encoding and decoding of data
2.  Proper handling of Master-to-Slave and Slave-to-
Master Bus Turnaround
3.  Error detection and recovery
4.  For designs not supporting HDR-TSP – proper
ignoring of all HDR-TSP traffic
20
Verification Scenarios for HDR-DDR
Slave DUT
1.  General Write-Read – verifies proper operation of Slave DUT in HDR-TSP
mode
2.  Invalid pair of symbols – Active Master VC generates illegally two
consecutive “2” symbols, in order to test DUT ability to detect, ignore and
recover from erroneous transmission
3.  Write with invalid parity - Active Master VC generates invalid parity bits in
different kinds of Ternary Words written to Slave DUT, in order to test DUT
ability to detect, ignore and recover from erroneous transmission
4.  Slave-to-Master Bus Turnaround tests
21
Verification Scenarios for HDR-DDR
Master DUT
1.  General Write-Read – verifies proper operation of Slave DUT in HDR-TSP
mode
2.  Invalid pair of symbols – Active Slave VC generates illegally two
consecutive “2” symbols, in order to test DUT ability to detect, ignore and
recover from erroneous transmission
3.  Read with invalid parity – Active Slave VC generates invalid parity bits in
Read Data Ternary Words written to Master DUT, in order to test DUT
ability to detect, ignore and recover from erroneous transmission
4.  Slave-to-Master Bus Turnaround tests
22
I3C HDR-TSL – Main Features
I3C Ternary Symbol for Legacy-inclusive-Bus (HDR-TSL) allows to
increase data rate on Mixed Fast I3C Bus
HDR-TSL operates similarly to HDR-TSP with the following differences:
1.  HDR-TSL must operate faster than 10MHz while HDR-TSP has no
such limitation
2.  During HDR-TSL SCL it is not allowed to stay on High position
longer than ~40ns. As a result a Legacy I2C Slave with a 50ns
Spike filter sees SCL only as Low. This is achieved by transmission
of dummy symbols whenever it is required
23
I3C HDR-TSL – Main Verification Points
In addition to HDR-TSP verification points, the following
should be verified for HDR-TSL mode:
1.  SCL staying in High position not longer than ~40ns
2.  Proper insertion of dummy symbols
3.  Proper encoding/decoding of data with dummy
symbols
24

More Related Content

What's hot

I2C And SPI Part-23
I2C And  SPI Part-23I2C And  SPI Part-23
I2C And SPI Part-23
Techvilla
 
PCI Express Verification using Reference Modeling
PCI Express Verification using Reference ModelingPCI Express Verification using Reference Modeling
PCI Express Verification using Reference Modeling
DVClub
 
Serial Communication In Atmega 16
Serial Communication In Atmega 16Serial Communication In Atmega 16
Serial Communication In Atmega 16
Suren Kumar
 

What's hot (20)

I2C And SPI Part-23
I2C And  SPI Part-23I2C And  SPI Part-23
I2C And SPI Part-23
 
Serial Peripheral Interface
Serial Peripheral InterfaceSerial Peripheral Interface
Serial Peripheral Interface
 
axi protocol
axi protocolaxi protocol
axi protocol
 
MIPI DevCon 2021: MIPI I3C Signal Integrity Challenges on DDR5-based Server P...
MIPI DevCon 2021: MIPI I3C Signal Integrity Challenges on DDR5-based Server P...MIPI DevCon 2021: MIPI I3C Signal Integrity Challenges on DDR5-based Server P...
MIPI DevCon 2021: MIPI I3C Signal Integrity Challenges on DDR5-based Server P...
 
APB protocol v1.0
APB protocol v1.0APB protocol v1.0
APB protocol v1.0
 
SPI Protocol
SPI ProtocolSPI Protocol
SPI Protocol
 
I2C Protocol
I2C ProtocolI2C Protocol
I2C Protocol
 
I2C introduction
I2C introductionI2C introduction
I2C introduction
 
I2C Protocol
I2C ProtocolI2C Protocol
I2C Protocol
 
Apb
ApbApb
Apb
 
Introduction about APB Protocol
Introduction about APB ProtocolIntroduction about APB Protocol
Introduction about APB Protocol
 
UART
UARTUART
UART
 
SPI Bus Protocol
SPI Bus ProtocolSPI Bus Protocol
SPI Bus Protocol
 
PCI Express Verification using Reference Modeling
PCI Express Verification using Reference ModelingPCI Express Verification using Reference Modeling
PCI Express Verification using Reference Modeling
 
Serial Communication In Atmega 16
Serial Communication In Atmega 16Serial Communication In Atmega 16
Serial Communication In Atmega 16
 
I2c protocol - Inter–Integrated Circuit Communication Protocol
I2c protocol - Inter–Integrated Circuit Communication ProtocolI2c protocol - Inter–Integrated Circuit Communication Protocol
I2c protocol - Inter–Integrated Circuit Communication Protocol
 
Advance Peripheral Bus
Advance Peripheral Bus Advance Peripheral Bus
Advance Peripheral Bus
 
AMBA Ahb 2.0
AMBA Ahb 2.0AMBA Ahb 2.0
AMBA Ahb 2.0
 
LPC 2148 ARM MICROCONTROLLER
LPC 2148 ARM MICROCONTROLLERLPC 2148 ARM MICROCONTROLLER
LPC 2148 ARM MICROCONTROLLER
 
LECT 1: ARM PROCESSORS
LECT 1: ARM PROCESSORSLECT 1: ARM PROCESSORS
LECT 1: ARM PROCESSORS
 

Viewers also liked

Data bit rate_by_abhishek_wadhwa
Data bit rate_by_abhishek_wadhwaData bit rate_by_abhishek_wadhwa
Data bit rate_by_abhishek_wadhwa
Abhishek Wadhwa
 

Viewers also liked (20)

MIPI DevCon 2016: Meeting Demands for Camera and Sensor Interfaces in IoT and...
MIPI DevCon 2016: Meeting Demands for Camera and Sensor Interfaces in IoT and...MIPI DevCon 2016: Meeting Demands for Camera and Sensor Interfaces in IoT and...
MIPI DevCon 2016: Meeting Demands for Camera and Sensor Interfaces in IoT and...
 
MIPI DevCon 2016: Implementing MIPI C-PHY
MIPI DevCon 2016: Implementing MIPI C-PHYMIPI DevCon 2016: Implementing MIPI C-PHY
MIPI DevCon 2016: Implementing MIPI C-PHY
 
MIPI DevCon 2016: MIPI C-PHY - Introduction From Basic Theory to Practical Im...
MIPI DevCon 2016: MIPI C-PHY - Introduction From Basic Theory to Practical Im...MIPI DevCon 2016: MIPI C-PHY - Introduction From Basic Theory to Practical Im...
MIPI DevCon 2016: MIPI C-PHY - Introduction From Basic Theory to Practical Im...
 
MIPI DevCon 2016: Using MIPI Conformance Test Suites for Pre-Silicon Verifica...
MIPI DevCon 2016: Using MIPI Conformance Test Suites for Pre-Silicon Verifica...MIPI DevCon 2016: Using MIPI Conformance Test Suites for Pre-Silicon Verifica...
MIPI DevCon 2016: Using MIPI Conformance Test Suites for Pre-Silicon Verifica...
 
MIPI DevCon 2016: Accelerating UFS and MIPI UniPro Interoperability Testing
MIPI DevCon 2016: Accelerating UFS and MIPI UniPro Interoperability TestingMIPI DevCon 2016: Accelerating UFS and MIPI UniPro Interoperability Testing
MIPI DevCon 2016: Accelerating UFS and MIPI UniPro Interoperability Testing
 
MIPI DevCon 2016: MIPI D-PHY - Physical Layer Test & Measurement Challenges
MIPI DevCon 2016: MIPI D-PHY - Physical Layer Test & Measurement ChallengesMIPI DevCon 2016: MIPI D-PHY - Physical Layer Test & Measurement Challenges
MIPI DevCon 2016: MIPI D-PHY - Physical Layer Test & Measurement Challenges
 
MIPI DevCon 2016: Key Learnings in Creating the UFS Compliance Test Program
MIPI DevCon 2016: Key Learnings in Creating the UFS Compliance Test ProgramMIPI DevCon 2016: Key Learnings in Creating the UFS Compliance Test Program
MIPI DevCon 2016: Key Learnings in Creating the UFS Compliance Test Program
 
MIPI DevCon 2016: Robust Debug and Conformance Verification Ensures Interoper...
MIPI DevCon 2016: Robust Debug and Conformance Verification Ensures Interoper...MIPI DevCon 2016: Robust Debug and Conformance Verification Ensures Interoper...
MIPI DevCon 2016: Robust Debug and Conformance Verification Ensures Interoper...
 
MIPI DevCon 2016: Versatile Software Solution for MIPI C-PHY TX Testing
MIPI DevCon 2016: Versatile Software Solution for MIPI C-PHY TX TestingMIPI DevCon 2016: Versatile Software Solution for MIPI C-PHY TX Testing
MIPI DevCon 2016: Versatile Software Solution for MIPI C-PHY TX Testing
 
MIPI DevCon 2016: Image Sensor and Display Connectivity Disruption
MIPI DevCon 2016: Image Sensor and Display Connectivity DisruptionMIPI DevCon 2016: Image Sensor and Display Connectivity Disruption
MIPI DevCon 2016: Image Sensor and Display Connectivity Disruption
 
MIPI DevCon 2016: How to Use the VESA Display Stream Compression (DSC) Standa...
MIPI DevCon 2016: How to Use the VESA Display Stream Compression (DSC) Standa...MIPI DevCon 2016: How to Use the VESA Display Stream Compression (DSC) Standa...
MIPI DevCon 2016: How to Use the VESA Display Stream Compression (DSC) Standa...
 
MIPI DevCon 2016: MIPI Beyond Mobile - An Industrial Computer-on-Module Case ...
MIPI DevCon 2016: MIPI Beyond Mobile - An Industrial Computer-on-Module Case ...MIPI DevCon 2016: MIPI Beyond Mobile - An Industrial Computer-on-Module Case ...
MIPI DevCon 2016: MIPI Beyond Mobile - An Industrial Computer-on-Module Case ...
 
InfiniBand Management on localhost
InfiniBand Management on localhostInfiniBand Management on localhost
InfiniBand Management on localhost
 
MIPI DevCon 2016: MIPI DisCo and ACPI - Streamlining MIPI Component Integration
MIPI DevCon 2016: MIPI DisCo and ACPI - Streamlining MIPI Component IntegrationMIPI DevCon 2016: MIPI DisCo and ACPI - Streamlining MIPI Component Integration
MIPI DevCon 2016: MIPI DisCo and ACPI - Streamlining MIPI Component Integration
 
MIPI DevCon 2016: How Has the Mobile Evolution Influenced Other Industries?
MIPI DevCon 2016: How Has the Mobile Evolution Influenced Other Industries?MIPI DevCon 2016: How Has the Mobile Evolution Influenced Other Industries?
MIPI DevCon 2016: How Has the Mobile Evolution Influenced Other Industries?
 
MIPI DevCon 2016: How MIPI Debug Specifications Help Me to Develop System SW
MIPI DevCon 2016: How MIPI Debug Specifications Help Me to Develop System SWMIPI DevCon 2016: How MIPI Debug Specifications Help Me to Develop System SW
MIPI DevCon 2016: How MIPI Debug Specifications Help Me to Develop System SW
 
Data bit rate_by_abhishek_wadhwa
Data bit rate_by_abhishek_wadhwaData bit rate_by_abhishek_wadhwa
Data bit rate_by_abhishek_wadhwa
 
Digital Communication Principle
Digital Communication PrincipleDigital Communication Principle
Digital Communication Principle
 
MIPI DevCon 2016: Testing of MIPI High Speed PHY Standard Implementations
MIPI DevCon 2016: Testing of MIPI High Speed PHY Standard ImplementationsMIPI DevCon 2016: Testing of MIPI High Speed PHY Standard Implementations
MIPI DevCon 2016: Testing of MIPI High Speed PHY Standard Implementations
 
MIPI DevCon 2016: Accelerating Software Development for MIPI CSI-2 Cameras
MIPI DevCon 2016: Accelerating Software Development for MIPI CSI-2 CamerasMIPI DevCon 2016: Accelerating Software Development for MIPI CSI-2 Cameras
MIPI DevCon 2016: Accelerating Software Development for MIPI CSI-2 Cameras
 

Similar to MIPI DevCon 2016: MIPI I3C High Data Rate Modes

Introduction to the Arduino
Introduction to the ArduinoIntroduction to the Arduino
Introduction to the Arduino
Wingston
 
Microprocessor and Application (8085)
Microprocessor and Application (8085)Microprocessor and Application (8085)
Microprocessor and Application (8085)
ufaq kk
 

Similar to MIPI DevCon 2016: MIPI I3C High Data Rate Modes (20)

MPI DevCon Hsinchu City 2017: MIPI I3C High Data Rate Modes: How to Speed up ...
MPI DevCon Hsinchu City 2017: MIPI I3C High Data Rate Modes: How to Speed up ...MPI DevCon Hsinchu City 2017: MIPI I3C High Data Rate Modes: How to Speed up ...
MPI DevCon Hsinchu City 2017: MIPI I3C High Data Rate Modes: How to Speed up ...
 
communication interfaces-Embedded real time systems
communication interfaces-Embedded real time systemscommunication interfaces-Embedded real time systems
communication interfaces-Embedded real time systems
 
Embedded systems and robotics by scmandota
Embedded systems and robotics by scmandotaEmbedded systems and robotics by scmandota
Embedded systems and robotics by scmandota
 
An Implementation of I2C Slave Interface using Verilog HDL
An Implementation of I2C Slave Interface using Verilog HDLAn Implementation of I2C Slave Interface using Verilog HDL
An Implementation of I2C Slave Interface using Verilog HDL
 
Assignment
AssignmentAssignment
Assignment
 
This Document gives a complete understanding of the I3C protocol which is int...
This Document gives a complete understanding of the I3C protocol which is int...This Document gives a complete understanding of the I3C protocol which is int...
This Document gives a complete understanding of the I3C protocol which is int...
 
Design &Implementation of I2C Master Controller Interfaced With RAM Using VHDL
Design &Implementation of I2C Master Controller Interfaced With RAM Using VHDLDesign &Implementation of I2C Master Controller Interfaced With RAM Using VHDL
Design &Implementation of I2C Master Controller Interfaced With RAM Using VHDL
 
Introduction to the Arduino
Introduction to the ArduinoIntroduction to the Arduino
Introduction to the Arduino
 
Computer System and Architecture
Computer System and ArchitectureComputer System and Architecture
Computer System and Architecture
 
chapter-4-microprocessor-interfacing.pptx
chapter-4-microprocessor-interfacing.pptxchapter-4-microprocessor-interfacing.pptx
chapter-4-microprocessor-interfacing.pptx
 
Microcontroller part 4
Microcontroller part 4Microcontroller part 4
Microcontroller part 4
 
Introduction to embedded systems
Introduction to embedded systemsIntroduction to embedded systems
Introduction to embedded systems
 
Can network development using arm cortex m3
Can network development using arm cortex m3Can network development using arm cortex m3
Can network development using arm cortex m3
 
Can network development using arm cortex m3
Can network development using arm cortex m3Can network development using arm cortex m3
Can network development using arm cortex m3
 
Microprocessor and Application (8085)
Microprocessor and Application (8085)Microprocessor and Application (8085)
Microprocessor and Application (8085)
 
UNIT- 3.pptx
UNIT- 3.pptxUNIT- 3.pptx
UNIT- 3.pptx
 
An Overview of LPC2101/02/03
An Overview of LPC2101/02/03An Overview of LPC2101/02/03
An Overview of LPC2101/02/03
 
Get it right the first time lpddr4 validation and compliance test
Get it right the first time lpddr4 validation and compliance testGet it right the first time lpddr4 validation and compliance test
Get it right the first time lpddr4 validation and compliance test
 
One-Wire-Serial-Communication.pdf
One-Wire-Serial-Communication.pdfOne-Wire-Serial-Communication.pdf
One-Wire-Serial-Communication.pdf
 
Lect 3 ARM PROCESSOR ARCHITECTURE
Lect 3  ARM PROCESSOR ARCHITECTURE Lect 3  ARM PROCESSOR ARCHITECTURE
Lect 3 ARM PROCESSOR ARCHITECTURE
 

More from MIPI Alliance

More from MIPI Alliance (20)

MIPI DevCon 2021: MIPI I3C Under the Spotlight: A Fireside Chat with the I3C ...
MIPI DevCon 2021: MIPI I3C Under the Spotlight: A Fireside Chat with the I3C ...MIPI DevCon 2021: MIPI I3C Under the Spotlight: A Fireside Chat with the I3C ...
MIPI DevCon 2021: MIPI I3C Under the Spotlight: A Fireside Chat with the I3C ...
 
MIPI DevCon 2021: MIPI I3C Application and Validation Models for IoT Sensor N...
MIPI DevCon 2021: MIPI I3C Application and Validation Models for IoT Sensor N...MIPI DevCon 2021: MIPI I3C Application and Validation Models for IoT Sensor N...
MIPI DevCon 2021: MIPI I3C Application and Validation Models for IoT Sensor N...
 
MIPI DevCon 2021: MIPI I3C interface for the ETSI Smart Secure Platform
MIPI DevCon 2021: MIPI I3C interface for the ETSI Smart Secure PlatformMIPI DevCon 2021: MIPI I3C interface for the ETSI Smart Secure Platform
MIPI DevCon 2021: MIPI I3C interface for the ETSI Smart Secure Platform
 
MIPI DevCon 2021: MIPI Security for Automotive and IoT – Initial Focus on MASS
MIPI DevCon 2021: MIPI Security for Automotive and IoT – Initial Focus on MASSMIPI DevCon 2021: MIPI Security for Automotive and IoT – Initial Focus on MASS
MIPI DevCon 2021: MIPI Security for Automotive and IoT – Initial Focus on MASS
 
MIPI DevCon 2021: MIPI HTI, PTI and STP: The Bases for Next-Generation Online...
MIPI DevCon 2021: MIPI HTI, PTI and STP: The Bases for Next-Generation Online...MIPI DevCon 2021: MIPI HTI, PTI and STP: The Bases for Next-Generation Online...
MIPI DevCon 2021: MIPI HTI, PTI and STP: The Bases for Next-Generation Online...
 
MIPI DevCon 2021: Meeting the Needs of Next-Generation Displays with a High-P...
MIPI DevCon 2021: Meeting the Needs of Next-Generation Displays with a High-P...MIPI DevCon 2021: Meeting the Needs of Next-Generation Displays with a High-P...
MIPI DevCon 2021: Meeting the Needs of Next-Generation Displays with a High-P...
 
MIPI DevCon 2021: MIPI CSI-2 v4.0 Panel Discussion with the MIPI Camera Worki...
MIPI DevCon 2021: MIPI CSI-2 v4.0 Panel Discussion with the MIPI Camera Worki...MIPI DevCon 2021: MIPI CSI-2 v4.0 Panel Discussion with the MIPI Camera Worki...
MIPI DevCon 2021: MIPI CSI-2 v4.0 Panel Discussion with the MIPI Camera Worki...
 
MIPI DevCon 2021: MIPI D-PHY and MIPI CSI-2 for IoT: AI Edge Devices
MIPI DevCon 2021: MIPI D-PHY and MIPI CSI-2 for IoT: AI Edge DevicesMIPI DevCon 2021: MIPI D-PHY and MIPI CSI-2 for IoT: AI Edge Devices
MIPI DevCon 2021: MIPI D-PHY and MIPI CSI-2 for IoT: AI Edge Devices
 
MIPI DevCon 2021: Enabling Long-Reach MIPI CSI-2 Connectivity in Automotive w...
MIPI DevCon 2021: Enabling Long-Reach MIPI CSI-2 Connectivity in Automotive w...MIPI DevCon 2021: Enabling Long-Reach MIPI CSI-2 Connectivity in Automotive w...
MIPI DevCon 2021: Enabling Long-Reach MIPI CSI-2 Connectivity in Automotive w...
 
MIPI DevCon 2021: Latest Developments within MIPI Automotive SerDes Solutions...
MIPI DevCon 2021: Latest Developments within MIPI Automotive SerDes Solutions...MIPI DevCon 2021: Latest Developments within MIPI Automotive SerDes Solutions...
MIPI DevCon 2021: Latest Developments within MIPI Automotive SerDes Solutions...
 
MIPI DevCon 2021: The MIPI Specification Roadmap: Driving Advancements in Mob...
MIPI DevCon 2021: The MIPI Specification Roadmap: Driving Advancements in Mob...MIPI DevCon 2021: The MIPI Specification Roadmap: Driving Advancements in Mob...
MIPI DevCon 2021: The MIPI Specification Roadmap: Driving Advancements in Mob...
 
MIPI DevCon 2021: State of the Alliance
MIPI DevCon 2021: State of the AllianceMIPI DevCon 2021: State of the Alliance
MIPI DevCon 2021: State of the Alliance
 
MIPI DevCon 2020 | Snapshot of MIPI RFFE v3.0 from a System-Architecture Per...
MIPI DevCon 2020 |  Snapshot of MIPI RFFE v3.0 from a System-Architecture Per...MIPI DevCon 2020 |  Snapshot of MIPI RFFE v3.0 from a System-Architecture Per...
MIPI DevCon 2020 | Snapshot of MIPI RFFE v3.0 from a System-Architecture Per...
 
MIPI DevCon 2020 | The Story Behind the MIPI I3C HCI Driver for Linux
MIPI DevCon 2020 | The Story Behind the MIPI I3C HCI Driver for LinuxMIPI DevCon 2020 | The Story Behind the MIPI I3C HCI Driver for Linux
MIPI DevCon 2020 | The Story Behind the MIPI I3C HCI Driver for Linux
 
MIPI DevCon 2020 | Interoperability Challenges and Solutions for MIPI I3C
MIPI DevCon 2020 | Interoperability Challenges and Solutions for MIPI I3CMIPI DevCon 2020 | Interoperability Challenges and Solutions for MIPI I3C
MIPI DevCon 2020 | Interoperability Challenges and Solutions for MIPI I3C
 
MIPI DevCon 2020 | Why an Integrated MIPI C-PHY/D-PHY IP is Essential
MIPI DevCon 2020 | Why an Integrated MIPI C-PHY/D-PHY IP is EssentialMIPI DevCon 2020 | Why an Integrated MIPI C-PHY/D-PHY IP is Essential
MIPI DevCon 2020 | Why an Integrated MIPI C-PHY/D-PHY IP is Essential
 
MIPI DevCon 2020 | MIPI to Bluetooth LE: Leveraging Mobile Technology for Wir...
MIPI DevCon 2020 | MIPI to Bluetooth LE: Leveraging Mobile Technology for Wir...MIPI DevCon 2020 | MIPI to Bluetooth LE: Leveraging Mobile Technology for Wir...
MIPI DevCon 2020 | MIPI to Bluetooth LE: Leveraging Mobile Technology for Wir...
 
MIPI DevCon 2020 | MIPI Alliance: Enabling the IoT Opportunity
MIPI DevCon 2020 | MIPI Alliance: Enabling the IoT Opportunity MIPI DevCon 2020 | MIPI Alliance: Enabling the IoT Opportunity
MIPI DevCon 2020 | MIPI Alliance: Enabling the IoT Opportunity
 
MIPI DevCon 2020 | MIPI DevCon 2020 | How MIPI Interfaces Solve Challenges in...
MIPI DevCon 2020 | MIPI DevCon 2020 | How MIPI Interfaces Solve Challenges in...MIPI DevCon 2020 | MIPI DevCon 2020 | How MIPI Interfaces Solve Challenges in...
MIPI DevCon 2020 | MIPI DevCon 2020 | How MIPI Interfaces Solve Challenges in...
 
MIPI DevCon 2020 | MASS: Automotive Displays Using VDC-M Visually Lossless C...
MIPI DevCon 2020 |  MASS: Automotive Displays Using VDC-M Visually Lossless C...MIPI DevCon 2020 |  MASS: Automotive Displays Using VDC-M Visually Lossless C...
MIPI DevCon 2020 | MASS: Automotive Displays Using VDC-M Visually Lossless C...
 

MIPI DevCon 2016: MIPI I3C High Data Rate Modes

  • 1. I3C High Data Rate modes – from spec to real life devices Alex Passi Sr. Principal Software Engineer Cadence Design Systems
  • 2. Introduction The MIPI Alliance I3C standardized sensor interface provides a number of significant advantages over existing digital sensor interfaces. This paper will briefly present I3C interface basics and will focus on various verification aspects of I3C High Data Rate modes through an advanced verification methodology based on coverage driven verification and real-life scenarios 2
  • 3. Single Data Rate Mode •  Single Data Rate (SDR) Mode is the default mode used by I3C •  I3C Bus always initializes in SDR Mode •  Maximum data rate – 12.5 Mbps •  SDR is almost similar to I2C, but introduces many new features not present in I2C •  SCL wire operates as a clock signal, while the data is transferred using SDA wire 3
  • 4. SDR Basics 4 •  START Condition: SCL = High, SDA = High Low •  STOP Condition: SCL = High, SDA = Low High •  Transmitter writes data bit to SDA on falling edge of SCL •  Receiver(s) read data bit on rising edge of SCL
  • 5. High Data Rate Modes •  I3C High Data Rate modes allow to transfer more data while preserving SDR Frequency •  There are three I3C HDR modes: •  HDR-DDR – Double Data Rate mode •  HDR-TSP – Ternary Symbol Pure-bus mode •  HDR-TSL – Ternary Symbol Legacy-inclusive-bus mode •  I3C HDR modes can be used only on: •  Pure I3C bus – no I2C devices present on the bus •  Mixed Fast Bus – I2C devices equipped with 50ns Spike Filter •  I3C Bus cannot be initialized in any of HDR modes •  While in HDR mode, Repeated START and STOP are “replaced” with HDR Restart and HDR Exit patterns 5
  • 6. HDR Restart and HDR Exit Patterns HDR Restart •  Separates HDR transactions •  Serves as “recovery point” in case of any error detected while in HDR mode HDR Exit •  Must be detected by al I3C devices, including SDR-only devices •  Separates HDR transactions •  Serves as “recovery point” in case of HDR error detection as well as S0 and S1 error detection 6
  • 7. Verification Environment – Master DUT Passive Master verification component (VC) monitors outgoing traffic generated by I3C Master DUT, issues alerts about detected errors and collects coverage 7 Active I3C/I2C Slave verification components emulate I3C/I2C devices present on the bus. These components should be able to emulate both proper and erroneous behavior, in order to test the ability of DUT to recover from errors in accordance with I3C spec requirements
  • 8. Verification Environment – Slave DUT Active I3C Master verification component emulates I3C Master device. This component should be able to manage I3C bus. In addition it should be able to emulate erroneous behavior, in order to test the DUT’s error recovery ability 8 Passive Slave verification component monitors outgoing traffic generated by DUT, issues alerts about detected errors and collects coverage Active I3C Slave verification components emulate additional slave devices present on the bus, mostly for testing of arbitration- related aspects
  • 9. I3C HDR-DDR – Main Features •  I3C Dual Data Rate (HDR-DDR) mode allows to increase data rate up to 25 Mbps by reading data bits on both edges of SCL clock signal. •  The I3C Bus enters HDR-DDR mode upon transmission of ENTHDR0 Common Command Code and exits it when HDR Exit pattern is observed •  Data is transferred in messages that consist of Command Word, one or more Data Words and CRC Word •  Allows 128 Write commands and 64 Read commands 9
  • 12. I3C HDR-DDR – Main Verification Points 1.  “Invisibility” of HDR-DDR traffic to I2C devices present on the bus 2.  Correct encoding and decoding of data 3.  Termination of Read operation by Master 4.  Error detection and recovery 5.  For designs not supporting HDR-DDR – proper ignoring of all HDR-DDR traffic 12
  • 13. Verification Scenarios for HDR-DDR Slave DUT 1.  General Write-Read – verifies proper operation of Slave DUT in HDR- DDR mode 2.  Read Terminated by Master – verifies DUT ability to recognize and accept read termination by I3C Master 3.  Write with invalid preamble – Active Master VC generates invalid Preamble in different kinds of DDR Words written to Slave DUT, in order to test DUT ability to detect, ignore and recover from erroneous transmission 4.  Write with invalid parity - Active Master VC generates invalid parity bits in different kinds of DDR Words written to Slave DUT, in order to test DUT ability to detect, ignore and recover from erroneous transmission 5.  Write with invalid CRC5 - Active Master VC generates invalid CRC5 Word in DDR Write Message, in order to test DUT ability to detect, ignore and recover from erroneous transmission 13
  • 14. Verification Scenarios for HDR-DDR Master DUT 1.  General Write-Read – verifies proper operation of Master DUT in HDR- DDR mode 2.  Read Terminated by Master – verifies DUT ability to terminate read transaction 3.  Read with invalid preamble – Active Slave VC generates invalid DDR Word Preamble in order to test DUT ability to detect and recover from preamble error. Invalid preamble should be generated in all types of DDR Words, e.g. Data Word and CRC Word 4.  Read with invalid parity - Active Slave VC generates invalid parity bits in Data Word in order to test DUT ability to detect and recover from parity error. Invalid parity should be injected at both parity bit positions 5.  Read with invalid CRC5 - Active Slave VC generates invalid CRC5 Word in order to test DUT ability to detect and recover from CRC5 error 14
  • 15. I3C HDR-TSP – Main Features •  I3C Ternary Symbol for Pure Bus (HDR-TSP) mode allows to increase significantly data rate by using both SDA and SCL wires for data transfer •  HDR-TSP is not allowed on mixed I3C-I2C bus •  The I3C Bus enters HDR-DDR mode upon transmission of ENTHDR1 Common Command Code and exits it when HDR Exit pattern is observed •  Data is transferred in messages that consist of Command Word and one or more Data Words •  Allows 128 Write commands and 64 Read commands 15
  • 16. Ternary Coding •  Minimum transfer unit is named Symbol and represents a single change in wires levels: •  Every 12 Ternary Symbols represent 16 bits of data and 2 parity bits •  Every 12 Ternary Symbols are subdivided into 6 pairs of symbols while a single pair cannot have two “2” symbols 16 Symbol Value SCL Change SDA Change 0 Yes Yes 1 Yes No 2 No Yes
  • 17. “Simultaneous” Signals Change I3C spec allows a skew of up to 12.8ns between SDA and SCL wires for transmission of a single symbol. This fact should be taken into account during design stage and during design verification 17
  • 20. I3C HDR-TSP – Main Verification Points 1.  Correct encoding and decoding of data 2.  Proper handling of Master-to-Slave and Slave-to- Master Bus Turnaround 3.  Error detection and recovery 4.  For designs not supporting HDR-TSP – proper ignoring of all HDR-TSP traffic 20
  • 21. Verification Scenarios for HDR-DDR Slave DUT 1.  General Write-Read – verifies proper operation of Slave DUT in HDR-TSP mode 2.  Invalid pair of symbols – Active Master VC generates illegally two consecutive “2” symbols, in order to test DUT ability to detect, ignore and recover from erroneous transmission 3.  Write with invalid parity - Active Master VC generates invalid parity bits in different kinds of Ternary Words written to Slave DUT, in order to test DUT ability to detect, ignore and recover from erroneous transmission 4.  Slave-to-Master Bus Turnaround tests 21
  • 22. Verification Scenarios for HDR-DDR Master DUT 1.  General Write-Read – verifies proper operation of Slave DUT in HDR-TSP mode 2.  Invalid pair of symbols – Active Slave VC generates illegally two consecutive “2” symbols, in order to test DUT ability to detect, ignore and recover from erroneous transmission 3.  Read with invalid parity – Active Slave VC generates invalid parity bits in Read Data Ternary Words written to Master DUT, in order to test DUT ability to detect, ignore and recover from erroneous transmission 4.  Slave-to-Master Bus Turnaround tests 22
  • 23. I3C HDR-TSL – Main Features I3C Ternary Symbol for Legacy-inclusive-Bus (HDR-TSL) allows to increase data rate on Mixed Fast I3C Bus HDR-TSL operates similarly to HDR-TSP with the following differences: 1.  HDR-TSL must operate faster than 10MHz while HDR-TSP has no such limitation 2.  During HDR-TSL SCL it is not allowed to stay on High position longer than ~40ns. As a result a Legacy I2C Slave with a 50ns Spike filter sees SCL only as Low. This is achieved by transmission of dummy symbols whenever it is required 23
  • 24. I3C HDR-TSL – Main Verification Points In addition to HDR-TSP verification points, the following should be verified for HDR-TSL mode: 1.  SCL staying in High position not longer than ~40ns 2.  Proper insertion of dummy symbols 3.  Proper encoding/decoding of data with dummy symbols 24