I2C Controller's verilog,VHDL Source code,Testdench
I2C project properties
Category :: Communication controller
Language :: Verilog
Standard :: Wishbone compliant core
Development status :: Production/Stable
Description
I2C is a two-wire, bidirectional serial bus that provides a simple, efficient method of data exchange between devices. It is primarily used in the consumer and telecom market sector and as a board level communications protocol.
The OpenCores I2C Master Core provides an interface between a Wishbone Master and an I2C bus.
It is an easy path to add I2C capabilities to any Wishbone compatible system.
You can find the I2C specifications on Phillips web Site.
Work was originally started by Frédéric Renet. You can find his webpage here .
Features
Compatible with Philips I2C bus standard
Multi-Master Operation
Software programmable timing
Clock stretching and wait state generation
Interrupt or bit-polling driven byte-by-byte data-transfers
Arbitration lost interrupt, with automatic transfer cancelation
(Repeated)Start/Stop signal generation/detection
Bus busy detection
Supports 7 and 10bit addressing
Fully static and synchronous design
Fully synthesisable