用verilog描述的i2c代码二线I2CCMOS串行EEPROM的设计是根据I2C协议,以及EEPROMAT24C02的datasheet来进行设计的。
基于I2C的设计很多,归根到底是控制SDA线及SCL线来让设备间进行通信。
它有固定的帧格式。
本设计中Sda数据线与各模块是通过寄存器来进行数据的输入输出。
EEPROM模块是进行行为级描述的,它是根据具体芯片来写的模仿逻辑,不可综合。
EEPROM_WR是读写控制程序,是通过开关组合电路和控制时序电路组成的。
开关组合电路其实就是选择在SDA及DATA上的数据,根据信号来选择输出。
具体的控制时序电路就是一个状态机来完成。
Signal模块是测试用的,以前只接触过一些简单的testbench,在这次实验中,由于testbench理解的不透彻,用modelsim仿真的时候地址和数据线处于不定态,但是整个的时序是正确的。
1