I2C Slave in Full Icarus Verilog
i2cSlave is a minimalist I2C slave IP core that provides the basic framework for the implementation of custom I2C slave devices. The core provides a means to read and write up to 256 8-bit registers. These registers can be connected to the users custom logic, thus implementing a simple control and status interface.
A full Icarus Verilog test bench is available.
Test it for yourself, using the free Icarus Verilog simulator and the free GTKWave wave form viewer. Only 6 simple steps!
- Download and install Icarus Verilog.
- Download and install GTKWave.
- Download the project files.
- Execute sim/build_icarus.bat and sim/run_icarus.bat
- Execute sim/viewWave.bat and check out the results.
- In GTKWave, use "Search >> Signal Search Tree" to view more waves.
- Standalone. No microprocessor required.
- Create your own custom I2C peripheral.
- Only 143 macrocells in CPLD.
- I2C bus speeds of 100Kbps and 400Kbps.
- Easily configurable for different input clock frequencies.
- Full Icarus Verilog test bench.
- Tested in FPGA
- Tested in simulation