Contact Us
Overview

SmartDV’s I2C Synthesizable Transactor is a fully featured Inter-Integrated Circuit bus model purpose-built for hardware emulation and FPGA prototyping environments requiring fast, accurate, and highly configurable I2C Master and Slave behavior during pre-silicon validation and software bring-up. Fully compliant with I2C v7.0, it delivers complete Master and Slave functionality with the flexibility to operate as Master only, Slave only, or both simultaneously, across Standard, Fast, Fast-mode Plus, and High-speed operation, giving validation teams a drop-in synthesizable I2C transactor ready for rapid integration into emulation and prototyping flows for sensor, EEPROM, and peripheral system validation.

Designed for the speed and visibility demands of emulation and FPGA prototyping rather than ASIC tape-out, the transactor emphasizes fast bring-up, fine-grained controllability, and on-the-fly protocol checking over area or power optimization. It supports 7-bit and 10-bit configurable slave addressing, complex repeated start command sequences, multi-master bus arbitration, multiple slave support, wait state insertion by both master and slave, START byte generation and handling, and bus-accurate timing, enabling validation teams to exercise corner-case I2C behavior that is difficult to reach with production RTL alone.

Built for fast compile times and efficient resource utilization on hardware emulation and FPGA prototyping platforms, the transactor is fully synthesizable and platform-independent, deploying without modification across any major emulation or prototyping environment. Its built-in AT24C1024 EEPROM memory model, comprehensive error injection capabilities, and complete testsuite covering every feature of the I2C specification enable rapid deployment for early software bring-up and system-level validation regardless of the underlying emulation platform.

Request Data Sheet
I2C Transactor
Key Features
  • Full I2C Master and Slave Model – Complete Master and Slave behavior per I2C v7.0 with flexible operation as Master, Slave, or both, supporting Standard, Fast, Fast-mode Plus, and High-speed clocking
  • Comprehensive Transfer Support – Start, repeat start, and stop for all possible transfers with 7-bit and 10-bit configurable slave addressing and complex repeated start command sequences
  • Bus Traffic Testing – Read, Write, General Call, and CBUS bus traffic testing for comprehensive I2C protocol validation
  • Multi-Master Arbitration – Bus arbitration for multi-master configurations with multiple slave support and clock synchronization
  • Wait State and Timing Control – Wait state insertion by both slave and master with bus-accurate timing and START byte generation and handling
  • Built-In EEPROM Memory Model – AT24C1024 EEPROM memory model supporting 256-byte page write mode with random and sequential read modes
  • Comprehensive Error Injection – Master abort mid-access, master ACK on last read, master continuation after NACK, random/periodic clock stretching, random write NACK insertion, undersize/oversize errors, and glitch insertion on clock and data
  • Read Data Comparison – Automatic comparison of read data with expected results for streamlined validation
  • On-the-Fly Protocol Checking – Real-time protocol and data checking with testbench notification of transactions, warnings, timing, and protocol violations, plus status counters for various bus events
  • Complete Test Suite – Comprehensive testsuite covering every feature of the I2C specification for thorough out-of-the-box validation
Compliance and Compatibility
  • Fully compliant with I2C v7.0 specification (NXP UM10204)
  • Compatible with AT24C1024 EEPROM device modeling
  • Fully synthesizable and platform-independent, deployable on any hardware emulation or FPGA prototyping platform
  • Vendor-agnostic integration suitable for Synopsys, Cadence, Siemens, and custom emulation and prototyping environments
  • Configurable interface supporting integration into custom emulation and prototyping testbenches

Request Datasheet