Skip to main content
Skip to main content

I2C CONTROLLER IIP

Inter-Integrated Circuit Controller IIP

I2C CONTROLLER IIP

Overview

COMPETITIVE ADVANTAGE

The SivaKali Tech I2C CONTROLLER IIP is a highly reliable, silicon-proven IP core designed for high-performance system integration. Engineered to meet strict industry compliance standards, this core offers exceptional flexibility and ease of integration into both ASIC and FPGA designs. The backbone of system control and peripheral connectivity for any SoC. Validated on leading FPGA platforms and foundry nodes, it provides a low-risk, time-to-market advantage for developers.

COMPETITIVE ADVANTAGE

Ultra-Low Gate Count: Extremely efficient implementation, negligible impact on total SoC area.

Simple Integration: Standard AMBA (APB/AHB) or AXI-Lite interfaces for plug-and-play system connectivity.

Proven Reliability: Thousands of production deployments ensuring rock-solid stability.

Driver Support: Includes bare-metal and Linux drivers to accelerate software development.

FEATURES
  • Compliant with I2C version 7.0 specification.
  • Full I2C Controller Functionality.
  • Two wire serial interface from 100 KHz to 1 MHz with the following Data rates supported:
    • Standard mode - 100Kbits/s
    • Fast mode - 400Kbits/s
    • Fast plus mode - 1 Mbits/s
    • high-speed mode - 3.4 Mbits/s
    • Ultra Fast mode - 5 Mbits/s (Unidirectional data transfer)
  • Supports command code Protocols
    • Write Byte/Word
    • Read Byte/Word
    • Process Call
    • Block Write/Read
    • Block Write-Block Read Process Call
    • Write 32 Protocol
    • Read 32 Protocol
    • Write 64 Protocol
    • Read 64 Protocol
  • Supports Non command code Protocols
    • Quick Command Protocol
    • Send Byte Protocol
    • Receive Byte Protocol
  • Supports I2C 7/10 bit addressing Write/Read command
  • Supports I2C General call addressing
  • Supports START byte generation and handling
  • Supports Bus clear feature
  • Supports Device ID feature
  • Supports CBUS, SMBUS, PMBUS Compactability
  • Supports Address Resolution Protocol
  • Supports SMB Alert signal and SMB Suspend signal
  • Supports Packet Error Checking
  • Fully synthesizable
  • Static synchronous design
  • Positive edge clocking and no internal tri-states
  • Scan test ready
  • Simple host interfaces enable straightforward integration with microcontrollers and application processors
FUNCTIONAL DESCRIPTION

CORE: Core module interconnects all the sub-modules in the Controller IP. Ports of core module are the top level ports for the Controller IP.

PRESCALAR: Prescaler module is used to divide the system clock based on the given prescaler value to derive the serial clock (SCL) input for I2C.

MFSM: Master FSM module process the commands once pending request from CSR and the bus is enabled. For Example: I2C write, Master FSM will send Slave address, R/W bit, Write data and waits for ACK/NACK from Slave.

SFSM: SFSM module process I2C/SMBUS Slave commands once start is detected. SFSM responds to I2C/SMBUS Slave commands (ACK/NACK for Write transfer and Read data for read transfer) only if Slave address is matched with the address driven on the i_sda bus by the Master.

ARBITER: Arbiter Module is to arbitrate from which module has to access FIFO data from the CSR Module. When the Master acts as Current Master, Master FSM module will access the FIFO data from the CSR Module. When the Master acts as Non-Current Master, Slave FSM module will access the FIFO data from the CSR Module.

CSR: CSR module has all the registers. The contents of the registers are decoded and assigned to its respective output ports based on its functionality.

DMA: This module implements I2C controller functionality. Based on configuring DMA_EN we can enable the DMA process. DMA module fetches data from DMA memory to process and loads the sampled data into DMA memory with use of SoC Master Interface.

START DETECTION: Start module detects the start condition on bus based on SDA and SCL line. A HIGH to LOW transition on the SDA line while SCL is HIGH defines a START condition. Start module detects the start condition on I2C bus. Start detect from this module triggers Slave FSM, to process an I2C transaction.

STOP DETECTION: Stop module detects the stop condition on bus based on SDA and SCL line. A LOW to HIGH transition on the SDA line while SCL is HIGH defines a STOP condition. Stop module detects the stop condition on I2C bus.

ASIC AND FPGA IMPLEMENTATION
ASIC TechnologyLogic ResourcesClock Frequency
TSMC 12nm112.77K50MHz
TSMC 28nm70.10K50MHz
TSMC 90nm100.41K50MHz
TSMC 130nm100.41K50MHz
TSMC 180nm103.45K50MHz
GF 180nm75.47K50MHz
UMSC 55nm73.80K50MHz
SMIC 40nm120.71K50MHz

FPGA Device and FamilyLogic ResourcesClock Frequency
AMD Xilinx Genesys251685 LUT's50MHz

LICENSING OPTIONS
  • Single Site license for regional development teams.
  • Multi-Site license for global corporate deployments.
  • Single Design license for specific project cost-efficiency.
  • Unlimited Design license for high-volume product roadmaps.
DELIVERABLES
  • Complete Verilog/VHDL/SystemC Source Code.
  • UVM-compliant verification environment with a comprehensive test suite.
  • Production-ready synthesis, Lint, and CDC scripts.
  • IP-XACT RDL generated address maps.
  • Standard-compliant firmware and Linux/C driver packages.
  • Detailed documentation: User Guides, Release Notes, and ISO 26262 Safety Manual (SAM)/FMEDA.